java - GStreamer分割MP4文件

标签 java gstreamer

我正在尝试编写一个简单的管道,将本地存储上的 mp4 文件分割为具有固定持续时间的多个 block 我一直在尝试使用几种不同的选项,但似乎都不起作用

顺便说一句,由于一些许可证问题,我们硬性要求不使用 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 

最佳答案

分割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

关于java - GStreamer分割MP4文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50581407/

相关文章:

java - 我的 java 程序一直卡住

java - 来自 MainActivity 的 BroadcastReceiver 不会收到额外的

java - Android:如何获取列表 fragment 中的 View

c++ - 如何使用 Gstreamer 播放原始 char* 缓冲区?

linux - 如何在 Qt5.5 中使用 gstreamer1.0 而不是 0.10?

java - 泛型中的父类(super class)型转换(获取泛型类型的泛型父类(super class)型)

java - RMI 服务器,变量值未更新

python - 从 GStreamer 在 Tkinter 中输出视频?

python - Gstreamer 不在 Ubuntu 18.04 VM 上发送 'prepare-window-handle' 消息

python - 有没有办法在 gstreamer 中从中间播放歌曲?