From 4eda37b876957c98e77b296c33d1df0604d9397c Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sat, 25 Apr 2020 11:28:05 +0300 Subject: [PATCH] =?utf8?q?FFmpeg=20=D0=BD=D1=80=D0=B0=D0=B2=D0=B8=D1=82?= =?utf8?q?=D1=81=D1=8F,=20=D0=B6=D0=B0=D0=BB=D0=B5=D1=8E=20=D1=87=D1=82?= =?utf8?q?=D0=BE=20=D1=80=D0=B0=D0=BD=D1=8C=D1=88=D0=B5=20=D0=BD=D0=B5=20?= =?utf8?q?=D1=81=D1=82=D0=B0=D0=BB=20=D1=81=20=D0=BD=D0=B8=D0=BC=20=D0=B7?= =?utf8?q?=D0=BD=D0=B0=D0=BA=D0=BE=D0=BC=D0=B8=D1=82=D1=8C=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Теперь абсолютно все действия, что я раньше делал через mencoder или вот через mpv, умею делать через ffmpeg. Причём многие действия раньше я делал за несколько итераций. А тут тупо удобнее. Хотя, документация далека до совершенства, особенно описание многих параметров. Кодирование VP8/VP9 через libvpx делается почти полным mapping-ом опций, но не всех. Мне проще запускать уж отдельно vpxenc. И двухпроходную Theora тоже не выходит делать, хотя явно нигде не указано что она не может (или явно может). В 8cd23c81f604fa104584e08643c2e88cca1f91cd я говорил про вырезание метаданных. Например вот у меня на входе есть MP4, в котором несколько звуковых дорожек, которые хочу сохранить, субтитры (тоже сохранить), видео дорожка, дорожка с картинками (обложка). Последние не хочу. Само собой никакого MP4 контейнера и метаинформации. Субтитры в MP4TT формате, которые в Matroska не влезут (надо конвертировать), перекодируем в ASS. Вообще это делается и mkvmerge без проблем, но ffmpeg-ом тоже вполне себе просто: ffmpeg -i in.m4v \ -map_metadata -1 \ -map 0:a -map 0:s -map 0:v:0 \ -c:v copy -c:a copy \ -y out.mkv Сдампить PCM звук из файла (который например ALAC/APE/WavPack/и т.д.): ffmpeg -i in out.wav (signed 16-bit LE по умолчанию) ffmpeg -i in -f s24le out.raw (конкретный формат звука) YUV2MPEG2 в YUV444p формате пикселей в stdout и без показа прогресса: ffmpeg -v quiet -i in -f yuv4mpegpipe -pix_fmt yuv444p - В целом всё довольно легко, но постоянно в документации надо сидеть. -- 2.48.1