首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MP4输出多文件分段GStreamer

从MP4输出多文件分段GStreamer
EN

Stack Overflow用户
提问于 2022-06-17 16:43:56
回答 1查看 182关注 0票数 0

GStreamer可以使用如下管道输出单个文件的片段化MP4

代码语言:javascript
复制
❯ gst-launch-1.0 filesrc location=../test.ts ! decodebin ! x264enc ! ismlmux fragment-duration=6000 faststart=1 ! filesink location=fragmented.mp4

使用Bento4,我们可以确认该文件包含交错的moof原子和mdat原子(我只是过滤顶级原子,因为完整的输出非常长):

代码语言:javascript
复制
❯ mp4dump fragmented.mp4 | egrep '^[^ ]'
[ftyp] size=8+16
[moov] size=8+833
[moof] size=8+5112
[mdat] size=8+538271
[moof] size=8+2964
[mdat] size=8+296190
[moof] size=8+5112
[mdat] size=8+484946
[moof] size=8+2964
[mdat] size=8+305615
[moof] size=8+5112
[mdat] size=8+482052
[moof] size=8+2964
[mdat] size=8+298039
[moof] size=8+5112
[mdat] size=8+478313
[moof] size=8+2964
[mdat] size=8+294548
[moof] size=8+5112
[mdat] size=8+483575
[moof] size=8+2964
[mdat] size=8+303894
[moof] size=8+5112
[mdat] size=8+483527
[moof] size=8+2964
[mdat] size=8+316919

使用Bento4,我们还可以将文件分割成单独的文件--包含初始元数据的init.mp4,以及每个moof+mdat对的文件。

代码语言:javascript
复制
❯ mp4split fragmented.mp4
❯ ls
fragmented.mp4  segment-1.0001.m4s  segment-1.0003.m4s  segment-1.0005.m4s  segment-1.0007.m4s  segment-1.0009.m4s  segment-1.0011.m4s
init.mp4        segment-1.0002.m4s  segment-1.0004.m4s  segment-1.0006.m4s  segment-1.0008.m4s  segment-1.0010.m4s  segment-1.0012.m4s
❯ mp4dump init.mp4 | egrep '^[^ ]'
[ftyp] size=8+16
[moov] size=8+833
[udta] size=8+53
[mvex] size=8+52
❯ mp4dump segment-1.0001.m4s | egrep '^[^ ]'
[moof] size=8+5112
[mdat] size=8+538271

然而,mp4split首先需要完整的文件来分割它,我需要支持实时流,这意味着这种方法是不可行的。是否有一种方法可以直接从GStreamer?将fMP4拆分成多个文件

我尝试了分裂汇,但它似乎产生了单独可播放的独立MP4文件,而不是片段。我还尝试使用多文件墨迹来保存碎片MP4,但是似乎没有一种方法可以告诉它在特定原子上拆分文件。

EN

回答 1

Stack Overflow用户

发布于 2022-11-09 06:00:49

可以为mp4mux/qtmux/matroskamux设置以下几个属性:

Splitmux接收器muxer='mp4mux faststart=true streamable=true片段-持续时间=1000个跟踪时间刻度=1000个电影时间刻度=1000个呈现时间=真‘ max-size-time=1000000000 location=file%02d.mp4

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72662462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档