我对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开始有意义),但是音频开始漂移并且过了一会儿就不同步了。我该如何解决这个问题?