使用DirectX api查看FFMPEG解码的h264流
我正在尝试在两个客户端之间传输视频。
客户端 A 应将视频以 h264 格式上传至服务器,客户端 B 应将视频从服务器上传至下游。对于下游,我使用 FFMPEG 解码 NAT over RTP 包。
我的问题是我必须使用 DirectX API 显示图像,这需要参数:
- 比特流
- 图片参数
- 量化矩阵
- 切片信息。
另一方面,FFMPEG 下游产生的参数是 SPS(序列参数集)和 PPS(图片参数集)。
我假设 FFMPEG 的 PPS 和 DirectX 的“图片参数”至少是切线相关的,但是我不确定如何获取其余参数(bitstream
、quant_matrx
和 slce_info
) 来自 PPS 和 SPS。
任何建议(除了那些让我回到谷歌的建议,我在两天的搜索后疲倦地跋涉)都非常感谢。
问候
-E
I am trying to stream a video between two clients.
Client A shall upstream the video to a server in h264 format and Client B shall downstream it from the server. To downstream, I am using FFMPEG to decode the NAT over RTP packages.
My problem is that I must display the image using the DirectX API which requires parameters:
- bitstream
- picture parameters
- quantization matrix
- slice info.
On the other hand, the resulting parameters from downstreaming with FFMPEG are SPS (Sequence Parameter Set) and PPS (Picture Parameter Set).
I assume that FFMPEG's PPS and DirectX's "picture parameters" are at least tangentially related, however I'm not sure how to obtain the remaining parameters (bitstream
, quant_matrx
and slce_info
) from PPS and SPS.
Any suggestions (barring those that send me back to Google whence I wearily trudge after two days worth of searches) are greatly appreciated.
Regards
-E
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您正在尝试使用需要编码视频的 DirectX 接口,而不是像您应该从 ffmpeg 获得的解码视频。您应该拥有一系列需要通过 DirectX/DirectShow 显示的解码帧。
如果您想让 DirectX 和/或视频驱动程序/硬件对其进行解码,您需要找到正确的接口来提交它。
恐怕您的问题缺乏给出更好答案所需的细节。
Sounds like you're trying to use a DirectX interface that wants encoded video, not decoded video as you should be getting from ffmpeg. You should have a series of decoded frames you need to simply display via DirectX/DirectShow.
If you want to have DirectX and/or the video driver/hardware decode it, you need to find the right interface to submit it to.
I'm afraid your question is lacking in detail needed to give any better answer.