山东大学项目实训十三——FFmpeg
笔记来源
https://www.bilibili.com/video/av40146374
01.下载,配置
ffmpeg下载
首先打开 ffmpeg官网下载
或者用 百度云 下载(https://pan.baidu.com/share/init?surl=kDAv-tyc8LJ0wi1sCEPNCA 提取码:ff8o)
然后点击 windows 对应的图标,再点击下面的”Windows EXE File”随便选一个点进去选择一个版本下载。
输入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
山东大学项目实训十三——FFmpeg相关推荐
- 山东大学项目实训——地图圈系统——微信小程序(16)
地图圈系统--微信小程序(16) 一.社区功能 二.项目代码 三.效果展示 一.社区功能 这次项目实训的社区功能是一个很大的模块,包括显示用户发布的文字及图片.用户选择的地点.发布的时间.点赞.评论等 ...
- 山东大学项目实训——6月29日
总结项目实训近两天的工作. 首先在第一天上午,参加项目实训开幕仪式,了解实训相关规定和内容.然后与李学庆老师见面,由他像我们讲解项目内容,介绍项目需求. 同时我主动提出担任项目组长. 通过与李学庆老师 ...
- 山东大学项目实训——地图圈系统——微信小程序(18)
地图圈系统--微信小程序(18) 一.轨迹记录功能 二.项目代码 三.效果展示 一.轨迹记录功能 轨迹记录功能的实现思路相对简单,设置一个定时器,每隔1s获取一下当前位置,将当前的经纬度坐标加入到数组 ...
- 山东大学项目实训十六——可控音乐变压器Controllable Music Transformer
Controllable Music Transformer Official code for our paper Video Background Music Generation with Co ...
- 山东大学项目实训(四)—— 微信小程序扫描web端二维码实现web端登录
效果 点击登录后,显示二维码→打开"探古"(本项目)微信小程序,扫描二维码确认登录→web端登录成功 主要流程 因为本人主要负责web前端的开发,所以本文仅介绍web前端的实现方法 ...
- 山东大学项目实训小组一——基于深度学习的AI视频剪辑器“易剪”
技术要点:图像处理 计算机视觉 深度学习 多媒体前端 一.项目研究背景: 随着短视频热潮的兴起,越来越多的人投入精力到了视频剪辑视频制作之中.然而利用现有的视频剪辑工具,剪辑一段视频是非常麻烦的,尤其 ...
- 山东大学项目实训——简易微信小游戏(一)
一.项目背景 微信小程序接触真实用户快,对用户反馈快速体现,是一个非常好的实践平台.同时就行业背景来看,人们对于无需安装打开即玩的休闲类小游戏的需求依然存在. 二.工作内容 开发绳套奶牛.大鱼吃小鱼. ...
- 山东大学项目实训——地图圈系统——微信小程序(17)
地图圈系统--微信小程序(17) 一.社区附加功能 二.项目代码 三.效果展示 一.社区附加功能 在上次社区功能的基础上,我增加了几个附加功能,首先点击用户头像可以看到此用户的用户信息,然后点击查看动 ...
- 山东大学项目实训——地图圈系统——微信小程序(5)
地图圈系统--微信小程序(5) 一.腾讯位置服务路线规划api 二.结果响应实例 三.项目代码 四.效果展示 一.腾讯位置服务路线规划api 提供路线规划能力. 1.驾车(driving):支持结合实 ...
最新文章
- c#:使用using关键字自动释放资源未必一定就会有明显好处
- 进程上下文与中断上下文
- .NET 中 async 和 await
- KNN (K近邻算法) - 识别手写数字
- 用于Visio的官方cisco 图标库下载地址
- android系统签名及修改
- 阿里巴巴 JAVA开发手册 内含大量规范,应用范例.涉及数据库,高并发,集合,索引等等大量干货
- 西门子S7-1200、1500固件更新第三方设备GSD导入
- Autojs.pro 7.0 - 免root 连点器
- 水仙花数有哪些?要100到1000之间所有的水仙花数
- linux设置法语键盘布局,法语键盘布局图;
- linux火狐插件目录,Firefox的插件目录在哪里?
- walking与Matlab入门教程-连接到walking机器人
- 【渗透实例】Fuzz大法好啊
- Android8.1.0安装Xposed框架
- 科学计算机复利现值怎么计算公式,怎么用科学计算器算年金现值和复利现值是那个......
- 阿里云redis学习笔记
- ip_forward参数对Linux内核转发影响分析
- Tomb.finance每周更新(11.29-12.5)
- 掌银环境 和 微信浏览器 图片变形问题