我有一个应用程序,它使用x264 x264_encoder_encode实时发送从编码中生成的原始h264 NALU。我通过普通的TCP获取它们,所以我不会丢失任何帧。 我需要能够在Windows(DXVA2)中使用硬件加速在客户端解码这样的流。我一直在努力寻找一种方法来使用FFMPEG来实现它。试试Media Foundation或DirectShow可能会更容易,但他们不会采用原始的H264。 我要么需要:将原始H264 NALU流包装成类似MP4的容器
改变来自服务器应用程序的代码给回的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加速它。
一个重要的限制是,我需要能够显示它之前预先处理每个解码帧。任何没有在一个单一的步骤解码并显示解决方案是行不通的,我
我会被罚款与任何一个解决方案
'DXVA'的美丽和速度基本上假定视频呈现给用户,而不是从视频内存回读到RAM中。准备好从视频内存中读取数据可能会出现意想不到的速度,并且为演示之外的目的而消除快速硬件辅助解码的全部想法。 – 2012-05-01 12:05:06
是啊......我想我现在就想接受这个事实。无论如何在DXVA的某个阶段预处理帧。也许写一个媒体基础过滤器或类似的东西? – cloudraven 2012-05-02 23:07:23