前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ffmpeg针对音视频常规命令整理

ffmpeg针对音视频常规命令整理

原创
作者头像
HI hero
修改2021-12-27 15:11:54
2.1K0
修改2021-12-27 15:11:54
举报

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

适用平台:Linux、Windows、Mac OS X等

常规命令说明

代码语言:javascript
复制
-i——设置输入文件
-f——设置输出格式
-y——若输出文件已存在时则覆盖文件
-fs——超过指定的文件大小时则结束转换
-t——指定输出文件的持续时间,以秒为单位
-ss——从指定时间开始转换,以秒为单位
-title——设置标题
-timestamp——设置时间戳
-vsync——增减Frame使影音同步
-vn——不处理影像,于仅针对声音做处理时使用
-vcodec( -c:v )——设置影像影像编解码器,未设置时则使用与输入文件相同之编解码器
-b:a——设置每Channel(最近的SVN版为所有Channel的总合)的流量。(单位请引用下方注意事项)
-ar——设置采样率
-ac——设置声音的Channel数
-acodec ( -c:a ) ——设置声音编解码器,未设置时与影像相同,使用与输入文件相同之编解码器
-vol——设置音量大小,256为标准音量。(要设置成两倍音量时则输入512,依此类推。)
-c——指定输出文件的编码
-metadata——更改输出文件的元数据
-b:v——设置影像流量,默认为200Kbit/秒。(单位请引用下方注意事项)
-r——设置帧率值,默认为25
-s——设置画面的宽与高
-aspect——设置画面的比例

常规命令操作

代码语言:javascript
复制
# 以音频文件test.mp3示例
# 音频格式查看
ffmpeg -i  test.mp3 -hide_banner

# 音频剪切 裁剪2分钟片段
ffmpeg -i .\test.mp3 -vcodec copy -acodec copy -ss 00:00:00 -to 00:02:00 ./test_new.mp3 -y

# xx.amr格式转换mp3 (此命令未运行过,仅供参考)
ffmpeg -i xx.amr -ab 16k -ar 16000 -ac 1 -f mp3 a.mp3

# 修改采样率
ffpmeg -i test.mp3 -ar 16000 test.wav

# mp3等转wav
ffmpeg -i INPUT -ac CHANNELS -ar FREQUENCY -acodec PCMFORMAT OUTPUT
CHANNELS 可以为 1 or 2,
PCMFORMAT 可以为 pcm_u8 or pcm_u16 等
FREQUENCY 可以是 8000/11025/22050/44100
例:
ffmpeg -i D:\Testaudio\dizi.mp3 -ar 8000 -ac 1 -acodec pcm_u8 d:\testaudio\dizi.wav
就是输出8000采样率,1个声道,8bits的wav文件。

# 截取视频
方案一:ffmpeg -i input.mp4 -ss 开始时间 -t 持续时间 -vcodec copy -acodec copy -preset superfast output.mp4
方案二:ffmpeg  -i source.mp4 -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:15 ./cutout1.mp4

## 音视频分离
获取视频轨道 
ffmpeg -i input.mp4 -an -vcodec copy output.mp4
获取音频轨道 
方案一:ffmpeg -i input.mp4 -vn -acodec copy output.mp3
方案二:ffmpeg -i video.flv -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3


# 添加背景音乐
ffmpeg -y -i input.mp4 -i input.mp3 -vcodec copy -acodec copy -t 时间 output.mp4
-t后面的时间表示持续时间,举例:时间=20 生成后的视频就是20秒 即使视频时长大于20秒

# 把视频的每帧转换成照片
ffmpeg -i video.flv image%d.jpg

字幕相关操作

(1)字幕文件的基本格式: xx.srt

代码语言:javascript
复制
1
00:00:00,000 --> 00:00:27,000 
第一部分内容

2
00:00:27,000 --> 00:01:10,000
第二部分内容

3
00:01:10,000 --> 00:02:21,000 
第三部分内容

(2)把字幕写到视频中

代码语言:javascript
复制
ffmpeg -i xx.srt xx.ass
ffmpeg -i xx.mkv -vf ass=xx.ass xx_new.mkv

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸核身
腾讯云慧眼人脸核身是一组对用户身份信息真实性进行验证审核的服务套件,提供人脸核身、身份信息核验、银行卡要素核验和运营商类要素核验等各类实名信息认证能力,以解决行业内大量对用户身份信息核实的需求,广泛应用于金融、运营商、共享出行等领域。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档