x264 через ffmpeg может установить чересстрочный режим двумя способами:
1) через приватный параметр т.е. -x264opts
(или -x264-params
)interlaced=1
2) или через общий флаг libavcodec, -flags +ildct
Я хотел бы преобразовать высококачественное не чересстрочное входное видео в менее качественный, но более широко распространяемый формат H.264 / MP4. Вывод должен иметь некоторые ограничения - в частности: он должен быть чересстрочным !
Я попробовал следующую команду, где mandelbrot
синоним высокого качества ввода:
ffmpeg -hide_banner \ -t 10 -y \ -f lavfi \ -i anullsrc=r=48k:cl=stereo \ -f lavfi \ -i mandelbrot=r=50:size=1920x1080 \ -vf 'interlace=scan=tff:lowpass=complex,format=yuv420p' \ -codec:a aac \ -b:a 128k \ -aac_coder twoloop \ -codec:v libx264 \ -preset veryfast \ -tune animation \ -profile:v high \ -crf 35 \ -level 5.2 \ -x264opts interlaced=1 \ -shortest \ mandelbrot.mp4
Мой ффмпег есть ffmpeg version 3.4.2-2
.
Однако я не уверен, что командная строка верна.
libx264
не обнаруживает чересстрочный вход сам по себе. Я должен вставить -x264opts interlaced=1
.-flags +ilme+ildct
...Можете ли вы подтвердить мои параметры? Большое спасибо.
x264 через ffmpeg может установить чересстрочный режим двумя способами:
1) через приватный параметр т.е. -x264opts
(или -x264-params
)interlaced=1
2) или через общий флаг libavcodec, -flags +ildct
Наконец я получил отличные результаты с
ffmpeg \ -y \ -hide_banner \ -i "$" \ \ [... audio ...]\ \ -vf tinterlace=interleave_top,fieldorder=tff \ -crf 28 \ -preset placebo \ [... more video ...]\ -codec:v libx264 \ \ -f mp4 \ -flags +ildct+ilme \ [... more muxing ...]\ \ "$"