多媒体开发(1):播放

作者: 广州小程 | 来源:发表于2019-03-05 17:48 被阅读1次

从技能的差别而区分出来的领域,都有自己的数据结构与流程。想要精通一个专业领域,意味着需要理解透它的结构与流程(但有很多理解是可以平移的),但是,这不意味着从概念入手就是最好的办法。

小程觉得,找一个切入点,在某个专业领域完成某个功能,然后在恰当的时候再做系统的概念的理解,这种办法,才是一个好的学习办法。最重要的一点,这是一个有趣的过程。也就是要以问题来驱动学习,如果能做到寓学于教,那就最好了。

多媒体的知识与技能繁多,入门容易而深入较难。小程在这个版块做一个对应自己水平的分享,希望可以帮到一些刚起步的人。

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

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

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

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

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

(1)ffplay的安装

小程使用的是mac电脑。

安装ffplay的办法很简单:

brew install ffmpeg --with-sdl2 --with-rtmpdump

安装成功之后,就可以把ffplay运行一下,以命令行的方式来运行:


ffplay的版本信息1
ffplay的版本信息2

因为小程在系统上安装了一个ffplay,然后用FFmpeg的源码又编译了一个ffplay,所以有两个不同的版本。

(2)播放

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

比如:

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

ffplay可以播放网络上的音视频文件,也可以播放本地的文件。只要有路径(或url),就可以用ffplay来播放。

那除了本地的资源,还能找到一些有趣的url来播放吗?感兴趣的读者,可以阅读下面这部分内容,它介绍了怎么获取播放的url。


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

比如在pc网页上进到“酷狗直播”,打开一个直播间,然后用Charles抓包(或其它工具),可以看到这样的地址:


直播地址

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


直播地址

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


直播地址

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

CCTV1高清:http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8
CCTV3高清:http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8
CCTV5+高清:http://ivi.bupt.edu.cn/hls/cctv5phd.m3u8
CCTV6高清:http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8


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

电视台:


直播体验1

直播间:


直播体验2

在用ffplay播放时,有一些快捷键可以使用,比如:

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


总结一下,文章介绍FFmpeg中的ffplay的使用,愉快地完成了播放的功能,基本没有涉及到复杂的概念。

相关文章

  • 多媒体开发(1):播放

    从技能的差别而区分出来的领域,都有自己的数据结构与流程。想要精通一个专业领域,意味着需要理解透它的结构与流程(但有...

  • 2017-07-31

    前端开发:Web多媒体播放器,提升网站的又一逼格 切图网 1小时前 在前端开发过程中,总会遇到一些多媒体的播放器,...

  • Android多媒体应用开发

    Android多媒体应用开发 音频和视频的播放 1.使用MediaPlayer播放音频 当程序控制MediaPla...

  • android 视频第一弹

    android开发视频,首先需要理解视频1、视频是多媒体文件的一种,是以 每秒超过24帧 的图片连续播放 给人...

  • 多媒体工程师必备技能

    1.Android 平台多媒体框架; MediaPlayer 播放器全面剖析(一)MediaPlayer 播放器全...

  • iOS开发之视频播放、录制、存储、压缩转换格式

    今天我们要介绍的技术关于多媒体,多媒体一直是客户端开发中非常热门的技术,不管是直播、在线播放还是视频下载,...

  • Android NDK开发之旅33--FFmpeg视频播放

    Android NDK开发之旅 目录 1.播放多媒体文件步骤 通常情况下,我们下载的视频文件如MP4,MKV、FL...

  • 0813-0809-预习案例学习JS33

    22.安卓多媒体开发视频播放案例需求定义让视频在应用中播放首先得有一个视频01.MP41.布局 surfacevi...

  • TextureView+MediaPlayer实现在线短视频播放

    Android多媒体开发系列文章 Android多媒体开发:录音机 Android多媒体开发:照相机 Textur...

  • Android - 声音渐变

    主要思路 1.问题:在多媒体应用开发中,暂停播放按钮切换时,如果声音音量之间变化过大,会出现声音卡一下或者出现杂音...

网友评论

    本文标题:多媒体开发(1):播放

    本文链接:https://www.haomeiwen.com/subject/aobouqtx.html