gpt4 book ai didi

encoding - 是否可以使用 FFMPEG 将 HLS ts 文件集合中的一个 ".ts"文件替换为另一个 ".ts"文件?

转载 作者:行者123 更新时间:2023-12-04 22:59:00 30 4
gpt4 key购买 nike

有一个视频,其实是一个HLS流(TS文件的序列)
我想取出一个 TS block 并用另一个替换它。
另一个 block 将使用相同的 FFMPEG 编码设置进行编码。

如果你想知道我为什么需要这个:
有五个小时的 HLS 流。其中一位 TS 的视频标题错误。我需要在不重新编码整个 HLS 流的情况下更改该 TS。

目前我试过:

  • 取 TS 并使用 FFMPEG 将其转换为 mp4
  • 编辑 mp4 视频(更改标题)并另存为新的 mp4
  • 将新的 mp4 转换为新的 TS(使用 FFMPEG,与用于原始视频的设置相同)
  • 用新的 TS 替换原来的 TS。

  • 但它不起作用,播放器显示正在加载图标。 (在网络控制台中我看到这个新的 TS 正常加载,状态为 200)

    一旦我用原始的TS替换新的TS,播放器就可以正常播放它。

    两个 TS 文件都以 I 帧开头,都有音频。 P帧和B帧的顺序只有细微的差别。
    old new
    I I
    P P
    B B
    B B
    P P
    B B
    B B
    B B
    P P
    B B
    B P
    B B
    P B
    P B
    B P

    我怎样才能让新的 TS block 在原始 TS 序列中工作?

    更新:

    根据 szatmary 的建议(如下),我尝试在所有 ts>mp4>ts 转换期间包含“-copyts”标志。还尝试了带有所有 3 个选项 -1、0 和 1 的“-copytb”标志。但是结果仍然相同 - 播放器不使用新的 TS block 播放 HLS TS 序列 (m3u8)。

    在 M3U8 列表中替换 TS 后添加“#EXT-X-DISCONTINUITY”标签,并不能解决问题。

    如果没有“#EXT-X-DISCONTINUITY”标签,播放器会报错:
    VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) There appears to be a playback issue.

    code: 4
    message: "There appears to be a playback issue."

    __proto__:
    MEDIA_ERR_ABORTED: 1
    MEDIA_ERR_CUSTOM: 0
    MEDIA_ERR_DECODE: 3
    MEDIA_ERR_ENCRYPTED: 5
    MEDIA_ERR_NETWORK: 2
    MEDIA_ERR_SRC_NOT_SUPPORTED: 4
    code: 0
    message: ""
    status: null

    使用“#EXT-X-DISCONTINUITY”标签,播放器给出错误:
    VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) There appears to be a playback issue.

    code: 3
    message: "error"

    __proto__:
    MEDIA_ERR_ABORTED: 1
    MEDIA_ERR_CUSTOM: 0
    MEDIA_ERR_DECODE: 3
    MEDIA_ERR_ENCRYPTED: 5
    MEDIA_ERR_NETWORK: 2
    MEDIA_ERR_SRC_NOT_SUPPORTED: 4
    code: 0
    message: ""
    status: null

    两个 TS 文件(旧的和新的)都有视频和音频流。

    看来应该做点别的了。我认为解决方案类似于广告插入。

    最佳答案

    您还需要匹配时间戳。转换为 mp4 时,您将丢失时间戳数据。您必须将其保留为 ts 并使用 -copy ts。即使这样,您也可能会丢失连续性计数器,并且需要在 m3u8 中放置不连续性标签。您正在尝试做的事情并没有得到真正的支持,并且很难获得仪式。我在工作中也做过类似的事情,但我们必须编写自定义软件来实现无缝过渡。

    关于encoding - 是否可以使用 FFMPEG 将 HLS ts 文件集合中的一个 ".ts"文件替换为另一个 ".ts"文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57222423/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com