1

Я хотел бы преобразовать высококачественное не чересстрочное входное видео в менее качественный, но более широко распространяемый формат 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 - это ffmpeg version 3.4.2-2 .

Однако я не уверен, что командная строка верна.

  • libx264 не обнаруживает чересстрочный ввод сам по себе. Я должен вставить -x264opts interlaced=1 .
  • Другие часто задаваемые вопросы рассказывают что-нибудь о -flags +ilme+ildct ...

Можете ли вы подтвердить мои параметры? Большое спасибо.

2 ответа2

1

x264 через ffmpeg может установить чересстрочный режим двумя способами:

1) через частный параметр, то есть -x264opts (или -x264-params) с interlaced=1

2) или через общий флаг libavcodec, -flags +ildct

0

Наконец я получил отличные результаты с

ffmpeg \
 -y \
 -hide_banner \
 -i "${INPUT_FILE}" \
 \
 [... audio ...]\
 \
 -vf tinterlace=interleave_top,fieldorder=tff \
 -crf 28 \
 -preset placebo \
 [... more video ...]\
 -codec:v libx264 \
 \
 -f mp4 \
 -flags +ildct+ilme \
 [... more muxing ...]\
 \
 "${OUTPUT_FILE}"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .