gpt4 book ai didi

video - FFmpeg.AutoGen 将 h264 MP4 解码为图像

转载 作者:行者123 更新时间:2023-12-04 22:49:40 30 4
gpt4 key购买 nike

我一直在试验 FFmpeg.AutoGen ( https://github.com/Ruslan-B/FFmpeg.AutoGen ) 包装器。我已经成功地将 MPG 文件从 .NET 流解码为位图。但是解码 MP4 (h264) 文件会给我 FFmpegInvoke.avcodec_decode_video2 的负返回值。

我尝试设置标志(例如 pCodecContext->flags2 |= FFmpegInvoke.CODEC_FLAG2_CHUNKS;)但我没有从流中获得成功的图像。所以我正在寻找的是一个使用 FFmpeg.AutoGen 将 h264 解码为图像的工作示例。我知道有人已经完成了这项工作(见 How to get a byte** from managed byte[] buffer )所以这是可能的!

最佳答案

我已经设法使用来自项目的演示应用程序和 Ernstjan 提供的 mp4 文件成功解码视频,这是它被破坏的原因 - 编解码器上下文仅通过使用编码信息以所有默认值初始化,显然这还不够。

幸运的是 codecContext变量仍然包含最初由 av_find_stream_info 发现的编码上下文,因此我们可以重复使用它,它对我来说很好用。

因此,快速而肮脏的解决方案将替换此行:

AVCodecContext* pCodecContext = FFmpegInvoke.avcodec_alloc_context3(pCodec);

和:
AVCodecContext* pCodecContext = &codecContext;

我将更新演示应用程序以展示几种不同的方法来获取正确的编解码器上下文。

关于video - FFmpeg.AutoGen 将 h264 MP4 解码为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991305/

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