开源的视频传输框架 linux下可调 像live555 ffmpeg 之类的 还有那些 具体是啥 最好有对比的文章资料
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源的视频传输框架 linux下可调 像live555 ffmpeg 之类的 还有那些 具体是啥 最好有对比的文章资料相关的知识,希望对你有一定的参考价值。
最近在做监控系统 用了下live555 像知道还有没有类似的框架 最好能提供下各框架对比的文章
参考技术A gstreamer不是很懂流媒体,不过以前用过gstreamer 做rtsp服务器本回答被提问者采纳
live555笔记_hi3516A
1、简介
是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。
2、下载
3、移植
3.1、配置交叉编译选项
修改配置文件config.armlinux,只需要修改第一行配置交叉编译工具为自己所用的平台
CROSS_COMPILE?=arm-hisiv100nptl-Linux-
保存。
3.2、生成makele
# ./genMakefiles armlinux
3.3、交叉编译与安装
# make; make install
4、测试
将mediaServer目录下面的live555MediaServer拷贝至ipc环境下,运行。
在windows平台上,通过VLC media player软件中打开网络串流输入地址:rtsp://172.18.197.152/test.264可以点播视频文件
(172.18.197.152 IPC的地址,test.264是放在运行live555MediaServer目录下的视频文件)
备注:
运行之前,拷贝在运行目录下放置.264后缀的视频文件。
live555MediaServer的运行依赖C++库libstdc++.so.6,该库可以在hisi-SDK中可以找到,拷贝进ipc,用命令export LD_LIBRARY_PATH=./添加库的环境变量。
问题:在make时报错了,错误信息如下:
In file included from MPEG4GenericRTPSink.cpp:22:
include/Locale.hh:47: fatal error: xlocale.h: No such file or directory
compilation terminated.
make[1]: *** [MPEG4GenericRTPSink.o] Error 1
make[1]: Leaving directory `/mnt/hgfs/share/live555/live/liveMedia‘
make: *** [all] Error 2
原因:
由于海思使用的是uClinux,并没有xlocale.h这个头文件,而live555内部的一个locale模块调用了(见liveMeida/locale.hh),因此通过编译选项把他去掉。
解决:
在COMPILE_OPTS选项末尾加入-DLOCALE_NOT_USED选项,保存,重新运行./genMakefile ,生成makefile 之后重新编译,可以正常通过
live555MediaServer
./live555MediaServer
LIVE555 Media Server
version 0.88 (LIVE555 Streaming Media library version 2016.01.29).
Play streams from this server using the URL
//推送的rtsp流
rtsp://115.28.158.166/<filename>
where <filename> is a file present in the current directory.
Each file‘s type is inferred from its name suffix:
//此处可得知,支持的格式有限
".264" => a H.264 Video Elementary Stream file
".265" => a H.265 Video Elementary Stream file
".aac" => an AAC Audio (ADTS format) file
".ac3" => an AC-3 Audio file
".amr" => an AMR Audio file
".dv" => a DV Video file
".m4e" => a MPEG-4 Video Elementary Stream file
".mkv" => a Matroska audio+video+(optional)subtitles file
".mp3" => a MPEG-1 or 2 Audio file
".mpg" => a MPEG-1 or 2 Program Stream (audio+video) file
".ogg" or ".ogv" or ".opus" => an Ogg audio and/or video file
".ts" => a MPEG Transport Stream file
(a ".tsx" index file - if present - provides server ‘trick play‘ support)
".vob" => a VOB (MPEG-2 video with AC-3 audio) file
".wav" => a WAV Audio file
".webm" => a WebM audio(Vorbis)+video(VP8) file
See http://www.live555.com/mediaServer/ for additional documentation.
//默认80端口,否则被占用
(We use port 80 for optional RTSP-over-HTTP tunneling, or for HTTP live streaming (for indexed Transport Stream files only).)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
此时可接收试试
其它测试
在testProgs
文件夹中,有诸多生成的文件
以上是关于开源的视频传输框架 linux下可调 像live555 ffmpeg 之类的 还有那些 具体是啥 最好有对比的文章资料的主要内容,如果未能解决你的问题,请参考以下文章
linux下的开源移动图像监测程序--motion编译与配置