混合音频和视频时ffmpeg同步问题

时间:2018-08-25 14:37:43

标签: audio video merge ffmpeg concat

我对ffmpeg有问题。我不是专业用户,所以我处于不断的尝试和错误模式。我需要这个社区的一点帮助,之前曾帮助过我很多时间。
我下载了视频流的单独音频和视频片段。音频和视频在“网络”选项卡中均显示为.m4s文件,但.m3u8播放列表为我提供了这两个文件的.ts文件。因此,我下载了整个音频批处理并将其连接到单个.ts文件中。我对视频进行了相同的操作,但是使用了.mp4输出。

编辑:合并音频.ts文件时,我遇到此问题:

[mpegts @ 0x7f88cb805600] Non-monotonous DTS in output stream 0:0; 
previous: 1077120, current: 1073280; changing to 1077121. This may 
result in incorrect timestamps in the output file.

更新:刚刚注意到,当我使用MediaInfo检查.ts音频文件时,帧速率为41.667 fps(1152 SPF)。

因此,现在我有两个文件:一个带音频的单个.ts和一个带视频的单个.mp4。 但是,只有在尝试合并它们时,我才注意到音频和视频结果不同步。 这是因为音频与视频的长度不同(不知道为什么,它们的段数相同:750)。
音频信息:

Input #0, mpegts, from 'output.ts':
Duration: 01:14:12.11, start: 1.400000, bitrate: 434 kb/s
Program 1 
Metadata:
  service_name    : Service01
  service_provider: FFmpeg
Stream #0:0[0x100]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s

我可以看到它是从1.4s开始的。

视频信息:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2avc1mp41
encoder         : Lavf58.12.100
Duration: 01:14:57.84, start: 0.000000, bitrate: 2425 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 2423 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
Metadata:
  handler_name    : VideoHandler

视频和音频在一开始就进行了同步(从某种意义上说1.4开始有意义),但是音频开始漂移并且过了一会儿就不同步了。我该如何解决这个问题?

0 个答案:

没有答案