GStreamer разбивает MP4 файл - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь написать простой конвейер, чтобы разделить файл mp4 в локальном хранилище на несколько фрагментов с фиксированной продолжительностью. Я пытался использовать несколько различных опций, но ни один из них, похоже, не работает

кстати мыУ меня жесткое требование не использовать библиотеку FFmpeg из-за некоторых проблем с лицензией, поэтому плагины, которые у меня есть на данный момент,

gst-plugins-base-1.8.3
gst-plugins-good-1.8.3

and some bad plugins libs (h264parse, mpegtsmux, hlssink)

Не могли бы вы помочь мне решить эту проблему с помощью GStreamer?

Несколько образцов, которые я пробовал

gst-launch-1.0 filesrc location=/tmp/sample/BigBuckBunny_175k.mp4 ! h264parse ! splitmuxsink location=/tmp/sample/segments/segment%05d.mp4 max-size-time=10000000000
gst-launch-1.0 filesrc location=/tmp/sample/BigBuckBunny_175k.mp4 ! splitmuxsink location=/tmp/sample/segments/segment%05d.mp4 max-size-time=10000000000
gst-launch-1.0 filesrc location=/tmp/sample/BigBuckBunny_175k.mp4 ! decodebin ! videoconvert ! x264enc ! splitmuxsink location=/tmp/sample/segments/segment%05d.mp4 max-size-time=10000000000 

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Ниже показан конвейер результатов для разделения файла MP4 (включая видео / аудио потоки)

gst-launch-1.0 -e filesrc location={from} ! queue ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! queue ! mux.video \
demux.audio_0 ! queue ! aacparse !  queue ! mux.audio_0 splitmuxsink location={to} max-size-time={duration} muxer=mp4mux name=mux
0 голосов
/ 29 мая 2018

Жаль, что вы не сказали, что пытались, но используете splitmuxsink -> https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/gst-plugins-good-plugins-splitmuxsink.html

...