Während des Sommers arbeitete ich daran, ein Skript zusammenzustellen, das einen x264 Video/mp3-Stream erstellte und in die verschiedenen Streams aufteilte, damit es über MSE-DASH funktioniert. (Basierend auf den Anweisungen auf der webmproject.org website) Die gleichen Skripte haben aufgehört zu arbeiten, ein 6 GB Video in mehrere 25 GB-Videos. Ich habe mit Updates von ffmpeg auf dem Laufenden gehalten und weiß daher nicht, wann es nicht mehr funktioniert, aber ich vermute, dass dies auf die Art und Weise zurückzuführen ist, wie die DASH-Webm-Implementierung aktualisiert wurde.Warum ist ein ffmpeg webm Dash Stream viel größer als die anderen?
Ich fand neue Methode, die besser funktioniert, aber immer noch ein großes Problem mit einem Stream hat. Ich hatte gehofft, dass jemand erklären könnte, wie diese Kodierung funktioniert, damit ich die zugrunde liegende Ursache verstehen kann.
#!/bin/bash
COMMON_OPTS="-map 0:0 -an -threads 11 -cpu-used 4 -cmp chroma"
WEBM_OPTS="-f webm -c:v vp9 -keyint_min 50 -g 50 -dash 1"
ffmpeg -i $1 -vn -acodec libvorbis -ab 128k audio.webm &
ffmpeg -i $1 $COMMON_OPTS $WEBM_OPTS -b:v 500k -vf scale=1280:720 -y vid-500k.webm &
ffmpeg -i $1 $COMMON_OPTS $WEBM_OPTS -b:v 700k -vf scale=1280:720 -y vid-700k.webm &
ffmpeg -i $1 $COMMON_OPTS $WEBM_OPTS -b:v 1000k -vf scale=1280:720 -y vid-1000k.webm &
ffmpeg -i $1 $COMMON_OPTS $WEBM_OPTS -b:v 1500k -vf scale=1280:720 -y vid-1500k.webm
Die Transcodierungs ist noch nicht abgeschlossen, aber man kann sehen, wo diese geleitet wird:
-rw-r--r-- 1 user staff 87M Jan 4 23:27 audio.webm
-rw-r--r-- 1 user staff 27M Jan 4 23:42 vid-1000k.webm
-rw-r--r-- 1 user staff 285M Jan 4 23:42 vid-1500k.webm
-rw-r--r-- 1 user staff 15M Jan 4 23:42 vid-500k.webm
-rw-r--r-- 1 user staff 20M Jan 4 23:42 vid-700k.webm
Die 1500k Variante unverhältnismäßig größer als die anderen Ströme ist.
Das andere Problem ist, dass wenn ich ein kürzeres Video verwende, sagen wir acht oder neun Minuten, die obige Konfiguration wie erwartet läuft und alles perfekt ist. Ich weiß nicht, wo die Grenze dafür liegt, da jeder Test eine Menge Rechenleistung und Zeit kostet, aber wenn es weniger als zehn Minuten ist, funktioniert es und wenn es länger als eine Stunde ist, produziert es massive Dateien.
Vielen Dank. Ich wusste, dass das in der Sekunde funktionierte, in der ich angefangen habe, aber ich wollte sicherstellen, dass die Videos nicht missgebildet sind. Ich erwähnte, dass die Skripts nicht mehr funktionieren. Ich sollte auch erwähnen, dass sie aufgehört haben, an Videos zu arbeiten, an denen sie zuvor gearbeitet hatten. Kennen Sie etwas, das sich mit ffmpeg geändert hat und jetzt mehr Präzision in der Parameterzeichenfolge erfordert? – ranvel
@renvel ja, es ist seltsam, dass eine einzelne Variante so hoch geht. Ich weiß nicht, was sich geändert hat ... – aergistal