gpt4 book ai didi

FFMPEG:基于 PTS/DTS 删除数据包

转载 作者:行者123 更新时间:2023-12-04 22:55:31 25 4
gpt4 key购买 nike

我有一个视频,其中包含超出视频数据末尾的一些音频数据包:

$> ffprobe -show_packets video.mp4
...
...
...
[PACKET]
codec_type=video
stream_index=0
pts=5653648
pts_time=235.568667
dts=5653648
dts_time=235.568667
duration=1001
duration_time=0.041708
convergence_duration=N/A
convergence_duration_time=N/A
size=1030
pos=25233684
flags=__
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=11310080
pts_time=235.626667
dts=11310080
dts_time=235.626667
duration=1024
duration_time=0.021333
convergence_duration=N/A
convergence_duration_time=N/A
size=284
pos=25234714
flags=K_
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=11311104
pts_time=235.648000
dts=11311104
dts_time=235.648000
duration=1024
duration_time=0.021333
convergence_duration=N/A
convergence_duration_time=N/A
size=285
pos=25234998
flags=K_
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=11312128
pts_time=235.669333
dts=11312128
dts_time=235.669333
duration=992
duration_time=0.020667
convergence_duration=N/A
convergence_duration_time=N/A
size=290
pos=25235283
flags=K_
[/PACKET]
$>

视频中最后一个视频包的PTS时间为 235.568667持续时间为 0.041708 - 表示所有视频数据以 235.610375 结尾.但是有音频包 开始235.626667然后。

有没有一种简单的方法可以从文件中剥离这些音频数据包,以便音频和视频同时结束?

最佳答案

稍微不精确但通用的方法是设置一个 muxer 标志。

ffmpeg -i input -c copy -fflags +shortest output

这可能会导致较长的流中的数据包比可容纳的数据包少一或两个。

如果您知道最短流的确切持续时间,您可以简单地限制更多数据包的解复用:
ffmpeg -t 235.62666 -i input -c copy output

关于FFMPEG:基于 PTS/DTS 删除数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50259011/

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