ffplay看直播,简洁是美

来源:互联网 发布:jk js 编辑:程序博客网 时间:2024/05/01 04:36

原创花满楼,转载须授权。


直播体验

这是用ffplay播放直播的体验。

小白:我用程序员祭天的暴风影音不就好了?为什么要用这个ffpaly?

花满楼:你不觉得干干净净的窗口是最美的吗!

小白:……

ffplay是什么?

ffplay是FFmpeg的一个示例程序,是一个播放器,音视频通杀。

那FFmpeg是什么?请参考文章后面的链接,谢谢!

小白:我知道ffplay就是FFmpeg的一个组装车,跟ffmpeg一样。

花满楼:两者都是组装车,但功能不一样。ffmpeg做录制、编解码、数据提取类的工作,而ffplay就是“播放器”,音视频都听看得到。

小白:那我怎么才能使用ffplay呢,像之前那样安装好FFmpeg就行了吗?

(一)ffplay的安装

两个办法啦。

第一个是编译FFmpeg时连带把ffplay也制造出来,需要增加enable-ffplay编译选项,而且要事先安装sdl,因为ffplay依赖于sdl。

小白:sdl是什么?

花满楼:就是一个跨平台的播放输出。我找机会详细介绍怎么用它画出一个美女。

小白:我要画两个!

第二个办法就是直接用brew来安装了:

brew install sdlbrew install opensslbrew install rtmpdumpbrew install ffmpeg --with-ffplay

小白:这个不是安装FFmpeg的命令吗?

花满楼:是的,但是带上了把ffplay也安装上的参数。别忘了ffplay是离不开FFmpeg的。

小白:那为什么还要安装openssl、rtmpdump之类的东东?

花满楼:如果在调用ffplay时使用rtmp协议,那还要依赖rtmpdump组件,而它又依赖于openssl(对于加密的),所以,干脆都装上呗。

(二)url的获取

ffplay播放一个地址,这个url从哪里来?

本地文件当然是可以的,但我们想看网上的,那就要找找了。

一般可以在网上搜索,或者把地址抓出来。

比如在pc网页上进到“酷狗直播”,打开一个直播间,然后用Charles抓包,可以看到这样的地址:
直播地址
换一个直播间(这个是点播的):
直播地址
再比如,虎牙的一个直播的地址是这样的:
直播地址

小白:等等,什么是抓包?Charles又是什么?

花满楼:这个……我就不展开讲了,你可以看看叶孤城写的逆向系列,上面有详细介绍。

小白:叶孤城?逆向?

或者,在网上搜索一些可用的地址,比如(会过期的,发稿时可用):

香港卫视:rtmp://live.hkstv.hk.lxdns.com/live/hksCCTV1高清:http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8 CCTV3高清:http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8 CCTV5高清:http://ivi.bupt.edu.cn/hls/cctv5hd.m3u8 CCTV5+高清:http://ivi.bupt.edu.cn/hls/cctv5phd.m3u8 CCTV6高清:http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8

(三)ffplay的使用

直接ffplay “url”即可。

小白:ffplay跟ffmpeg一样,也应该有很多参数吧?

花满楼:对的!可以用ffplay -h来查看参数。而且,在播放时,ffplay(实际是sdl窗口)还可以接受键盘按键,比如’w’、’f‘、空格之类,你可以试试。

掌握了ffplay简单的使用之后,我们可以简洁而精致地播放直播了。

再来一个look下吧(ffplay “rtmp://live.hkstv.hk.lxdns.com/live/hks”):
直播体验


鸡汤时间

不要一直以专业的心态或思维去思考问题,很多时候以外行人的角度去看问题会有更多的领悟。

上帝视角是一个好的选择。


多媒体开发,关联阅读

FFmpeg第一次约会


如果你对音视频开发有兴趣,那请关注我们的公众号,并在输入框中发送数字5,花满楼会加你到专业的音视频开发群中。

欢迎关注我们