1.ambalink 端
将以下两个文件复制到target/usr/bin下面:
sendtortos
youtube_live
2.将以下两个脚本文件复制到target/usr/local/share/script下面
rtsp.sh
#!/bin/sh
###main
str_tmp=""
str_tmp=`ps |grep -r "youtube_live" |grep -v grep`
if [ "$str_tmp" != "" ]; then
killall youtube_live
fi
str_tmp=""
str_tmp=`ps |grep -r "AmbaRTSPServer" |grep -v grep`
if [ "$str_tmp" != "" ]; then
echo "AmbaRTSPServer already running"
exit 0
fi
echo "SendToRTOS reset_vf"
/usr/bin/SendToRTOS reset_vf
sleep 0.5
str_tmp=${1}
if [ "$str_tmp" != "" ]; then
/usr/bin/AmbaRTSPServer --en_audio --en_rtcp
else
/usr/bin/AmbaRTSPServer
fi
rtmp.sh
#!/bin/sh
###main
str_tmp=""
str_tmp=`ps |grep -r "AmbaRTSPServer" |grep -v grep`
if [ "$str_tmp" != "" ]; then
killall AmbaRTSPServer
fi
str_tmp=""
str_tmp=`ps |grep -r "youtube_live" |grep -v grep`
if [ "$str_tmp" != "" ]; then
echo "youtube_live already running"
exit 0
fi
echo "SendToRTOS reset_vf"
/usr/bin/SendToRTOS reset_vf
sleep 0.5
/usr/bin/youtube_live ${1} &
3.视频推送(RTOS):
若要执行RTMP视频推送: 在合适的地方添加以下代码:
AmpNetUtility_luExecNoResponse("/usr/local/share/script/rtmp.sh rtmp");
切回RTSP:
AmpNetUtility_luExecNoResponse("/usr/local/share/script/rtsp.sh --en_audio ");
4.修改文件
applibNet_Base.c 文件 函数:static int AmbaLink_NetEventNotifierCallBack(void *hdlr, UINT32 event, void* info)
更改为如下(RTSP或RTMP重启时RTOS端执行rest_vf)
case EVENTNOTIFIER_LINUXEVENT_RESET_VF:
AppLibComSvcHcmgr_SendMsgNoWait(AMSG_NETCTRL_VF_RESET, 0, 0);
break;