Konvertieren Sie mkv / h264-Video so, dass es auf einem Sony Ericsson-Telefon mit mittlerer Reichweite wiedergegeben werden kann. (mit Ubuntu)

3209
Johan

Als kleines Experiment denke ich darüber nach, einige Video- / Film- / TV-Serien in ein Format umzuwandeln, das auf meinem K850 abgespielt werden könnte. Um in dieser Frage etwas generischer zu sein, sagen wir "Mid-Range-Sony-Ericsson-Telefon", da sie alle sind verhalten sich mehr oder weniger gleich und haben die gleiche Bildschirmauflösung (240 x 320).

Ich bin auf der Suche nach Befehlszeilen-basierten Tools (für Ubuntu), da ich darüber nachdenke, später ein "Convert and Move" -Skript zu schreiben, wenn es erfolgreich ist.

Viele der Videos, die ich habe, sind in mkv / h264 codiert, aber da das vom Telefon nicht unterstützt wird, denke ich, dass ich es in ein mp4 / mpeg4-Video mit niedriger Qualität umwandeln muss.

Nach einigen googeln scheint es wie ein guter Kandidat für den Job ist ffmpeg, aber das scheint ein sehr vielseitiges Werkzeug mit vielen Zaubertricks zu sein.

Bin ich auf dem richtigen Weg? Und wenn ja, wie verwende ich dazu ffmpeg?

Danke Johan


Update : Nachdem ich mit ffmeg ein wenig plattiert hatte, fiel mir auf, dass nur einer meiner 4 Kerne verwendet wird. Das Transcoding dauert also ewig. Ich fand ein Argument namens -threads, aber das hat sich nicht viel geändert, vielleicht habe ich es falsch verstanden.

Ich habe auch festgestellt, dass so etwas im Telefon spielt.

ffmpeg -i Mythbusters\ S1D1_1.mkv -threads 4 -t 180 -vcodec mpeg4 -r 15 -s 320x240 Mythbusters\ S1D1_1_mini.mp4 

Es war möglich, 3 gp / h263 zu verwenden, aber die Qualität war wirklich unbrauchbar.

ffmpeg -i Mythbusters\ S1D1_1.mkv -t 180 -vcodec h263 -acodec libfaac -s cif Mythbusters\ S1D1_1_cif.3gp 

Und es scheint, als wäre mp4 / h264 auch möglich und das Ergebnis ist in Ordnung, dank dieser Frage scheint dieser mehr als einen Kern zu verwenden, also war er für mich etwas schneller.

ffmpeg -i Mythbusters_S1D1_1.mkv -t 180 -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me_method umh -subq 6 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -threads 0 -f mp4 Mythbusters_S1D1_1_qvga.mp4 

Update : Ich habe versucht, HandBrakeCLI zu verwenden, und es ist kein Problem, eine neue Datei zu erstellen, die anscheinend derjenigen entspricht, die mit ffmpeg erstellt wurde.

HandBrakeCLI -i Mythbusters_S1D1_1.mkv --size 100 -E faac -B 60 --maxHeight 240 -r 15 -e x264 -o Mythbusters_S1D1_1_hand.mp4 

Aber das spielte man nicht im Telefon ...


Ich habe dies im offiziellen Handbuch gefunden:

Wenn Sie Videoclips mit einem anderen Programm als Media Go ™ übertragen, empfehlen wir Ihnen, H.264 Baseline-Profilvideo mit bis zu QVGA bei 30 Bildern / s, VBR 384 kbps (max. 768 kps) und AAC + -Audio bei 128 kbps (max. 255 kbps) auszuwählen ), 48 kHz und Stereo-Audio im mp4-Dateiformat.

Die Idee, H264 zu verwenden, scheint also richtig zu sein.

1

2 Antworten auf die Frage

4
alex

Warum versuchen Sie es nicht mit der Handbremse ? Es ist für Linux, Mac OS und Windows verfügbar und hat auch eine Befehlszeilenschnittstelle, wenn Sie möchten.

Hier ist eine Anleitung zum Handbremsen-CLI.

Ich verwende Handbreak, wenn ich dvd's rippe und encodiere. Du hast den cli-Teil des Programms nicht verwendet. Johan vor 15 Jahren 0
Vielleicht könntest du es jetzt versuchen :). Handbrake ist eine sehr gute App zur Videokonvertierung; Dies sollte genau das tun, was Sie brauchen. alex vor 15 Jahren 0
Ich versuche es auch mit Handbreak. Johan vor 15 Jahren 0
Habe noch nicht die richtigen Einstellungen für Handbrake gefunden, das neue Video ist auf dem Computer mit vlc abspielbar .. aber nicht auf dem Handy ... Johan vor 15 Jahren 0
1
Johan

Ich kann es nicht besser als dieses ffmpeg-Beispiel bekommen:

ffmpeg -i Star_Wars.mkv -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags + loop -cmp + chroma -partitions + parti4x4 + partp8x8 + partb8x8 -flags2 + mixed_refs -m e_method umh -runter 1 -refs 5 -oder 0-me_range 16 -g 250 -keyint_min 25 -sc_schwelle 40 -i_qfactor 0,71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0,6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -threads 0 -f mp4 Star_Wars.mp4

Dies konvertiert eine 50-minütige TV-Episode (4: 3) in eine 70-MB-Datei (zuvor 700 MB).

und einen 2h-Film (16: 9) in eine 470-MB-Datei (zuvor waren es 1700 MB)