在DM8168中通过live555实现rtsp的直播(部分修改)
2015-04-14 20:11
375 查看
1、源码
[align=left] http://live555.com/liveMedia/public/点击打开链接[/align]
2、实现交叉编译
[align=left] 第一步: [/align]
[align=left](针对不同的平台,config的后缀不同,armlinux是针对linux的arm而言的。若是在linux操作系统下,则不需要再编译confid.arnlinux,也不用修改CROSS_COMPILE编译器) [/align]
[align=left] vim config.armlinux(先sudo chmod 777 config.armlinux 改变读写权限,再修改)[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] 修改: CROSS_COMPILE?= arm-none-linux-gnueabi- (在此处带上编译器的绝对路径比较好)[/align]
[align=left] (这里修改CROSS_COMPILE的原因是,只有使用上面的交叉编译器,才能生成arm能够识别的可执行文件。若在linux系统下使用,则不需要修改)[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left][/align]
[align=left] 第二步: [/align]
[align=left] ./genMakefiles armlinux (如果显示can not open genMakefiles,加sudo ,如果还是不行的话,就切换到root用户)[/align]
(若在linux系统下使用,则运行./genMakefiles
linux )
[align=left] [/align]
[align=left] make (如果显示错误Media.o 不能创建,则用sudo make)[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] 第三步: [/align]
然后,下载test.264的文件到MediaServer目录下,执行 ./live555MediaServer。在PC端打开VLC,选择打开网络串流文件,
输入显示的URL,如rtsp://192.168.1.109/test.264, 就可以看到视频啦。
(若想从live555MediaServer运行中退出来,可以先ps一下,查看当前进程的PID,然后执行kill -s 9 PID号,这就就可以彻底的关闭这个进程,而不用关闭这个终端)
第四步:
若要从linux系统换到其他的系统,在live目录下使用make clean 一下。
注:以下内容可以忽略
[align=left] 挂载:[/align]
busybox mount -t nfs -o nolock 172.16.0.73:/xubinbin/live555/live
/mnt
[align=left]3、利用有名管道来实现数据的传输[/align]
[align=left] 在live555中的testProgs/testH264VideoStreamer.cpp默认文件问test.264, 修改为/tmp/test.264[/align]
在视频采集进程中添加:
int rtsp_fd;
char rtsp_filename[128];
int socket_server_init()
{
memcpy(rtsp_filename,"/tmp/test.264",sizeof(rtsp_filename));
unlink(rtsp_filename);
if (access(rtsp_filename, F_OK) != 0) {
if (mkfifo(rtsp_filename, 0666) < 0) {
OSA_printf("Failed to mkfifo %s\n", rtsp_filename);
return FALSE;
}
}
if (system("/home/testH264VideoStreamer &") != 0) {
OSA_printf("Failed to execute system command");
return FALSE;
}
rtsp_fd = open(rtsp_filename, O_WRONLY);
if (rtsp_fd <= 0) {
OSA_printf("Failed to open file %s\n", rtsp_filename);
}
else {
OSA_printf("Open file %s for server\n", rtsp_filename);
}
return 0;
}
write(rtsp_fd,pFullBuf->bufVirtAddr,pFullBuf->filledBufSize);
int socket_server_init()
{
//删除文件,资源释放,数据清空
}
复制代码
(笔记分享 技术交流
xubbwd@foxmail.com)
[align=left] http://live555.com/liveMedia/public/点击打开链接[/align]
2、实现交叉编译
[align=left] 第一步: [/align]
[align=left](针对不同的平台,config的后缀不同,armlinux是针对linux的arm而言的。若是在linux操作系统下,则不需要再编译confid.arnlinux,也不用修改CROSS_COMPILE编译器) [/align]
[align=left] vim config.armlinux(先sudo chmod 777 config.armlinux 改变读写权限,再修改)[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] 修改: CROSS_COMPILE?= arm-none-linux-gnueabi- (在此处带上编译器的绝对路径比较好)[/align]
[align=left] (这里修改CROSS_COMPILE的原因是,只有使用上面的交叉编译器,才能生成arm能够识别的可执行文件。若在linux系统下使用,则不需要修改)[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left][/align]
[align=left] 第二步: [/align]
[align=left] ./genMakefiles armlinux (如果显示can not open genMakefiles,加sudo ,如果还是不行的话,就切换到root用户)[/align]
(若在linux系统下使用,则运行./genMakefiles
linux )
[align=left] [/align]
[align=left] make (如果显示错误Media.o 不能创建,则用sudo make)[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] 第三步: [/align]
然后,下载test.264的文件到MediaServer目录下,执行 ./live555MediaServer。在PC端打开VLC,选择打开网络串流文件,
输入显示的URL,如rtsp://192.168.1.109/test.264, 就可以看到视频啦。
(若想从live555MediaServer运行中退出来,可以先ps一下,查看当前进程的PID,然后执行kill -s 9 PID号,这就就可以彻底的关闭这个进程,而不用关闭这个终端)
第四步:
若要从linux系统换到其他的系统,在live目录下使用make clean 一下。
注:以下内容可以忽略
[align=left] 挂载:[/align]
busybox mount -t nfs -o nolock 172.16.0.73:/xubinbin/live555/live
/mnt
[align=left]3、利用有名管道来实现数据的传输[/align]
[align=left] 在live555中的testProgs/testH264VideoStreamer.cpp默认文件问test.264, 修改为/tmp/test.264[/align]
在视频采集进程中添加:
int rtsp_fd;
char rtsp_filename[128];
int socket_server_init()
{
memcpy(rtsp_filename,"/tmp/test.264",sizeof(rtsp_filename));
unlink(rtsp_filename);
if (access(rtsp_filename, F_OK) != 0) {
if (mkfifo(rtsp_filename, 0666) < 0) {
OSA_printf("Failed to mkfifo %s\n", rtsp_filename);
return FALSE;
}
}
if (system("/home/testH264VideoStreamer &") != 0) {
OSA_printf("Failed to execute system command");
return FALSE;
}
rtsp_fd = open(rtsp_filename, O_WRONLY);
if (rtsp_fd <= 0) {
OSA_printf("Failed to open file %s\n", rtsp_filename);
}
else {
OSA_printf("Open file %s for server\n", rtsp_filename);
}
return 0;
}
write(rtsp_fd,pFullBuf->bufVirtAddr,pFullBuf->filledBufSize);
int socket_server_init()
{
//删除文件,资源释放,数据清空
}
复制代码
(笔记分享 技术交流
xubbwd@foxmail.com)
相关文章推荐
- 通过live555实现H264 RTSP直播(Windows版)
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- 【视频开发】【Live555】通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播(Windows版)
- 通过live555实现H264 RTSP直播(Windows版)
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播(Windows版)
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- [live555]rtsp直播基于live555的实现
- EasyPusher:基于live555的DarwinInjector实现的RTSP直播推送程序
- EasyPusher:基于live555的DarwinInjector实现的RTSP直播推送程序
- 基于live555实现rtsp视频直播
- LIVE555再学习 -- FFmpeg + live555实现RTSP直播