h.264+Directshow的问题

zhulw8892 2012-04-12 05:06:42
加精
大家好,请问按照RFC3984的方法封装了h264之后,在接收端重组成NALU并交给解码端进行编码应该怎么做?
把分片的NALU去fu头组合在一起,总的NALU再加一个nalu头?
然后把整个NALU(包含nalu头)在fillbuffer里填充mediasample,最后sourceFilter—>CoveAVC Video Decode就可以了么?
...全文
3624 41 打赏 收藏 转发到动态 举报
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonbaichuan 2013-02-06
  • 打赏
  • 举报
回复
学习一下,看看!~~
lonbaichuan 2013-02-05
  • 打赏
  • 举报
回复
高手问题,只有看看!~~
super超大 2013-02-01
  • 打赏
  • 举报
回复
好帖。。。。。
littlegale 2012-04-25
  • 打赏
  • 举报
回复
今天我测试了一个test.264的本地文件。fillbuffer时在mediasample里填充的是一个个去掉
3或4个字节的start code。结果连
wwyyxx26 2012-04-22
  • 打赏
  • 举报
回复
好帖,留记
别乱了我眼神 2012-04-21
  • 打赏
  • 举报
回复
不是太了解!!!!!
winginsky 2012-04-19
  • 打赏
  • 举报
回复
我想问下,学这个东西好什么好的参考资料吗?我也是做视频方面的,但接触的视频编解码方面的不多
别乱了我眼神 2012-04-19
  • 打赏
  • 举报
回复
谢谢分享
yuan56803367 2012-04-19
  • 打赏
  • 举报
回复
谢谢分享
zhulw8892 2012-04-19
  • 打赏
  • 举报
回复
H264 MEDIATYPE_Video
{73646976-0000-0010-8000-00aa00389b71} MEDIASUBTYPE_H264 {34363248-0000-0010-8000-00aa00389b71}
我用的guid类型就是上面的,接受以00 00 00 01开头的字节流。
可以播放了,谢谢各位~
zhulw8892 2012-04-19
  • 打赏
  • 举报
回复
H264 MEDIATYPE_Video
{73646976-0000-0010-8000-00aa00389b71} MEDIASUBTYPE_H264 {34363248-0000-0010-8000-00aa00389b71}
我用的guid类型就是上面的,接受以00 00 00 01开头的字节流。
可以播放了,谢谢各位~
ant1230 2012-04-19
  • 打赏
  • 举报
回复
不是太了解!!!!!
rightorwrong 2012-04-18
  • 打赏
  • 举报
回复
这个不是很清楚,支不支持。我做的时候是自己加上了。
现在你就把00 00 00 01加上,不管用的是那个解码器
如果客户端不好加,那你就先在服务器那边加上,先传过来,等基本功能完成了,在试着修改成自己的那种方式。H264组帧的资料看live555的有h264文件名的文件
zhulw8892 2012-04-18
  • 打赏
  • 举报
回复
H264 MEDIATYPE_Video
{73646976-0000-0010-8000-00aa00389b71} MEDIASUBTYPE_H264 {34363248-0000-0010-8000-00aa00389b71}
我用的guid类型就是上面的,应该是接受以00 00 00 01开头的字节流吧。
再次感谢大家的帮助~
zhulw8892 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 的回复:]
coreavc可以接收2种H264码流,一种是00 00 00 01开头的字节流,还有一种是AVC格式的,就是将00 00 00 01改成nalu长度,具体哪一种看你连接COREAVC用的是什么guid类型 [/Quote]
多谢指点,将00 00 00 01改成nalu长度不太明白,请问如果以00 00 00 01开头的字节流送给解码器,那么在source filter里fillbuffer是填充一个一个包含00000001NALU给media sample么?
zoulie 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 的回复:]

H264硬解码器能加到directshow中么?有哪些可以用啊?
如果软解码,我要怎么组帧呢,找不到组帧的资料啊
[/Quote]
coreavc可以接收2种H264码流,一种是00 00 00 01开头的字节流,还有一种是AVC格式的,就是将00 00 00 01改成nalu长度,具体哪一种看你连接COREAVC用的是什么guid类型,coreavc支持CUDA 与 DXVA硬解,或者自己开发的话用cuda的sdk或者MS 的dxva
Damn_boy 2012-04-18
  • 打赏
  • 举报
回复
http://hi.baidu.com/operationsystem/blog/item/9c51a1fa9259f92f4e4aea6d.html
组帧的例子 随便找的 不知道能不能用
Damn_boy 2012-04-18
  • 打赏
  • 举报
回复
帮顶 大概看了一下
可以如下寻找解决方法
1. 选择解码器 (帧解 还是 naul块解)
2. 选择帧解 接着查组帧的资料
3. 块解 找对应解码器就ok了
至于要不要start code 先试试不要的
如果不行 再把start code加上

你先选择个大概的路线 在做下一步吧 不然一头雾水的
zhulw8892 2012-04-18
  • 打赏
  • 举报
回复
H264硬解码器能加到directshow中么?有哪些可以用啊?
如果软解码,我要怎么组帧呢,找不到组帧的资料啊
rightorwrong 2012-04-17
  • 打赏
  • 举报
回复
要有start code才能解码。打包的时候去掉了,客户端解析的时候需要再加上
加载更多回复(17)

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧