RTMP的协议有以下的参数:
RTMP: 其原始采用TCP port 1935
RTMPS: 将RTMP加载到SSL的安全机制,就类似HTTPS。
RTMPE: 采用Adobe所提供给RTMP所发展的加密版本。
RTMPT: 在RTMP上加挂he RTMP protocol 封装在HTTP请求中,可以穿越防火墙。这是一个很不错的协议,使用TCP端口80和443绕过公司对防火墙。封装的会话可能携带纯RTMP,RTMPS或RTMPE包内。
RTMP 串流
VLC 在 2.0.x版本里可以支持RTMP协议。不过,有些环境却没法执行,例如2.0.2, 2.0.3, 2.0.4, 2.0.6在Windows 2008 Server 64的服务器上确实没法执行。可以开启VLC然后开启网络串流,如“RTMP://aaa.bbb.com:1935/live/串流源“,看看可否开 启。主要是VLC 2.0.x采用 ffmpeg/libav的程序库,但是, 有的包装却没法支持。所以必须先做确认。当 librtmp 的支持被启动于 ffmpeg/libav 则RTMPS才可以有功用。
VLC和RTMP的情形主要是用来捕获和转码应用程序生成一个单一的流。是通过另一个应用程序分配给多个客户端。这在Wowza是非常重要的。虽然,Wowza也支持VLC采用UDP/RTP/RTSP方式接收串流,但是,很多情况下是很不稳定的。
LC直接连接到一个的RTMP串流,如WOWZA,不听传入的请求。因此,它是不可能的,以查看的RTMP流直接从VLC。您需要连接到WOWZA,观看流。这是可以用VLC做到的:
$ vlc rtmp://rtmp.server.com:1935/path/to/stream
有件事必须提醒的。从VLC将RTMP串流传送给Wowza服务器并不是都很稳定的。有一些时间关系的“虫”会造成Wowza关闭连线。 这样的问题都是与“音频”与”视频“时间戳(Timestamp)有关系的。采用“audio-desync” 选项来整合RTMP也不是个好点子,但是, 可以不断调整与修改。
Webcam RTMP streaming
以下是有关webcam的应用。其他的有采集装置、设备、视频文档等应用。
Windows 的范例
在windows的采集装置都是利用DirectShow这个界面的。在VLC的模块也是用这样的界面,成为“DirectShow“或”dshow”。以下是范例:
$ vlc dshow://"" --sout '#transcode{vcodec=h264,vb=300,fps=25,scale=1,acodec=mp4a,
ab=64,channels=2}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://rtmp.server.com:1935/path/to/stream}'
DirectShow选项也可在QT界面里采用
Linux 的范例
通常在Linux的采集装置上都是采用“video for linux” (v4l2)这个界面。使用指令方式来采集webcam装置(或称为”v4l2 装置”)送出RTMP串流的范例如下:
$ vlc v4l2:// --v4l2-fps=25 --sout '#transcode{vcodec=h264,vb=300,fps=25,scale=1,
acodec=mp4a,ab=64,channels=2}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://rtmp.server.com:1935/path/to/stream}'
这个例子可以自动侦测 v4l2 装置并且选择第一个装置来采集讯号。其他的参数选项如视频标准(PAL, NTSC)、Chroma、宽度、长度等等可以自行设置。必须要注意的是,这些参数设置跟本身的设备有关。 当我门使用debug模式 (-vvv),VLC自身的video for linux (v4l2) 模块会显示出执行时所出现的数值讯息。v4l2 模块提供以下可作为优化的选项:
–v4l2-dev=: 指定所要采集的特定装置
–v4l2-standard=: 使用哪种视频标准,例如: SECAM, PAL, NTSC and more
–v4l2-width=: 视频呈现的宽度(in pixels)
–v4l2-height=: 视频呈现的长度度(in pixels)
以上是描述有关v4l2的参数选项。完整的v4l2模块讯息,可以利用下面的指令查询。
$ vlc -H -p v4l2 --advanced
以下是另一个将http串流转码(transcode)到RTMP给Adobe Flash Media Server或Wowza Media Server等视频服务器
cvlc -I dummy http。//orginalstreamIPaddress:50014 --sout-mux-caching=5000
--sout='#transcode{venc=x264{keyint=60},vcodec=h264,vb=800}:std{access=rtmp,
mux=ffmpeg{mux=flv},dst=rtmp。//destinationIPaddress:1935/live/StreamFile}}' &
这是用ffmpeg的方法:
ffmpeg -i http。//OriginalIPAddress:50010 -vcodec libx264 -vb 800k
-acodec libfaac -ab 64k -f flv rtmp。//DestinationIPAddress:1935/live/StreamFile
你需要在自己电脑上搭建个web服务器,然后把视频文件放入web根目录。有很多web服务器软件可供选择,如Apach、iis、nginx,需要自己安装部署。
或者使用一些简易服务器软件,一键开启。
步骤1:确定视频传输通道由于查看视频监控服务器的画面需要通过网络传输,因此视频监控服务器必须能连接互联网。在这之前为了能正常访问视频监控服务器,必须解决一个问题--如何从外部网络访问视频监控服务器。一般来说,监控服务器的联网方法有两种。一种是直接由监控服务器电脑拨号上网,这种联网方式比较简单,只要监控服务器成功运行,然后拨号上网,再运行动态域名解析软件和视频监控软件即可。另一种方法主要针对使用路由器上网的电脑进行端口映射,要想从外网访问,就必须给内网分配一个外网IP地址。因此必须申请动态域名解析服务。[fenye]
步骤2:监控设备的选择
设置完网络参数,接着搭建视频监控服务器。视频监控服务器就是一台配有摄像头且可以上网的电脑。由于需要长时间开机,因此要求电脑稳定性较高、功耗较低。笔者在客厅放置的视频监控服务器选用的是整合凌动CPU的小型主板,并配有静音风扇。软件方面,可以使用Webcamxp充当视频监控软件客户端
步骤3:确定音/视频源
为了让用户能够访问视频摄像头,还需要对客户端软件的视频和音频监控源进行设置,在视频监控软件的“sources monitor”选项卡的“tools/options”中有两个类别,分别是音频源(audio source)和视频源(video source),可在此设定对应的摄像头设备和麦克风设备。
步骤4:建立外部监控通道
由于用户要通过网络查看视频监控服务器上的监控视频,因此接下来要把客户端软件获取的视频和音频对外发布。可通过客户端软件的“web/broadcast”选项卡中的“内部http服务器”选项进行设置。
如果直连互联网,可以使用“搜索WAN IP”选项,勾选“启动时检测WAN IP”选项,这样客户端软件会自动获取视频监控服务器的公网IP。如果使用宽带路由器进行联网,则在软件的“内部IP地址”中输入手动分配给该视频监控服务器的内网IP地址,并关闭“启动时检测WAN IP”选项。完成这些设置后,点击WEB Server按钮即可启动对外广播功能。
经过以上设置后,只要在任何一台已经连接网络的电脑上输入自己申请的域名,即可看到家中情况。
更多参考艾维音响网
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)