拼接多个音频

  1. 新建文本文档list.txt ,包含要拼接的音频文件下所示(文件名最好不要有中文否则报错):
file '1.mp3'
file '2.mp3'
  1. 拼接:ffmpeg -f concat -i list.txt -c copy 007.mp3

注意:

  1. 文档需要放在系统目录下,否则要指定路径;
  2. 输出文件和原文件重名时会弹出对话框,确认是否会覆盖。

分离音频和视频

  1. 分离视频:ffmpeg -i infile.mp4 -vcodec copy -an outfile.mp4
  2. 分离音频的几种方式:
    • ffmpeg -i infile.mp4 outfile.mp3 # 直接将视频转为mp3(推荐)
    • ffmpeg -i infile.mp4 -acodec copy -vn outfile.mp3
    • 从flv提取mp3:ffmpeg -i infile.flv -ab 128k outfile.mp3
    • 先分离出音频:ffmpeg -i infile.mp4 -acodec copy -vn outfile.m4a
      再将音频转为mp3:ffmpeg -i infile.m4a infile.mp3

截取音视频

1. 截取音频:

ffmpeg -i audio_in.mp3 -ss 00:00:00 -t 00:01:00 audio_out.mp3
如果是要精确到毫秒,则在秒后使用毫秒1000毫秒=1秒,比如截取到1分钟2.5秒,即1分钟2秒又500毫秒。
注意:不要把秒写到分钟的位置上了,截取30秒是00:00:30,不是00:30:00
ffmpeg -i audio_in.mp3 -ss 00:00:00 -t 00:01:02.500 audio_out.mp3

参数说明
-i输入您要处理的视频文件路径
-vn不使用视频纪录
-ss开始时间
-t持续时间

2. 截取视频

按时间截取,指定开始时间和结束时间,比如截取从0秒到1分05秒:
剪切视频//-r 提取图像的频率,-ss 开始时间,-t 结束时间
ffmpeg -i input_file_name.mp4 -vcodec copy -acodec copy -ss 00:00:00 -to 00:01:05 output_file_name.mp4 -y

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi


视频压缩

改变视频码率压缩视频,对于手机视频效果显著,如果复制到Termux执行报错,就手写输入,复制可能有字符编码问题
ffmpeg -i Desktop/1.mov -b:v 1.5M Desktop/1.mp4


解密m3u8并合成mp4

  1. 获取key文件(16字节就是正确的,打开是乱码没有关系)
  2. 修改m3u8中#EXT-X-KEY:METHOD=AES-128,URI="/android_asset/key_name.key",URI的路径为key的路径
  3. 执行ffmpeg -allowed_extensions ALL -i down.m3u8 -c copy output.mp4

视频格式转换

  1. 单个rmvb转mp4的几种方法:
    • ffmpeg -i in_filename.rmvb -c:v h264 -c:a aac out_filename.mp4
    • ffmpeg -i in_filename.flv -c:v libx264 -strict -2 out_filename.mp4
    • ffmpeg  -i  uploadfile/video/test.wmv -c:v libx264 -strict -2 -s 1280x720 -b 1000k uploadfile/mp4/test.mp4
  2. 批量将多个rmvb转mp4,将单个转换用foreach循环执行: foreach($I in (dir | where-object {$_.Name -like "*.rmvb"})){ffmpeg -i "$I" -c:v h264 -c:a aac "$I.mp4"}(windos命令行中foreach、管道过滤的使用例子)
  3. 将.avi转成.flv:ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv

音频格式转换

  1. wav转mp3:ffmpeg -i audio.wav -acodec libmp3lame audio.mp3
  2. ogg转mp3:ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3
  3. ac3转mp3:ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3
  4. aac转mp3:ffmpeg -i audio.aac -acodec libmp3lame audio.mp3

合并音视频文件:

将视频文件和音频文件合并为一个带声音的视频文件/将视频文件和音频文件合并为一个文件/bilibili移动端下载的文件可使用此方法合并为mp4
ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy outfile.mp4


提取图片

ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg


将视频转为m3u8

把视频源切成若干个.ts格式的视频片段然后生成一个.m3u8的切片文件索引
ffmpeg -i in_video.mp4 -strict -2 -c:v libx264 -c:a aac -f hls m3u8文件输出地址


缩放视频

使用下面命令可以缩小到 480, 如果是scale=-1:480,则表示指定高度,宽度自动计算而得
ffmpeg -i in_video.mp4 -vf scale=853:480 -acodec aac -vcodec h264 out_video.mp4

Q.E.D.


做一个热爱生活的人