繁体   English   中英

解码H264帧C#

[英]Decode H264 frames C#

我在C#中使用托管媒体聚合 - https://net7mma.codeplex.com/

我有一个Rtsp客户端接收以h264编码的RTP帧(有效负载类型96)。 我希望能够将帧保存到视频文件中,并且还可以告诉视频何时开始\\结束。

我做了一些阅读,我读到一个一个一个地解码h264帧的问题..并没有真正理解为什么。

这是为我收到的每个RTP帧引发的方法

void Client_RtpFrameChanged(object sender, Media.Rtp.RtpFrame frame)
{
    // Decode
}
  1. 有人可以解释为什么一个接一个地解码h264帧有问题吗?
  2. 是否有开源/库/ dll?

非常感谢!

RtspServer项目中有一个包含的类。

该类是RFC6184Media,它包含打包和解包的方法,并处理所有定义的Nal单元类型。

在调用Depacketize后,有一个包含Raw Bit Stream Payload的Buffer,你必须添加一个由0x000001组成的起始码,然后是原始比特流中包含的数据。

项目的“讨论”区域中有几个示例。

之后,您可以将流提供给解码器进行解码,然后才能显示帧; 通常通过从Yuv到Rgb的转换分别对应于编码时使用的子采样。

我可以看到为一些对应于帧的静态数据包添加一个小型演示,并展示如何实现所需的结果。

将来,如果你在项目页面上进行讨论,我可能会更快地完成它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM