GStreamer拆分MP4文件

时间:2018-05-29 09:54:57

标签: java gstreamer

我正在尝试编写一个简单的管道,将本地存储上的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 :(得分:0)

答案 1 :(得分:0)

下面显示了分割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