山东大学项目实训十三——FFmpeg

笔记来源
https://www.bilibili.com/video/av40146374

01.下载,配置

ffmpeg下载
首先打开 ffmpeg官网下载
或者用 百度云 下载(https://pan.baidu.com/share/init?surl=kDAv-tyc8LJ0wi1sCEPNCA 提取码:ff8o)

然后点击 windows 对应的图标,再点击下面的”Windows EXE File”随便选一个点进去选择一个版本下载。

用的系统是Ubuntu18.04,所以直接apt-get就可以了
sudo apt-get install ffmpeg
输入ffmpeg -version检查是否安装成功
在这里插入图片描述

02.简介,上手(FFmpeg FFprobe FFplay)

FFMPEG简介

FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。

基础知识

1.容器/文件(Conainer/File):即特定格式的多媒体文件,比如mp4、flv、mkv等。

2.媒体流(Stream):表示时间轴上的一段连续数据,如一段声音数据、一段视频数据或一段字幕数据,可以是压缩的,也可以是非压缩的,压缩的数据需要关联特定的编解码器。

3.数据帧/数据包(Frame/Packet):通常,一个媒体流是由大量的数据帧组成的,对于压缩数据,帧对应着编解码器的最小处理单元,分属于不同媒体流的数据帧交错存储于容器之中。

一般情况下:

Frame对应压缩前的数据,Packet对应压缩后的数据。

4.编解码器(Codec):以帧为单位实现压缩数据和原始数据之间的相互转换的

5.复用(mux):把不同的流按照某种容器的规则放入容器,这种行为叫做复用(mux)

6.解复用(mux):把不同的流从某种容器中解析出来,这种行为叫做解复用(demux)
7. 码率和帧率是视频文件的最重要的基本特征,对于他们的特有设置会决定视频质量。如果我们知道码率和时长那么可以很容易计算出输出文件的大小。

8.帧率:帧率也叫帧频率,帧率是视频文件中每一秒的帧数,肉眼想看到连续移动图像至少需要15帧。

9.码率:比特率(也叫码率,数据率)是一个确定整体视频/音频质量的参数,秒为单位处理的位数,码率和视频质量成正比,在视频文件中中比特率用bps来表达。

ffmpeg/ffplay/ffprobe区别

在这里插入图片描述

ffmpeg:

Hyper fast Audio and Video encoder超快音视频编码器(类似爱剪辑)

ffplay:

Simple media player简单媒体播放器

ffprobe:

Simple multimedia streams analyzer简单多媒体流分析器

(1)查看ffmpeg的帮助说明,提供的指令
ffmpeg -h
在这里插入图片描述

(2)播放媒体的指令
按住shift,在空白处右键,打开命令行窗口(win10添加在此处打开命令行窗口工具,链接: https://pan.baidu.com/s/1gSMwRgptumkI0-avrCGU6Q 提取码: 8jic)
在这里插入图片描述
ffplay video.mp4 esc退出
在这里插入图片描述
cls enter清空

ffplay music.mp3
在这里插入图片描述

(3)常用快捷键
按键"Q"或"Esc":退出媒体播放
键盘方向键:媒体播放的前进后退
点击鼠标右键:拖动到该播放位置
按键"F":全屏
按键"P"或空格键:暂停
按键"W":切换显示模式
(4)查看媒体参数信息
ffprobe video.mp4
在这里插入图片描述

03.转换格式(文件格式,封装格式)

文件格式
我们经常看见的视频都是以.mp4 .flv等作为后缀名,这是视频的文件格式。
文件格式的作用是方便系统识别,并关联这些文件,好让相应的文件由相应的程序打开。
这些后缀名可以随便改,不会对文件有任何影响,如果打开出错的话再改回来就行。

封装格式
这些视频的后缀其实也叫视频的封装格式,简称视频格式。
封装: 后缀名(封装格式/文件格式)。所谓封装就是把编码器生成的多媒体文件,如视频,音频,字幕按照一定的标准混合封装在一起。
容器: 为多媒体内容提供索引。如果没有容器的话一个视频你只能从头看到尾,没有声音。容器标准由不同的公司制定,有些是兼容的,有些是要改变媒体的编码格式才能转换,一般情况下我们都是选择效率高,兼容性好的容器标准。下面是一些常见的容器标准。
在这里插入图片描述

(1)文件名可以是中英文,但不能有空格。不然命令行就分不清了。
(2)转换格式
ffmpeg -i video.mp4 video_avi.avi
在这里插入图片描述

RMVB:太封闭了,只能用来封装Real video格式的视频
MKV:最开放,几乎支持所有的音视频,但是体积太大了
AVI:有点老旧,已经不太适应最近的媒体文件了
现在比较流行的就是MP4和MOV
MOV:是苹果公司制定的,支持透明的视频
MP4:是当前最主流的视频格式,各种软硬件也都支持的

一般我们都是把其他格式的视频文件转换成mp4的视频文件

ffmpeg -i input.mov outout.mp4

【-i】 i是input的缩写,这个指令是指定输入文件的
这句指令就是指:用ffmpeg把input.mov转换成output.mp4

官方教程
http://ffmpeg.org/ffmpeg-all.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值