【FFmpeg】FFmpeg与FFplay常用命令

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可用于日常视频格式转换, 采集, 抓图等. 也可以用来视频推流, 流媒体播放等等.
https://ffmpeg.org/,
https://github.com/FFmpeg/FFmpeg


ffmpeg常用命令

ffmpeg主要用于转码.
http://ffmpeg.org/ffmpeg.html

基本命令

$ ffmpeg -i input.avi -b:v 640k output.ts 将input.avi转码成output.ts,设置视频的码率为640kbps
$ ffmpeg -i input.mp4 output.avi 将mp4转换为avi

分离视频音频流:
$ ffmpeg -i input_file -vcodec copy -an output_file_video  //分离视频流
$ ffmpeg -i input_file -acodec copy -vn output_file_audio  //分离音频流

视频封装:
$ ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file //音频,视频组装起来

视频转码:
$ ffmpeg –i test.mp4 –vcodec h264 –s 352278 –an –f m4v test.264 //转码为码流原始文件
$ ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352
278 –an –f m4v test.264 //转码为码流原始文件
$ ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //转码为封装文件
-bf B帧数目控制
-g 关键帧间隔控制
-s 分辨率控制

视频剪切:
$ ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg //提取图片
$ ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切视频
-r 提取图像的频率
-ss 开始时间
-t 持续时间

视频录制:
$ ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi

推流命令

视频文件文件推流:

1
$ ffmpeg -re -i /Users/xu/Desktop/bangbangbang.mp4 -vcodec libx264 -acodec aac -f flv rtmp://192.168.2.109:1935/mylive/room

桌面录制推流:

1
$ ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://192.168.2.109:1935/mylive/room

ffplay常用命令

ffplay主要用于播放.
http://ffmpeg.org/ffplay.html

$ ffplay test.avi 播放test.avi(当为音频时, 会直接播放)
$ ffplay rtmp://up.v.test.com/live/stream 直接播放网络直流
$ ffplay -showmode 1 test.mp3 将音频以波形展示

转载请注明出处,有疑问欢迎留言!