MPlayer 开始支持RTSP/RTP流媒体文件
hostzhu点评:MPlayer对流媒体的支持,让大家能更进一步地利用linux来看网络直播,对Linux下多媒体应用的推动作用可以说不可度量。
RTSP/RTP streaming support for MPlayer
The Open Source "MPlayer" media player can now receive and play standards-comp
liant RTP audio/video streams, using the "LIVE555 Streaming Media" source code
libraries.
* For example, MPlayer can be used to view the MPEG/RTP streams sent by th
e "testMP3Streamer", "testMPEGVideoStreamer" or "testMPEGAudioVideoStreamer" d
emo applications, using the corresponding ".sdp" file (or, if the built-in RTS
P server is enabled, using a "rtsp://" URL).
* MPlayer can also play many other "rtsp://" streams, including ISMA-compl
iant MPEG-4 audio/video streams.
Note: We now recommend the use of the VLC media player. VLC, like MPlayer, use
s the "LIVE555 Streaming Media" code for RTSP client support, but is generally
more reliable than MPlayer. The VLC web site also has pre-built binary versio
ns; you may not need to build it from source code.
Building MPlayer to support RTSP/RTP streaming
Please do the following steps, in order:
1. Download and build the "LIVE555 Streaming Media" libraries. You may wish
to move the resulting "live/" directory to "/usr/local/", "/usr/local/lib/",
or "/usr/lib/". (Note: If you do this, you must move the entire "live/" direct
ory - not just the library files.)
2. Download the newest version of the MPlayer source code.
3. If, in Step 1, you moved the "live/" directory to "/usr/local/", "/usr/l
ocal/lib/", or "/usr/lib/", run
cd MPlayer* ; ./configure --enable-live
Otherwise, run
cd MPlayer* ; ./configure --enable-live --with-livelibdir=
4. Now, build and install MPlayer as usual - i.e.,
make ; make install
(Note that you must build MPlayer with the same version of "gcc" that yo
u used to build the LIVE555 Streaming Media code.)
Running the new MPlayer
MPlayer can be run just as before. However, it can now open "rtsp://" URLs:
mplayer rtsp:///
* To see details of the complete RTSP protocol exchange, add the "-V" ( ve
rbose ) option.
Alternatively, using a "sdp://" pseudo-URL, MPlayer can read a SDP file that d
escribes a RTP session:
mplayer sdp://
(SDP files are usually used only for playing multicast RTP sessions.)
Audio/Video synchronization
MPlayer s "A-V:" display (at the bottom of the console window) shows the curre
nt time difference (in seconds) between the audio and video streams. MPlayer w
ill automatically attempt to synchronize audio and video - i.e., to bring the
"A-V:" number close to zero - using information provided by incoming RTCP "Sen
der Report" packets. Sometimes, however, MPlayer s default synchronization mec
hanism can be slow to respond. If you need to make it respond more aggressivel
y, try adding the option
-mc 10
MPlayer s principal author has also written an informative article that discus
ses techniques for tuning the performance of MPlayer.
Streaming over TCP
By default, incoming data (RTP and RTCP packets) are streamed using UDP. If, h
owever, you have a broken Internet connection that (for whatever reason) does
not pass incoming UDP packets, then you can ask that the incoming data be stre
amed over TCP instead. (It will use the same TCP connection as RTSP.)
To do this, add the option
-rtsp-stream-over-tcp
to MPlayer. (Note that TCP streaming can be used only with "rtsp://" URLs; it
can t be used with sessions that are specified using a SDP file.)
Streaming access-controlled RTSP sessions
Some RTSP servers require user authentication (via a name and password) before
a session can be streamed. To stream such a session, use the "-user -passwd " options. The program authenticates using RTSP "digest au
thentication"; the password will not get sent in the clear over the net.
Alternatively, you could try including the user name and password inside the U
RL, as: "rtsp://:@:". (In this case, thoug
h, the password will be sent in the clear over the net.)
Playing SIP (IP telephony) sessions
MPlayer can also open and play SIP IP telephony sessions - i.e., those specifi
ed by a "sip:" URL. Of course, because MPlayer is a receive-only application,
you can listen in on such sessions - but you won t be able to talk back. (For
two-way communication on a SIP session, you should instead use a dedicated SIP
softphone application, such as linphone.)
A note about RealAudio and RealVideo sessions
Note that the LIVE555 Streaming Media libraries do not support RealAudio and/o
r RealVideo streams - even those described by a "rtsp://" URL - because these
streams do not use RTP for transport. (Instead, these streams use RealNetworks
proprietary "RDT" protocol.)
Recently, however, MPlayer was updated so that it can play RealAudio/RealVideo
"rtsp://" streams. It does this by first checking whether the URL ends with "
.rm" or ".ra". If it does, it handles it as a special case, not using the LIVE
555 Streaming Media support. Otherwise, it uses the LIVE555 Streaming Media su
pport, as usual.
Support
General questions about MPlayer should be posted to one of the MPlayer mailing
lists. However, questions specifically about the RTSP/RTP streaming support (
except for playing RealAudio or RealVideo streams) should be posted instead to
the "LIVE555 Streaming Media" developers mailing list.
Work still to be done...
* Support additional RTP media types. At present, the following media type
s are known to work:
audio: MPEG-1 or 2 elementary streams (including layer III - i.e., "MP3"
); MPEG-4 (AAC) audio; PCM (u-law or a-law); GSM; AC-3; QCELP
video: MPEG-1, 2 or 4 elementary streams; H.263+; motion-JPEG
* Use the RTSP "PAUSE" and "PLAY" commands to support the pausing and seek
ing of RTSP-initiated streams.
* Handle video RTP multicast sessions that contain more than one video sou
rce (multiplexed by RTP SSRC) - e.g., sessions such as the MBone "Places all o
ver the world". For example, MPlayer might pop up a separate video window for
each such source.
播放网络文件信息
2 Playing rtsp://gnu-linux.3322.org/test.3gp.avi.
3 Resolving gnu-linux.3322.org for AF_INET...
4 Connecting to server gnu-linux.3322.org[58.41.179.173]: 554...
5 rtsp_session: unsupported RTSP server. Server type is 'LAIM1.0.0'.
6 Resolving gnu-linux.3322.org for AF_INET...
7 Connecting to server gnu-linux.3322.org[58.41.179.173]: 80...
8 Server returned 404: Not Found
9 No stream found to handle url rtsp://gnu-linux.3322.org/test.3gp.avi
MPlayer 开始支持RTSP/RTP流媒体文件的更多相关文章
- RTSP服务器之————rtsp-server(轻量级RTSP / RTP流媒体服务器)
github:https://github.com/revmischa/rtsp-server 轻量级RTSP / RTP流媒体服务器
- 如何在MPlayer上支持RTSP
http://www.live555.com/mplayer/ 请按照如下步骤 下载 "LIVE555 Streaming Media" l的库的源码, 解压后 将"li ...
- javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- EasyPusher/EasyDarwin支持H.265 RTSP/RTP直播推流与分发播放
前言描述 随着大屏时代和高清时代的到来,人们已经不再满足于VGA.CIF这种小分辨率了,取而代之的是720P.1080P.4K级的视频传输,虽然我们国家的基础带宽一直在上升,但普遍情况下,传输高清视频 ...
- SIP SDP RTSP RTP RTCP webrtc
rfc1889 rfc2326 rfc3261 rfc3550 rfc3856 rfc6120. SIP SDP RTSP RTP RTCP,就像他们出现的顺序一样,他们在实际应用中的启用 ...
- ONVIF、RTSP/RTP、FFMPEG的开发实录
前言 本文从零基础一步步实现ONVIF协议.RTSP/RTP协议获取IPC实时视频流.FFMPEG解码.开发环境为WIN7 32位 + VS2010. 最终成功获取浩云.海康.大华的IPC实时视频流. ...
- 【视频开发】ONVIF、RTSP/RTP、FFMPEG的开发实录
ONVIF.RTSP/RTP.FFMPEG的开发实录 前言 本文从零基础一步步实现ONVIF协议.RTSP/RTP协议获取IPC实时视频流.FFMPEG解码.开发环境为WIN7 32位 + VS201 ...
- 课堂/会议同屏教学解决方案之RTSP/RTP over UDP组播解决方案
问题 在之前的博客<EasyIPCamera实现Windows PC桌面.安卓Android桌面同屏直播,助力无纸化会议系统>我们描述了一套基于EasyIPCamera的同屏功能,但是这个 ...
随机推荐
- 'hibernate.dialect' must be set when no Connection available
今天碰到的这个问题,非常无厘头.网上搜索了非常多.都不靠谱,还是靠自己 解决方法是在hibernate.cfg.xml中加入 <property name="dialect" ...
- log4js-Node.js中的日志管理模块使用与封装
开发过程中,日志记录是不可缺少的事情.尤其是生产系统中常常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源代码地址:点击打开链接 项目引用方 ...
- Oracle 数据块损坏与恢复具体解释
1.什么是块损坏: 所谓损坏的数据块,是指块没有採用可识别的 Oracle 格式,或者其内容在内部不一致. 通常情况下,损坏是由硬件故障或操作系统问题引起的.Oracle 数据库将损坏的块标识为&qu ...
- RDLC报表钻取空白页问题
在改动报表查询条件时,钻取页突然空白了,百思不得其解,之前好好的,研究了一个下午和一个晚上.查资料等等,网上非常多资料都是设置报表的 ConsumeConteinerWhitespace = True ...
- Gym-101915A Printing Books 模拟
题面 题意:给你N,X, X表示这本书从X开始编号,每个X是几位数,计数器就加几, 然后问你如果从X,开始编号,计数器为N的时候,翻了几页,不能刚好为N输出-1. (例如,5 99,答案为2,因为 ...
- vue插件 vue-seamless-scroll 无缝滚动插件ES6使用总结
最近因为需求需要写一个项目信息无缝向上滚动组件,在网上搜了一下,看到大家的一致好评就果断的使用了vue-seamless-scroll组件.下面就简单的介绍它的使用,具体详细的使用推荐大家去看下开发者 ...
- 批量插入 SqlBulkCopy的测试
关于SqlBulkCopy的测试 最近要做.net关于sql大量插入,找到了sqlbulkcopy(自己google下,应该很多说明了)这个好东西,于是测试下性能,用了三个方法对比: 1)直接用ado ...
- Windows 文件自动同步共享工具
操作地址: http://blog.sina.com.cn/s/blog_1320088ed0102uxln.html下载地址: http://www.zisync.com/download
- lua单链表实现
List = {} --创建一个节点 function List.new(val) return {pnext = nil, value = val} end --往一个节点后添加一个节点 funct ...
- TensorFlow-LSTM序列预测
问题情境:已知某一天内到目前为止股票各个时刻的价格,预测接下来短时间内的价格变化. import tushare as ts import time from collections import n ...