gpt4 book ai didi

c - Libav(ffmpeg)容器编解码器时基和流时基的目的是什么?

转载 作者:行者123 更新时间:2023-12-04 23:07:11 27 4
gpt4 key购买 nike

我看到了这个答案,Libav (ffmpeg) copying decoded video timestamps to encoder
但我仍然不明白为什么我们需要流时基和编解码器时基。目前我正在尝试编写一些代码来确定在我的解码器的视频中显示一帧的时间,所以我认为正确的方法是这样的aVFrame.best_effort_timestamp * stream.time_base.num * stream.time_base.den那是对的吗?

最佳答案

“为什么我们需要两者”是一个加载语句。我们不需要两者。你的问题应该是为什么我们两者都有。
这不是 ffmpeg/libav 的发明,它是媒体文件工作方式的副作用。一些(但不是全部)编解码器具有将时基编码到编解码器比特流中的机制(例如 h.264)。然后可以将这些比特流写入/混合到也编码时基的容器(例如 mp4)中。理论上这些应该匹配,但实际上它们通常不匹配。 libav 只是解析文件并用那里的内容填充结构。

关于c - Libav(ffmpeg)容器编解码器时基和流时基的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66605346/

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