【问题标题】:FFmpeg make mpeg2 ts without discontinuityFFmpeg 使 mpeg2 ts 无间断
【发布时间】:2012-06-05 05:32:15
【问题描述】:

我有许多用 iPhone 录制的 MOV 文件,我想将它们转换为 mpeg2 TS。我想通过 HTTP Live Streaming 协议将它们用于实时视频流。

我将 iPhone 设置为不断将 MOV 文件发送到服务器。每个视频剪辑时长为 5 秒。我想用它们制作 mpeg2 TS 并将它们的网址添加到 m3u8 播放列表中。 我设法做到了所有这些,但是当我尝试播放流时,VLC 播放器只播放播放列表中的前两个文件,以及播放列表中的最后一个文件。 我搜索了互联网,我认为这与不连续性有关。

有没有什么办法可以将多个MOV文件转换成多个mpeg2 TS片段而不中断?

或者我做错了什么? 这是我的 ffmpeg 命令:

ffmpeg.exe -i input,MOV -f mpegts output.ts

这是我的 m3u8 列表:

#EXTM3U
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
fileSequence0.ts
#EXTINF:10,
fileSequence1.ts
#EXTINF:10,
fileSequence2.ts

提前致谢

【问题讨论】:

    标签: ffmpeg http-live-streaming


    【解决方案1】:

    问题在于您的系列电影不是流媒体。当您创建单独的 mpeg2ts 段时,每次运行 ffmpeg 时时间戳都会重新设置为 0。您可以尝试使用 setpts 过滤器调整每个段的起始时间戳。但首先你需要知道上一段的最终分数。

    【讨论】:

    • 我正在尝试这样做,但没有运气。我试图在每个段之前设置#EXT-X-DISCONTINUITY,但这没有什么区别。我从 VLC 播放器收到此消息:TS 不连续性(收到 0,预期为 8)我检查了我的上一个片段,最后一个 PTS 是 446696,什么是 ffmpeg 命令来正确调整下一个片段的 pts?
    • ^ 对正确命令的更新也将不胜感激。我能够获得以前文件的结尾 pts,但不确定如何将其应用于下一个文件。
    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    相关资源
    最近更新 更多