用ARM开发板制作视频监控器,摄像头采集到的数据经过H264编码后无法显示是什么原因?该如何解决
用ARM开发板制作视频监控器,摄像头采集到的数据经过H264编码后无法显示是什么原因?
最近用ARM开发板自己制作个视频监控器,用摄像头直接采集些帧数据(用YUV格式保存),直接用测试程序读该YUV格式文件可以在本地一帧帧的现实;但通过H264无线视频压缩编码和解码后(官方网站下的),测试通过编码和解码得到的数据时无法显示,有没有哪位用过该H264压缩视频编码与解码的源文件的啊 ,给小弟我点指示啊。
在这个H264源代码中,有encoder.cfg,decoder.cfg编码和解码的配置文件,输入原始编码文件为movie.yuv(摄像头采集到的,直接测试可正常显示),通过编码程序后会得到test.264(编码后的文件)和test_recv.yuv(截取movie.yuv中的部分用来和解码后的文件作参照),但是直接测试该test_recv.yuv文件也不能显示,这就很大的疑惑了???把test.264经过解码程序后会得到一个解码后的文件test_dec.yuv,将该文件和之前参照文件test_recv.yuv对比,基本上两个文件数据相同,测试解码后的文件也不能正常显示,急啊······
之前想法是可能是要重新修改配置文件中的参数(encoder.cfg),但是我对应的修改了也是无果,还有就是编码怎么这么慢啊,能它效率点么?有没有哪位大侠遇到过相似的问题的啊,寻求帮助啊 ,不胜感激····
下载的源代码名称是:无线通信压缩协议h.264算法的源代码.rar
下载地址是:http://www.61ic.com/vip/Multimedia/VideoCoding/200907/17890.html[align=left][/align][size=18px][/size]
------解决方案--------------------
我怀疑是你的参数配置错误,没有将源数据设置为你的YUV格式。编码程序将你的YUV当作其它格式来编码,当然不正确。
或者你的YUV和编码程序要求的YUV不一致。比如说 两个16位像素编码成1个16bit是YUV,两个24位像素编码成1个32bit也是YUV。YUV格式不匹配当然也要出问题。
最近用ARM开发板自己制作个视频监控器,用摄像头直接采集些帧数据(用YUV格式保存),直接用测试程序读该YUV格式文件可以在本地一帧帧的现实;但通过H264无线视频压缩编码和解码后(官方网站下的),测试通过编码和解码得到的数据时无法显示,有没有哪位用过该H264压缩视频编码与解码的源文件的啊 ,给小弟我点指示啊。
在这个H264源代码中,有encoder.cfg,decoder.cfg编码和解码的配置文件,输入原始编码文件为movie.yuv(摄像头采集到的,直接测试可正常显示),通过编码程序后会得到test.264(编码后的文件)和test_recv.yuv(截取movie.yuv中的部分用来和解码后的文件作参照),但是直接测试该test_recv.yuv文件也不能显示,这就很大的疑惑了???把test.264经过解码程序后会得到一个解码后的文件test_dec.yuv,将该文件和之前参照文件test_recv.yuv对比,基本上两个文件数据相同,测试解码后的文件也不能正常显示,急啊······
之前想法是可能是要重新修改配置文件中的参数(encoder.cfg),但是我对应的修改了也是无果,还有就是编码怎么这么慢啊,能它效率点么?有没有哪位大侠遇到过相似的问题的啊,寻求帮助啊 ,不胜感激····
下载的源代码名称是:无线通信压缩协议h.264算法的源代码.rar
下载地址是:http://www.61ic.com/vip/Multimedia/VideoCoding/200907/17890.html[align=left][/align][size=18px][/size]
------解决方案--------------------
我怀疑是你的参数配置错误,没有将源数据设置为你的YUV格式。编码程序将你的YUV当作其它格式来编码,当然不正确。
或者你的YUV和编码程序要求的YUV不一致。比如说 两个16位像素编码成1个16bit是YUV,两个24位像素编码成1个32bit也是YUV。YUV格式不匹配当然也要出问题。