首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用ffmpeg时,如何修复输出流0:1中的非单调DTS?

在使用ffmpeg时,如何修复输出流0:1中的非单调DTS?
EN

Stack Overflow用户
提问于 2019-04-30 05:59:31
回答 2查看 53.3K关注 0票数 21

当我使用ffmpegm3u8转换为mp4时,我会收到一些警告,

代码语言:javascript
复制
ffmpeg -i xx.m3u8 -c copy demo.mp4

警告是

代码语言:javascript
复制
Non-monotonous DTS in output stream 0:1; previous: 3277744, current: 3276712; changing to 3277745. This may result in incorrect timestamps in the output file.
Non-monotonous DTS in output stream 0:1; previous: 3277745, current: 3277736; changing to 3277746. This may result in incorrect timestamps in the output file.

我该怎么做才能修好它?

EN

回答 2

Stack Overflow用户

发布于 2019-04-30 06:03:59

你可以试试这个:

代码语言:javascript
复制
ffmpeg -i xx.m3u8 -c copy -bsf:a aac_adtstoasc demo.mp4

根据这个论坛帖子,您还可以尝试:

解码时间戳似乎被打破了。您可以尝试"-fflags +igndts“来基于PTS重新生成DTS:

或者直接指向.ts文件,忽略DTS:

代码语言:javascript
复制
ffmpeg -fflags +igndts -i xx.ts -map 0:0 -map 0:2 -c:v copy -c:a copy demo.mp4
票数 10
EN

Stack Overflow用户

发布于 2022-04-26 22:57:36

我偶然发现了从哈德尔下载的体育视频。m3u8文件具有#EXT-X-不连续性和#EXT-X程序日期-时间指令,而ffmpeg没有正确处理这些指令。因此,我刚刚为ffmpeg创建了.txt文件,只需将段与删除的指令连接起来:

使用浏览器工具查找m3u8

代码语言:javascript
复制
cat ~/Downloads/<m3_u8 downloaded> | grep ".ts$" | awk '{print "file <url path of m3u8 file>" $1}' > files.txt

ffmpeg -protocol_whitelist file,tcp,http,https,tls -f concat -safe 0 -i files.txt -q 0 -c copy video.MTS
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55914754

复制
相关文章

相似问题

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