x264 via ffmpeg kann den Interlaced-Modus auf zwei Arten einstellen:
1) über private Parameter dh -x264opts
(oder -x264-params
)interlaced=1
2) oder über die generische Flagge libavcodec -flags +ildct
Ich möchte ein qualitativ hochwertiges, nicht verschachteltes Eingangsvideo in ein weniger hochwertiges, aber weiter verteilbares H.264 / MP4-Format konvertieren. Die Ausgabe sollte einige Einschränkungen haben - insbesondere: Sie sollte interlaced sein !
Ich habe den folgenden Befehl ausprobiert, wobei auch mandelbrot
eine für die qualitativ hochwertige Eingabe gilt:
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
Mein ffmpeg ist ffmpeg version 3.4.2-2
.
Ich bin jedoch nicht sicher, ob die Befehlszeile korrekt ist.
libx264
erkennt eine verschachtelte Eingabe nicht. Ich habe einzufügen -x264opts interlaced=1
.-flags +ilme+ildct
...Kannst du meine Parameter bestätigen? Vielen Dank.
x264 via ffmpeg kann den Interlaced-Modus auf zwei Arten einstellen:
1) über private Parameter dh -x264opts
(oder -x264-params
)interlaced=1
2) oder über die generische Flagge libavcodec -flags +ildct
Endlich habe ich hervorragende Ergebnisse erzielt
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 ...]\ \ "$"