gpt4 book ai didi

linux - 在 Linux 中使用 FFMPEG 覆盖 TS 流文件

转载 作者:行者123 更新时间:2023-12-03 10:01:37 25 4
gpt4 key购买 nike

我正在尝试将 rtmp 流转换为 m3u8 流。为了达到这个目标,我使用 FFMPEG。现在,转换和下载没有问题。但是,它会写入很多 .ts 文件,例如 channel0000.ts、channel0001.ts、channel0002.ts。每 10 秒创建 1 个 ts 文件。在这一点上,我想要一个 ts 文件。换句话说,我需要覆盖,因为我不想存储我只需要最后 10 秒的所有流。当我尝试在同一个文件上写入时,出现此错误:

Invalid segment filename template 'channel.ts'
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argumentStream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Last message repeated 1 times

这是我的 FFMPEG 命令。
ffmpeg -loglevel quiet -i rtmp://example -c:v libx264 -profile:v baseline -level 3.1 -c:a aac -strict experimental -f mpegts - | ffmpeg -i - -c copy -map 0 -f segment -segment_list channel.m3u8 -segment_format mpegts -segment_time 10 channel%04d.ts

有什么建议吗?

最佳答案

在 FFMPEG 文档中,我找到了“ segment_wrap ”选项。添加此选项时,文件将循环写入。在我的例子中,我添加了“ -segment_wrap 1 ”命令部分,它现在只写入一个文件。

关于linux - 在 Linux 中使用 FFMPEG 覆盖 TS 流文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45640130/

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