This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
最近在开发基于DM365的DVR,在H264编码上遇到了一些问题。由于用到了Previewer驱动将TVP5146输出的视频转为NV12(YUV420SP)格式,导致输出视频和H264录像文件中奇行数据丢失。为此我们专门制作了特殊视频用TI的DEMO程序进行了测试:若视频奇行为白色偶行为黑色时,输出视频显示全白,若奇行为黑色偶行为白色时,输出显示全黑。也就是说Previewer在做转换时,直接将偶行数据丢掉了。
仔细研究了Previewer代码也无法找到解决此问题的途径,因此我们考虑不用Previewer,在dvsdk中关掉Previewer和Resizer,采集的视频直接以UYVY形式存放到DDR,但新的问题又出现了:H264编码器(HDVICP)无法正常工作,程序报错。
经反复研究,最后在一篇文档中找到原因:DM365的H264编码器只能在YUV420SP格式下工作,不支持UYVY格式的数据。而不用Previewer就不能得到420SP格式的视频(试过自己写代码转换,但ARM效率太低,实时性达不到)。
最后我们想到了MPEG4编码(MCBSP),改用MPEG4编码又遇到新问题:录像生成的文件(码流)在windows下用任何播放器都无法正常播放,咨询了技术支持才知道需要加封装,因此我们按照AVI标准对其进行了封装,现在用暴风影音已经能够正常播放所有录像文件,但有少部分文件无法用windows自带的媒体播放器放,仔细检查AVI头部每一个字段仍无法找到原因,快要崩溃了。。。
上面的问题描述的有点乱,DM365的H264编码相信不少人做过,不知有没有人遇到过类似问题,如果能指点一二,感激不尽。能在上述任何一个环节解决问题都好。