ffmpeg - h264 in xvid erstellt eine große Datei

3441
fatnic

Ich versuche, ffmpeg zu verwenden, um eine h264 / aac-Videodatei in eine xvid / mp3-Datei zu konvertieren, damit ich sie in meinem ultra-günstigen Mediaplayer abspielen kann.

Im Moment ist die konvertierte Videodatei ZWEIMAL so groß wie das Original mp4. Gibt es eine Möglichkeit, eine kleinere Dateigröße zu erhalten, ohne zu viel Qualität zu verlieren? Sogar ein Absturz auf -qmin 1 ist ziemlich schrecklich!

Der Befehl, den ich verwende, ist

ffmpeg -i input.mp4 -vcodec libxvid -sameq -acodec libmp3lame -ab 128k -ac 2 output.avi 

Und die ffmpeg-Ausgabe ist

 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4' Metadata: major_brand : isom minor_version : 1 compatible_brands: isomavc1 Duration: 01:34:27.69, start: 0.000000, bitrate: 1520 kb/s Stream #0.0(und): Video: h264, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 1387 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s Output #0, avi, to 'output.avi': Metadata: ISFT : Lavf52.64.2 Stream #0.0(und): Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], q=2-31, 200 kb/s, 25 tbn, 25 tbc Stream #0.1(und): Audio: libmp3lame, 48000 Hz, stereo, s16, 128 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 
2
xvid ist bei der Komprimierung nicht so gut wie h264. Was hast du erwartet? phogg vor 13 Jahren 5
Versuchen Sie es mit dem Zwei-Pass-Parameter RobotHumans vor 13 Jahren 0

2 Antworten auf die Frage

1
CarlF

Je nachdem, was Ihr Mediaplayer verarbeiten kann, können Sie die Bildgröße reduzieren. Wenn Sie beispielsweise mit 1280x720 beginnen, verringern Sie die Auflösung auf 640x360. Auf diese Weise können Sie die Video-Bitrate um 3/4 reduzieren, ohne die Qualität zu ändern, und kleinere Videoplayer zeigen ohnehin nur eine Breite von 640 Pixel.

0
geocoin

Wie bereits in Kommentaren erwähnt, ist h.264 ein besserer Codec (wie in komprimierten Formaten) als xvid. Wenn also alle anderen Dinge gleich sind (Qualität, Bildgröße, Bildrate usw.), erzeugt xvid immer größere Dateien. Der Vorteil von xvid ist, dass es weniger CPU-intensiv ist als h.264, weshalb billige Mediaplayer es verwenden können.

In diesem Fall könnte XBMC auf der ursprünglichen Xbox (die eine CPU mit PIII-Architektur mit 733 MHz hatte) dazu gezwungen werden, 720p-HD-Inhalte abzuspielen, jedoch nur, wenn der Codec leicht genug und mit sehr spezifischen Flags versehen war. Dies war typischerweise xvid, da h.264 selbst in SD-Auflösungen für den armen alten PIII normalerweise zu viel war. Bei SD-Auflösungen wiegt eine typische annehmbare Q 45-min-Fernsehsendung etwa 350 MB, in h.264 jedoch nur etwa die Hälfte.

Um die besten Ergebnisse zu erzielen, müssen Sie die Videos auf die gleiche Auflösung wie das Gerät umcodieren (aber die Qualität beibehalten). Auf diese Weise verschwenden Sie keine Bandbreite für Bilder, die ohnehin nur zum Zeitpunkt der Wiedergabe reduziert werden. - Die Halbierung der Auflösung in eine beliebige Richtung (z. B. 1280x720 -> 640x360 wie oben erwähnt) verringert die erforderliche Bandbreite (und die resultierende Dateigröße) auf 1/4.