监控视频流项目初步接触体验(三)

    本次体验记录,连着上面两篇,是完整的一个过程。同样的,操作系统也是centos 6.9。

    一、转码为RTMP

    

ffmpeg -rtsp_transport tcp -i "rtsp://user:password@ip:port/Streaming/Channels/101?transportmode=unicast&profile=Profile_1" -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -r 25 -b:v 500k -s 640*480 -f flv rtmp://192.168.1.120:1935/myapp/test1

注意几点:

1、 -rtsp_transport tcp:强制使用tcp进行通信

2、user、password、ip、port请格据实际请况,更换成rtsp视频源的用户名、密码、IP地址以及端口号

3、192.168.1.120是我的nginx所在服务器的IP地址,请不要原样copy

    执行完这一句命令后,为了测试,可以在VLC中打开rtmp://192.168.1.120:1935/myapp/test1,便可以进行观看。

    二、转码为HLS

ffmpeg -rtsp_transport tcp -i "rtsp://user:password@ip:port/Streaming/Channels/101?transportmode=unicast&profile=Profile_1" -vcodec copy -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 160*128 -q 10 -f flv rtmp://192.168.1.120:1935/hls/test2

除了和上面几点需要注意的以外,有两点要了解

1、配置文件中hls_path为/tmp/hls,所以流产生的临时文件都在这个路径下。

2、可以用VLC对hls视频源进行播放,也可以在html5下进行播放,例如:

<video controls>
<source src="http://192.168.1.120:8080/hls/test2.m3u8"></source>
</video>

上面转码后的这视频源地址就是:http://192.168.1.120:8080/hls/test2.m3u8。但并不是所有的浏览器都支持m3u8(比如PC端的chrome就不支持)

好了,到这里为止,linux部分的尝试第一段落就结束了。但本系列的文章不会结束,因为还有各种相关的情况要进行试验,都会及时一一记录。

原文地址:https://www.cnblogs.com/ddcoder/p/9072868.html