gpt4 book ai didi

audio - 播放:音视频同步算法

转载 作者:行者123 更新时间:2023-12-03 00:06:03 29 4
gpt4 key购买 nike

我正在使用 ffmpeg 创建一个非常基本的视频播放器。库,我有所有的解码和重新编码,但我坚持音频视频同步。

我的问题是,电影有音频和视频流混合(交织),音频和视频以“突发”(多个音频包,然后是并列的视频帧)的方式出现,就像这样,每个包都有自己的时间戳:

A A A A A A A A V V V V A A A A A A A V V V V ...

A: decoded and re-encoded audio data chunk
V: decoded and re-encoded video frame

据说是为了防止在没有视频的情况下处理过多的音频,反之亦然。

现在我必须对“突发”进行解码,并及时将它们发送到音频/视频播放组件,我有点迷失在细节上。
  • 面对这类问题是否有“标准”策略/范式/模式?
  • 是否有解释使用技术的教程/文档/书籍?
  • 在一部编码良好的电影中,muxing 能走多远?

  • 因为我不期待这样的事情:
    AAAAAAAAAAA .... AAAAAAAAAAAAA x10000 VVVVVVVVVVVVVV x1000
    audio for the whole clip followed by video

    或这个:
    VVVVVVVVVVVV x1000 AAAAAAAAAAA...AAAAAAAAA x1000    
    all video frames followed by the audio

    发生在编码良好的视频中(毕竟,防止这种极端情况是混合的全部意义......)

    谢谢!

    更新 :由于我的描述可能不清楚,因此问题不在于流是怎样的,或者如何解码它们:整个音频/视频解复用、解码、重新缩放和重新编码都已设置和声音,以及每个数据 block 有自己的时间戳。

    我的问题是如何处理解码后的数据,而不会导致缓冲区溢出和欠载,并且通常会阻塞我的管道,所以我想这可能被认为是"dispatch"问题。

    最佳答案

    同步是容器的工作。每帧都将带有 PTS/DTS 或持续时间/CTS 的时间戳

    关于audio - 播放:音视频同步算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38804377/

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