首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ffmpeg连接视频时输出流中的非单调DTS

使用ffmpeg连接视频时输出流中的非单调DTS
EN

Stack Overflow用户
提问于 2018-02-08 14:29:11
回答 1查看 11.6K关注 0票数 1

我有三个视频,我想把它连接在一起问题,它对一些视频很好,但是当我测试一个特定的视频时,它会给我一个错误,并导致产生的视频以一种奇怪的方式显示,视频中的一切都进展得非常快,就像我正在转发视频一样。

这是我用来将视频从一个文件( out.txt )中添加到一起的代码

代码语言:javascript
运行
复制
file 'D:/Build/start.mp4'
file 'D:/Build/a.mp4'
file 'D:/Build/Song & Lyrics/2f.mp4'

我和ffmpeg一起使用的命令

代码语言:javascript
运行
复制
ffmpeg -f concat -safe 0 -i out.txt -c copy -y go.mp4

我面对这个错误

代码语言:javascript
运行
复制
    [mov,mp4,m4a,3gp,3g2,mj2 @ 05c0dbc0] Auto-inserting h264_mp4toannexb bitstream filter
Input #0, concat, from 'out.txt':
  Duration: N/A, start: 0.000000, bitrate: 280 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 155 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Metadata:
      creation_time   : 2018-02-08T13:25:49.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 02/08/2018.
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s
    Metadata:
      creation_time   : 2018-02-08T13:25:49.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 02/08/2018.
Output #0, mp4, to 'go.mp4':
  Metadata:
    encoder         : Lavf58.7.100
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 155 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc
    Metadata:
      creation_time   : 2018-02-08T13:25:49.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 02/08/2018.
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s
    Metadata:
      creation_time   : 2018-02-08T13:25:49.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 02/08/2018.
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mov,mp4,m4a,3gp,3g2,mj2 @ 05c38840] Auto-inserting h264_mp4toannexb bitstream filter
[mp4 @ 061b8f00] Non-monotonous DTS in output stream 0:0; previous: 624624, current: 88735; changing to 624625. This may result in incorrect timestamps in the output file.
[mp4 @ 061b8f00] Non-monotonous DTS in output stream 0:0; previous: 624625, current: 89247; changing to 624626. This may result in incorrect timestamps in the output file.
[mp4 @ 061b8f00] Non-monotonous DTS in output stream 0:0; previous: 624626, current: 89759; changing to 624627. This may result in incorrect timestamps in the output file.
.....

[mov,mp4,m4a,3gp,3g2,mj2 @ 05c38840] Auto-inserting h264_mp4toannexb   bitstream filtereed=69.7x
frame= 8991 fps=2903 q=-1.0 Lsize=    8378kB time=00:05:58.22 bitrate= 191.6kbits/s speed= 116x
video:2469kB audio:5625kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.500685%

那么是什么问题造成了这个错误。当我使用这个新的start.mp4与我在其他视频上尝试过的视频合并时,问题就出现了,而且效果很好。

更新

我测试了将视频转换成MTS格式,然后将它们作为类似问题的答案,但问题是当我将mp4视频转换为此格式时,文件的大小从6MB太大到42 MB!所以如果有更好的答案。或者让文件保持相同大小或更少的方法答案的链接是here,但是它工作得很好,这要事先感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-08 16:44:17

在这段时间里,我试图解决这个问题并进行一些搜索,我注意到第一个视频与我之前测试过的其他视频没有相同的帧/秒,我使用这个命令使它们都具有25帧/秒。

代码语言:javascript
运行
复制
FFmpeg -y -i source.mp4 -r 25 -s 160x90 -c:v libx264 -b:v 3M -strict -2 -movflags fast start destination.mp4

当我开始添加输出的视频时,这个命令没有任何问题,所以我需要确认是否这个信息是正确的,因为我不确定。但对我来说很管用

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

https://stackoverflow.com/questions/48687852

复制
相关文章

相似问题

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