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 -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]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_fi...
    XLAccount阅读 8,212评论 0 8
  • [TOC] 音视频&流媒体 是什么促使我要写这一篇音视频入门文章?那是因为和一妹子打赌码率的概念,结果输了;对一个...
    AllenWu阅读 10,429评论 1 24
  • 前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流...
    RichyLeo阅读 17,593评论 1 22
  • 清平乐· 期末考 天高云淡,望断白试卷。不考一百非好汉,屈指写字十万。天正校园四楼,老师校长发愁。他日试卷在手,能...
    深谷留风阅读 1,675评论 8 16
  • 生活里这么多麻烦和难题,如果你的伴侣是个聪明人,事先能预见,事中能解决,事后会弥补,这日子定会快乐从容很多。
    柒月书米阅读 1,180评论 0 0

友情链接更多精彩内容