在linux Mint下架设流媒体服务器的经验

在linux Mint下架设流媒体服务器的经验

ffmpeg与Libav之争

定位都是音视频解码。libav是从ffmpeg分支而来,主要是有一小撮程序员不满ffmpeg的开发管理架构,照他们的说法,不满于ffmpeg的独裁管理方式,对代码有写权限的人太少,导致很多程序员觉得不够自由,详情可以参考链接。在ubuntu14.04时,repository里用libav替代了ffmpeg。如果想使用ffmpeg的话,可能需要使用第三方ppa或自己下载源码编译。这对ffmpeg来说是个不小的打击,因为ubuntu目前在linux发行版中处于前三的位置。但是在ubuntu 15时,会将ffmpeg重新纳入进来。从使用的角度来说,libav的发布周期非常短,会非常及时把一些新的更新包含进来,但是如果真要实用的话,个人还是持保留意见;并且它会包含一些API break的东西。libav给开发者带来了足够的自由度与发挥空间,但是一定程度上忽略了用户的感受。ffmpeg经过这次纷争,态度也慢慢变得开放,可以说是一件好事。

gstreamer

定位是多媒体开发框架,其自身提供了一个多媒体文件处理的管道架构,通过提供插件机制来处理多媒体文件。也就是说它本身不能对文件进行处理,但是可以通过插件方式支持各种需求。因此其社区非常强大。如果是想做二次开发,还是gstreamer会比较合适。如果直接上ffmpeg/libav的话,可能学习曲线略高。

Darwin Streaming Server

目前需要自己手动编译,需要打2个patch:dss-6.0.3.patch,dss-hh-20080728-1.patch。
DarwinStreamingServer:流媒体服务器
streamingadminserver.pl:web管理服务器
/usr/local/movies:多媒体文件目录
/var/streaming:web管理服务器目录,日志目录,playlist
在linux Mint下架设流媒体服务器的经验_第1张图片

问题

如果mp4不包含hint信息,不能通过rtsp协议播放;
可以通过MP4Box置入hint信息
sudo apt-get install gpac
MP4Box -hint input.mp4

对于非mp4的文件,怎么转码
使用avconv转码

你可能感兴趣的:(流媒体,流媒体)