DM8168成功接受网络摄像机码流1080P总结

来源:互联网 发布:painter中文版 mac 编辑:程序博客网 时间:2024/05/23 19:24

第一、  DVRRDK4.0包用到之后首先需要makesys_all一遍,然后make dvr_rdk才行,现在用的合众达的板子,需要用1G256M内存配置文件,uboot下输入:

setenv bootargs 'mem=256Mconsole=ttyO0,115200n8

root=/dev/nfs nfsroot=192.168.1.199:/RDK/DVRRDK_04.00.00.03/target/rfs_816xip=192.168.1.100:192.168.1.199:192.168.1.1:255.255.255.0::eth0:off vram=20Mnotifyk.vpssm3_sva=0xBEE00000 ddr_mem=1024M'

需要注意的是合众达板子使用的是ttyO0,自己板子用的是O2,在文件系统下需要更改etc/inittab文件里面的波特率,否则不能加载文件系统。

第二、需要解压TI提供的NVR补丁包,里面有OpenRTSP.cpp以及live555框架。当时因为没有这个包搞了好久不知道怎么调用。解压以后需要编译:make live555_all来生成live555的一些静态库:librtsprx.a以及那四个环境相关的静态库。

第三、参考DM385提供的链路文件进行修改移植,编写demo_vdec_vdis_rtsp.c等等文件,都一起放到mcfw_demo文件夹下,需要把生成的start函数放到demo.c里面去,也就是加入新的NVR功能。这里需要修改mcfw_demo下的MAKEFILE.MK文件,否则不能编译通过。

MAKEFILE.MK内容:

include$(dvr_rdk_PATH)/makerules/common_header_a8.mk

INCLUDE+= $(MCFW_INC) $(OSA_INC)$(SYSLINK_INC) $(DEVICES_INC) $(RPE_INC) $(LINUXDEVKIT_INC) $(COMMON_UTILS_INC)-I$(KERNELDIR)/usr/include -I$(live555_PATH)/netra_client \

                   -I$(live555_PATH)/netra_streamer_nvr\

                   -I$(live555_PATH)/BasicUsageEnvironment/include\

                   -I$(live555_PATH)/UsageEnvironment/include\

                   -I$(live555_PATH)/groupsock/include\

                   -I$(live555_PATH)/liveMedia/include\

                   -I$(KERNELDIR)/arch/arm/include

LIBS=        $(LIB_DIR)/dvr_rdk_demo_mcfw_api.a\

         $(MCFW_LIBS)\

         $(AUDIO_LIBS)\

         $(RPE_LIBS)\

$(TI_SW_ROOT)/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/lib/libstdc++.so\

$(TI_SW_ROOT)/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/lib/libsupc++.a\

         $(LIB_DIR)/nvr_rdk_app.a\

         $(LIB_DIR)/dvr_disk.a\

         $(LIB_DIR)/libnsDVR_AVI.a\

         $(LIB_DIR)/libnsDVR_disk.a\

         $(LIB_DIR)/libnsDVR_util.a\

         $(memcpy_neon_PATH)/memcpy_neon.o\

         $(live555_PATH)/netra_client/librtsprx.a

include $(dvr_rdk_PATH)/makerules/common_footer_a8.mk

特别要注意的是一定要加入.so的动态库,否则会出现问题,当时被卡住一个星期。

$(TI_SW_ROOT)/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/lib/libstdc++.so\

$(TI_SW_ROOT)/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/lib/libsupc++.a\

编译还会出现各种路径问题,需要自己在根目录下Rule.make 和makefile文件下修改!

第四:这里面这些函数在DVRRDK下没有,全部屏蔽掉。

第五

出现这个问题是因为

第六:出现这个问题,要看上一个函数frameSize的大小是否分配的合适。

第七:出现如图问题

需要再取得的帧前加帧头,问题解决。

第八:改变layout布局。。。

遗留问题:系统运行两分钟后就死机,正在寻找解决办法。

 

2015年11月26日21:56:39by尹雷

2 0
原创粉丝点击