乐趣区

关于多媒体:多媒体开发1播放

从技能的差异而辨别进去的畛域,都有本人的数据结构与流程。想要精通一个业余畛域,意味着须要了解透它的构造与流程(但有很多了解是能够平移的),然而,这不意味着从概念动手就是最好的方法。找一个切入点,在某个业余畛域实现某个性能,而后在失当的时候再做零碎的概念的了解,这种方法,才是一个好的学习方法。最重要的一点,这是一个乏味的过程。也就是要以问题来驱动学习,如果能做到寓学于教,那就最好了。

多媒体的常识与技能繁多,入门容易而深刻较难。

“媒体”,就是声音、图像、文字这些元素,多个元素合在一起就叫“多媒体”,当这些元素以流协定传输时就叫“流媒体”。

在数字世界,听到的,看到的货色,都是多媒体,而提到多媒体,最容易想到的性能就是播放,小程就从“播放”性能动手,先把这个性能实现,尽量少管概念上的事件。

FFmpeg,这个程序集,在多媒体的技能中常常应用到,这里就应用这个程序集来实现播放性能。

本文介绍如何用 FFmpeg 来实现播放。

FFmpeg 程序集外面,有一个程序叫 ffplay(播放器),它提供了播放的性能。

(1)ffplay 的装置

我应用的是 mac 电脑,在 mac 上装置 ffplay 的方法很简略:

brew install ffmpeg –with-sdl2 –with-rtmpdump

留神,如果发现这个 install 命令不再反对 with-sdl2 或 rtmpdump,那就自行装置,即调整为:

brew install sdl2
brew install rtmpdump
brew install ffmpeg

装置胜利之后,就能够把 ffplay 运行一下,以命令行的形式来运行:


因为我在零碎上装置了一个 ffplay,而后用 FFmpeg 的源码又编译了一个 ffplay,所以有两个不同的版本。

(2)播放

在装置了 ffplay 播放器的状况下,播放就是举手之劳的事。

比方:

ffplay “http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8”
ffplay ~/Desktop/1.mp4

ffplay 能够播放网络上的音视频文件,也能够播放本地的文件。只有有门路(或 url),就能够用 ffplay 来播放。

那除了本地的资源,还能找到一些乏味的 url 来播放吗?

个别能够在网上搜寻,或者把地址抓进去。

比方在 pc 网页上进到“酷狗直播”,关上一个直播间,而后用 Charles 抓包(或其它工具),能够看到这样的地址:

换一个直播间(这个是点播的):

再比方,虎牙的一个直播的地址是这样的:

或者,在网上搜寻一些可用的地址,比方(有可能过期,发稿时可用):

CCTV1 高清:http://ivi.bupt.edu.cn/hls/cc…
CCTV3 高清:http://ivi.bupt.edu.cn/hls/cc…
CCTV5+ 高清:http://ivi.bupt.edu.cn/hls/cc…
CCTV6 高清:http://ivi.bupt.edu.cn/hls/cc…

再看一下用 ffplay 播放时的成果:

电视台:

直播间:

在用 ffplay 播放时,有一些快捷键能够应用,比方:

q – 退出
p/ 空格 – 暂停
w – 切换封面、波形与能量图
f – 全屏
s – 逐帧显示
左右方向、高低方向 – 向后或向前快进

好了,总结一下,文章介绍 FFmpeg 中的 ffplay 的应用,欢快地实现了播放的性能,根本没有波及到简单的概念。see you.

退出移动版