gpt4 book ai didi

ffmpeg - 将原始 H264 NALU 流包装到 MP4 等容器中

转载 作者:行者123 更新时间:2023-12-04 22:48:54 38 4
gpt4 key购买 nike

我有一个应用程序,它使用 x264 x264_encoder_encode 即时发送编码生成的原始 h264 NALU。我通过普通的 TCP 获取它们,所以我不会丢失任何帧。
我需要能够使用 Windows 中的硬件加速 (DXVA2) 在客户端中解码这样的流。我一直在努力寻找一种使用 FFMPEG 使其工作的方法。也许尝试 Media Foundation 或 DirectShow 可能更容易,但它们不会采用原始​​ H264。
我要么需要:

  • 更改服务器应用程序的代码以返回 mp4 流。我对x264没有那么有经验。我可以通过调用 x264_encoder_encode 来获得原始 H264,方法是遵循以下问题的答案:How does one encode a series of images into H264 using the x264 C API?我怎样才能从这个转到 MP4 中包装的东西,同时仍然能够实时流式传输
  • 我可以在接收器处用 mp4 头文件将其包装起来,然后将其输入到可以使用 DXVA 播放的东西中。我不知道该怎么做
  • 我可以找到另一种方法来使用带有 FFMPEG 的 DXVA 或其他以原始格式获取它的东西来加速它。

  • 一个重要的限制是我需要能够在显示每个解码帧之前对其进行预处理。任何一步完成解码和显示的解决方案都不适合我

    两种解决方案我都可以

    最佳答案

    我相信您应该能够通过 Media Foundation 使用 H.264 数据包。这本书的第 298 页上有一个例子 http://www.docstoc.com/docs/109589628/Developing-Microsoft-Media-Foundation-Applications#使用带有媒体基础的 HTTP 流。

    我自己只是在学习 Media Foundation,并且正在尝试对您做类似的事情,在我的情况下,我想使用 RTP 数据包中的 H.264 有效负载,据我了解,这需要自定义 IMFSourceReader .从我读过的内容中也应该可以访问解码的帧,因为将组件链接在一起形成拓扑似乎具有完全的灵 active 。

    关于ffmpeg - 将原始 H264 NALU 流包装到 MP4 等容器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10369971/

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