FFmpeg压缩音频和添加字幕的命令

4 篇文章 0 订阅
1 篇文章 0 订阅

获取流信息

假设采用FFmpeg -i A.mkv输出信息如下:

 Stream #0:0: Video: hevc (Main 10)
 Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 768 kb/s
 Stream #0:2(chi): Subtitle: ass (default)
 Stream #0:3(chi): Subtitle: hdmv_pgs_subtitle
 Stream #0:4(eng): Subtitle: subrip
 Stream #0:5(eng): Subtitle: subrip

音频编码

 # 使用aac音频编码
 ffmpeg -i A.mkv -acodec aac -ar 44100 -ac 1 -ab 32k -vcodec libx264 -s 1280x720 -crf 26 A_crf26.mp4
 ​
 # 使用mp3音频编码
 ffmpeg -i A.mkv -acodec libmp3lame -ar 44100 -ac 1 -ab 32k -vcodec libx264 -s 1280x720 -crf 26 A_crf26.mp4
 ​
 # 无损提取aac音频
 ffmpeg -i A.mkv -vn -acodec copy A.aac
 ​
 # 将aac音频重新编码为mp3格式
 ffmpeg -i A.mkv -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000  A.mp3
 ​
 # 选择0号输入的第1个视频流,音频部分第1个流
 ffmpeg -i A.mkv -map 0:0 -map 0:1 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 A_crf25.mp4

字幕编码

 # 提取字幕流,假设0为视频,1为音频,2为字幕,可以通过FFmpeg -i A.mp4查看流信息
 ffmpeg -i A.mkv -map 0:2 A.ass
 ffmpeg -i A.mkv -map 0:3 A.sup
 ffmpeg -i A.mkv -map 0:4 A.srt
 ​
 # 选择0号输入的第1个视频流,音频部分第1个流,外部加载字幕流
 ffmpeg -i A.mkv -map 0:0 -map 0:1 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 -vf "subtitles=A.ass" A_crf25.mp4
 ​
 #将mkv的第1个视频流,第1个音频流,第1个字幕流合成到视频中去,这种方法会首先提取字幕文件,速度比上面的方法慢
 ffmpeg -i A.mkv -map 0:0 -map 0:1 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 -vf "subtitles=A.mkv:si=0" A_crf25.mp4
 ffmpeg -i A.mkv -map 0:0 -map 0:1 -map 0:3 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 -c:s mov_text A_crf25.mp4
 ffmpeg -i A.mkv -i A.srt -map 0:0 -map 0:1 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 -c:s mov_text A_crf25.mp4
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值