
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 | //准备avi.txt. |
截取指定位置的图片
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 |