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,花满楼会加你到专业的音视频开发群中。
- ffplay看直播,简洁是美
- 直播--FFPLAY 的原理
- OBS+RED5+FFPLAY构建流媒体点直播平台 —— 实现自己的游戏直播不再是梦想
- 代码之美-简洁
- ffplay不能直播red5上的直播流问题解决
- 封装,一种简洁的美
- 研究方向----简洁的美
- ffplay
- 简洁之美 *dest++ = *source++
- 苹果、Google、亚马逊的简洁之美
- 诸葛孔明的简洁之美
- 看《数学之美》
- ffplay中只能看图像不能听声音的解决方法
- ffplay中只能看图像不能听声音的解决方法
- 从代码阅读看设计之简洁
- 从代码阅读看设计之简洁
- 从代码阅读看设计之简洁
- 在线观看北京奥运会直播 在网上看奥运会直播
- JSON详解
- 9月7日笔记(mysql数据库命令和JDBC)
- HDU 2838 Cow Sorting(树状数组-水题)
- 【LeetCode】Evaluate Reverse Polish Notation(逆波兰表达式求值) -(Linkedin) Medium ++
- Freeline
- ffplay看直播,简洁是美
- mysql日志
- iOS学习笔记-127.SDWebImage3——缓存的清除和操作的取消
- 我所理解的WSGI(关键词:Python/HTTP/WSGI/web开发)
- JS数组方法
- tensorflow学习笔记(1)
- extern 全局变量2
- BZOJ 1895 & POJ 3580 supermemo (splay)
- hdu 1208 Pascal's Travels