zoukankan      html  css  js  c++  java
  • 多媒体开发(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的版本信息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来播放吗?

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

    比如在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的使用,愉快地完成了播放的功能,基本没有涉及到复杂的概念。see you.

  • 相关阅读:
    前五章的综合(查漏补缺)一个字一个字读,便于您的理解程度
    appium连接android真机【红米note8】碰到的问题及解决方案
    linux tz配置
    linux下卸载apache
    VM下的静态ip和动态ip的坑
    linux下安装mysql
    LR录制过程中会出现的问题
    linux下安装jdk和tomcat
    jmeter的环境变量
    jmeter实现mysql的增删改查
  • 原文地址:https://www.cnblogs.com/freeself/p/14097019.html
Copyright © 2011-2022 走看看