ffmpeg常用命令

ffmpeg

ffmpeg

桌面录制

1
ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv ~/Movies/output.flv

摄像头录制

1
ffmpeg -f avfoundation -framerate 30 -i "0:0" -vcodec libx264 -preset veryfast -f flv test.mkv

将ts流转h264裸流

1
ffmpeg -i test.ts -c:v libx264 h264test.h264

将ts流转mp4

1
ffmpeg -i 1047.ts -vcodec copy -f mp4 1047.mp4

拼接视频

1
2
3
4
5
//准备avi.txt. 
vim avi.txt
1.mp4
2.mp4
ffmpeg -f concat -safe 0 -i avi.txt -c copy output.mp4

截取指定位置的图片

1
ffmpeg -ss 00:02:06 -i test1.flv -f image2 -y test1.jpg

FFMPEG推流到RTMP服务器命令

将文件当作源推送到RTMP服务器

1
ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName
  • 参数解释
    -r 以本地帧频读数据,主要用于模拟捕获设备。表示ffmpeg将按照帧率发送数据,不会按照最高的效率发送

将直播文件保存至本地

1
ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

将其中一个直播流中的视频改用H.264压缩,音频不变,推送到另外一个直播服务器

1
ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv rtmp://server/live/h264Stream

将其中一个直播流中的视频改用H.264压缩,音频改用aac压缩,推送到另外一个直播服务器

1
ffmpeg -i rtmp://server/live/originalStream -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://server/live/h264Stream

将其中一个直播流中的视频不变,音频改用aac压缩,推送到另外一个直播服务器

1
ffmpeg -i rtmp://server/live/originalStream -acodec libfaac -ar 44100 -ab 48k -vcodec copy -f flv rtmp://server/live/h264_AAC_Stream

将一个高清流复制为几个不同清晰度的流重新发布,其中音频不变

1
ffmpeg -re -i rtmp://server/live/high_FMLE_stream -acodec copy -vcodec x264lib -s 640×360 -b 500k -vpre medium -vpre baseline rtmp://server/live/baseline_500k -acodec copy -vcodec x264lib -s 480×272 -b 300k -vpre medium -vpre baseline rtmp://server/live/baseline_300k -acodec copy -vcodec x264lib -s 320×200 -b 150k -vpre medium -vpre baseline rtmp://server/live/baseline_150k -acodec libfaac -vn -ab 48k rtmp://server/live/audio_only_AAC_48k

将当前摄像头以及扬声器通过DSHOW采集,使用H.264/AAC压缩后推送到RTMP服务器

1
ffmpeg -r 25 -f dshow -s 640×480 -i video=”video source name”:audio=”audio source name” -vcodec libx264 -b 600k -vpre slow -acodec libfaac -ab 128k -f flv rtmp://server/application/stream_name

将一个JPG图片经过H.264压缩后输出为MP4文件

1
ffmpeg -i INPUT.jpg -an -vcodec libx264 -coder 1 -flags +loop -cmp +chroma -subq 10 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +dct8x8 -trellis 2 -partitions +parti8x8+parti4x4 -crf 24 -threads 0 -r 25 -g 25 -y OUTPUT.mp4

将MP3转化为AAC

1
ffmpeg -i 20120814164324_205.wav -acodec  libfaac -ab 64k -ar 44100  output.aac

将AAC文件转化为flv文件,编码格式采用AAC

1
ffmpeg -i output.aac -acodec libfaac -y -ab 32 -ar 44100 -qscale 10 -s 640*480 -r 15 output.flv
坚持原创技术分享,您的支持将鼓励我继续创作!