Keep

ffmpeg

1/15/2022, 2:26:00 AM 3 min read

ffmpeg - a(audio)/v(video)

  • 下载文件 - ffmpeg -i source.m3u8 -c copy output.mp4
    -y 覆盖输出文件
    
  • 提取音频 ffmpeg -i source.mp4 -vn source.mp3; 去掉音频 ffmpeg -i source.mp4 -vcodec copy -an output.mp4
    ex: ffmpeg -i video.flv -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3
    vn: helps to disable video recording during the conversion.
    ar: helps you set audio sampling rate in Hz.
    ab: set the audio bitrate.
    ac: to set the number of audio channels.
    -f: format.
    https://www.tecmint.com/ffmpeg-commands-for-video-audio-and-image-conversion-in-linux/
    可使用 `ffprobe source.mp4` 拿到文件细节, 比如音频格式 .aac
    
  • 音频/视频截取 ffmpeg -i source.mp3 -ss 00:00:05 -t 00:04:45 -acodec copy target.mp3 - Ref
    -ss position, ex: 00:00:10.540
    -t duration 持续多久
    -to position
    http://ffmpeg.org/ffmpeg-all.html#Main-options
    
  • 截图 - ffmpeg -ss 00:00:05 -i source.mp4 -vframes 1 out.jpg
      -vframes n 截 n 张图
      可使用 `-vf fps=24/1` 来设置每秒截取多少张图
      使用 `-vf scale=480:-1` 指定图片大小
      基于视频创建 gif 文件
      ffmpeg -i ./v1.mp4 -vf "fps=24" -loop 0 output.gif
      ffmpeg -i ./v1.mp4 -vf "fps=24,scale=640:-1" -loop 0 output.gif
      https://superuser.com/questions/556029/how-do-i-convert-a-video-to-gif-using-ffmpeg-with-reasonable-quality
    
  • 音画不同步多半是在vfr(可变帧率)和cfr(固定帧率)之间转换的时候视频帧时间戳没有更新导致的,不知道为啥ffmpeg会默认以这种一定会导致错误的方式工作,但我们手动加入参数后就可以修正这个问题。 如果是一个vfr视频,ffmpeg默认会转换成cfr,如果不希望它转换的话,则在前置参数的位置加一个-vsync passthrough ,视频帧率模式就不会被转换了,这样只要原视频音画是同步的,那转出来音画肯定也是同步的,因为时间戳完全没有变。 Ref

  • ffmpeg -i source.mp4 -vf "transpose=1" target.mp4 - Ref 使用 filter 改变画面方向

名词

  • Variable Bitrate (VBR),动态比特率编码
  • Constant Bitrate (CBR),固定码率
  • fps(Frames Per Second),帧率 - 每秒钟播放的图片数
  • 分辨率(px)
  • 采样率(赫兹 Hz) - 指每秒钟对音频信号的采样次数

其它

相关

  1. ffmpeg
  2. ffmpeg documentation
  3. https://trac.ffmpeg.org/wiki/Encode/MPEG-4
  4. ffmpeg 将 mp4 视频转换为 webp 格式动图
  5. 在线生成 ffmpeg 命令工具
  6. FFmpeg 使用指南之 concat demuxer 串联多个文件
  7. 使用 FFmpeg 将 webm 格式转成 mp4
  8. FFmpeg 入门笔记
Tag:
工具

@read2025, 生活在北京(北漂),程序员,宅,喜欢动漫。"年轻骑士骑马出城,不曾见过绝望堡下森森骸骨,就以为自己可以快意屠龙拯救公主。"