ffmpeg 命令行 常用示例

查看ffmpeg支持的格式
  • 封装格式
ffmpeg -formats > formats.txt

结果保存在当前目录下的formats.txt, 从中可查询到相关格式,比如

 DE asf             ASF (Advanced / Active Streaming Format)
 DE flv             FLV (Flash Video)
  E mp4              MP4 (MPEG-4 Part 14)
  • 编解码格式
ffmpeg -codecs > codecs.txt
  • 编码器格式
ffmpeg -encoders > encoders.txt

结果保存在当前目录下的encoders.txt文件中,可从中查询支持的格式,比如

 V..... libx264              libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)
 A..... aac                  AAC (Advanced Audio Coding)
 A..... libmp3lame           libmp3lame MP3 (MPEG audio layer 3) (codec mp3)
  • 解码器格式
ffmpeg -decoders > decoders.txt
  • 协议格式
ffmpeg -protocols > protocols.txt

结果举例:

Supported file protocols:
Input:
  ...
  hls
  ...
  rtp
 ...
  rtmp
Output:
 ...
  rtp
 ...
  rtmp
...
查看文件的信息
ffmpeg -i sample.mp4
ffmpeg 命令行 常用示例_第1张图片
ffmpeg -i sample.mp4 的结果
将rtmp流保存成文件
ffmpeg -i rtmp://live.hkstv.hk.lxdns.com/live/hks -c copy hks.flv
ffmpeg -i rtmp://live.hkstv.hk.lxdns.com/live/hks -c copy hks.mp4
将文件以rtmp流的方式推到服务器(比如nginx)
ffmpeg -re -i sample.flv -acodec copy -vcodec copy -f flv rtmp://localhost:1935/live/test 
ffmpeg -re -i sample.mp4 -acodec copy -vcodec copy -f flv rtmp://localhost:1935/live/test 
提取视频或音频
  • 提取视频
ffmpeg -i sample.mp4 -vcodec copy -an video.mp4
  • 提取音频
ffmpeg -i sample.mp4 -acodec copy -vn audio.aac
ffmpeg -i sample.mp4 -acodec libmp3lame -vn audio.mp3

编解码

  • 将aac解码并保存为wav文件
ffmpeg -i audio.aac audio.wav
将视频转换为图片
  • 将视频转换为图片序列
ffmpeg -i sample.mp4 output%d.jpg
  • 将视频的指定片段转换为gif文件
ffmpeg  -i sample.mp4 -ss 3 -t 5 -s 320x240 -r 6 -f gif out.gif -y

sample.mp4文件,从第3秒开始,取时长为5秒的视频,将其转换为分辨率为320*240,帧率为6帧/秒的gif文件。

直播流中进行截图
ffmpeg.exe 
-probesize 32768 
-i "rtmp://192.168.2.245:1936/live/192.168.2.233.stream live=1" 
-y 
-t 0.001 
-ss 1 
-f image2 
-r 1 
./rtmp.jpg

-ss 指定从什么时间开始
-t 时长
-r 帧率
注意: rtmp流后的 live=1是必须的

  • rtmp拉流
ffmpeg  -i rtmp://live.hkstv.hk.lxdns.com/live/hks -c copy dump.flv
mp4 转换为 flv
ffmpeg -i input.mp4 -acodec copy -vcodec copy -r 25 -s 640x480 output.flv
ffmpeg -i input.mp4 -acodec copy -vcodec h264 -r 25 -s 640x480 output.flv
ffmpeg -i input.mp4 -acodec copy -vcodec h264 -r 25 -s 640x480 -qmin 25 output.flv

qmin的取值范围[-1, 69]

你可能感兴趣的:(ffmpeg 命令行 常用示例)