gpt4 book ai didi

ffmpeg - 使用 ffmpeg av_codec_video_2 解码原始缓冲区

转载 作者:行者123 更新时间:2023-12-04 23:28:19 26 4
gpt4 key购买 nike

我正在尝试为 C 语言中的 webrtc 应用程序编写解码器。我收到一个 RTP 流,我解析每个数据包,重新排序它们,并将有效负载放入 AVPacket,如此处所述(FFmpeg decode raw buffer with avcodec_decode_video2)。
此链接中未描述重新排序部分,但我很确定这部分没问题。

问题是,我不知道如何给解码器提供分辨率、pix_fmt 等信息。我需要创建一个AVstream*吗?并用我从 rtp header 获取的所有信息填充它?

是否有人有一段运行代码可以在不使用 rtp_dec 等的情况下解码解包的 VP8 数据包?

在此链接中,似乎没有更多信息发送到解码器,它是否能够在不知道分辨率且没有任何 header 的情况下进行解码?

最佳答案

您不需要提供“分辨率、pix_fmt 等”。解码器的信息,因为这些信息是由解码器从输入 AVPackets 派生的。

编码器需要诸如分辨率、pix_fmt 等信息来生成压缩字节/比特流。并且,编码器将此(分辨率、pix_fmt 等)信息嵌入到生成的比特流中。一旦解码器以正确的顺序接收比特流,它会在继续解压缩之前得出分辨率 pix_fmt 信息。

您提供给解码器的数据包顺序可能是您的原因。

关于ffmpeg - 使用 ffmpeg av_codec_video_2 解码原始缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33168466/

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