zoukankan      html  css  js  c++  java
  • 开发环境之FFmpeg

    查看更多开发环境配置,请点击《开发环境配置大全》

    贰拾肆章:FFmpeg安装教程

    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可

    证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,

    为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

    FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这

    个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的

    开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视

    频编码标准,前面的"FF"代表"Fast Forward"。

    1)下载安装

    下载地址:https://www.ffmpeg.org/download.html#build-windows

    直接解压缩到任意文件夹即可安装

    配置安装包的bin目录到环境变量path下,方便从任意地方使用;

    进入cmd,执行命令:ffmpeg -version查看版本

    2)基本使用

    在音频存放文件夹执行转换

    将lucene.avi文件转成mp4:ffmpeg -i lucene.avi lucene.mp4

    将lucene.avi文件转成mp3:ffmpeg -i lucene.avi lucene.mp3

    将lucene.avi文件转成gif:ffmpeg -i lucene.avi lucene.gif

    3)生成m3u8/ts文件

    第一步:先将avi视频转成mp4

    ffmpeg.exe -i lucene.avi -c:v libx264 -s 1280x720 -pix_fmt yuv420p -b:a 63k -b:v 753k -r 18 .lucene.mp4

    -c:v:视频编码为x264 ,x264编码是H264的一种开源编码格式。

    -s:设置分辨率

    -pix_fmt yuv420p:设置像素采样方式,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,

    YUV4:2:0:它的作用是根据采样方式来从码流中还原每个像素点的YUV(亮度信息与色彩信息)值。

    -b:设置码率,-b:a和-b:v分别表示音频的码率和视频的码率,-b表示音频加视频的总码率。码率对一个视频质量

    有很大的作用。

    -r:帧率,表示每秒更新图像画面的次数,通常大于24肉眼就没有连贯与停顿的感觉了。

    第二步:将mp4生成m3u8

    ffmpeg -i lucene.mp4 -hls_time 10 -hls_list_size 0 -hls_segment_filename ./hls/lucene_%05d.ts ./hls/lucene.m3u8

    -hls_time:设置每片的长度,单位为秒

    -hls_list_size n:保存的分片的数量,设置为0表示保存所有分片

    -hls_segment_filename:段文件的名称,%05d表示5位数字

    生成的效果是:将lucene.mp4视频文件每10秒生成一个ts文件,最后生成一个m3u8文件,m3u8文件是ts的索引

    文件,注意,保存ts的文件夹必须先存在。

    使用VLC打开m3u8文件,测试播放效果,VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多

    媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。

    4)码率

    码率又叫比特率即每秒传输的bit数,单位为bps(Bit Per Second),码率越大传送数据的速度越快。

    码率的计算公式是:文件大小(转成bit)/ 时长(秒)/1024 = kbps 即每秒传输千位数。

    例如一个1M的视频,它的时长是10s,它的码率等于:

    1*1024*1024*8/10/1024=819kbps

    码率设置到多少才能达到最好,通过根据个人的经验或参考一些视频网台给出的参考,下图是优酷对码率的要求:

    如果要将视频上传到优酷则必须按照上面的要求,如果是自己搭建视频服务器,码率设置不易过大,最终达到的视

    频清晰度满足业务需求即可。

  • 相关阅读:
    兼容性测试中如何切换和管理多个JDK版本
    Win10的分辨率问题
    sql和access中截取字符串的区别
    ArcGIS制图之Sub Points点抽稀
    Office版本问题0x80029C4A
    ArcGIS制图之Maplex自动点抽稀
    ArcGIS制图之Subset工具点抽稀
    .NET破解之100%营销QQ辅助软件【更新】
    Office2016体验
    Log4net中的调错
  • 原文地址:https://www.cnblogs.com/xdzy/p/13549082.html
Copyright © 2011-2022 走看看