前面两篇博客说明了如何用HI3518生成视频H264数据及分析H264数据格式,但常规是将H264数据通过网络发送出去,能让客户端也能远程观看HI3518拍摄到的视频。下面介绍一种比较简单的应用,将HI3518当作服务器,用RTSP打包H264数据可以在局域网内采用rtsp观看。
将代码放在虚拟机hi3518目录下,直接make编译,编译完后生成可执行程序rtsp,将rtsp通过TFTP传到开发板,并改权限让其可执行,然后输入./rtsp运行程序,在电脑上打开VLC软件,按下图设然后点击播放就可在播放器上显示拍摄到的图面。
VCL播放界面,注意VLC左上角是RTSP网址,不是H264文件:
主函数代码:
int main(void)
{
int s32MainFd,temp;
struct timespec ts = { 2, 0 };
pthread_t id;
ringmalloc(720*576); //分配环形缓冲区,总共32个,每个大小为size
printf("RTSP server START\n");
PrefsInit(); //位于rtspservice.c 设置服务器信息全局变量,设置内容保存在stPrefs结构体
printf("listen for client connecting...\n");
signal(SIGINT, IntHandl);//中断信号