Versuche dies:
ffmpeg -y -i INPUT -r 30000/1001 -b 2M -bt 4M -vcodec libx264 -pass 2 -vpre hq -acodec libfaac -ac 2 -ar 48000 -ab 192k output.mp4
Ich verwende ffmpeg, um verschiedene Arten von Videodateien in mp4s zu konvertieren.
Der Befehl, den ich verwende, funktioniert für die meisten Videodateien, auf die ich gestoßen bin. Wenn er jedoch auf ein m4v stößt, wird die Verarbeitung der Datei nie beendet. Die längste, die ich laufen ließ, sind 4 Stunden auf einem 10-minütigen Videoclip. Was mehr ist, ist, wenn ich es lang genug laufen lasse, die Ausgabedatei größer als die Eingabedatei.
Unten ist der Befehl in seiner Gesamtheit. Dieser Befehl ändert auch die Größe der Videos auf eine Standarddefinition.
/usr/local/bin/ffmpeg -y -i /path/to/input.m4v -y -acodec libfaac -ar 44100 -ab 96k -pass 2 -passlogfile x264-2pass-11164-log -threads 2 -vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -s 720x406 -vf movie=/apps/video_conversion/watermark.png [wm]; [in][wm] overlay=main_w-overlay_w-10:10 [out] -analyzeduration 2000M /path/to/output.mp4
Was mache ich hier falsch? Ich denke, dass das Rechnen zwischen mp4 und m4v leicht ist, wenn man bedenkt, wie ähnlich diese Dateitypen sind.
Ich weiß, dass Sie einfach zwischen mp4 und m4v konvertieren können, indem Sie die Erweiterung ändern. Der Grund, warum ich diesen Befehl auf ffmpeg durchführe, liegt darin, dass er auch in das angegebene Format geändert werden muss.
Versuche dies:
ffmpeg -y -i INPUT -r 30000/1001 -b 2M -bt 4M -vcodec libx264 -pass 2 -vpre hq -acodec libfaac -ac 2 -ar 48000 -ab 192k output.mp4