DSP

使用ffmpeg for linux 录屏推流

2019-07-13 17:57发布

ffmpeg
-s 160x128 320x240 640x480 设置帧大小
-r 15 25设置帧频
-f video4linux2 video4linux2 gdigrab x11grab alsa 采集格式
-f flv mp3 mp4 输出格式
-i /dev/video0 /dev/dsp :0.0  hw:0,0 hw:0,1 (-i hw:0,0等同于-i pulse,:0.0+100+200表示距左端100象素距上端200象素,:0.0X端口号类似/dev/tty)
-b:v 2000k -bufsize 2000k 码率转成2Mbps码率
-vcodec h264 mpeg4 libx264视频编码格式
-acodec libmp3lame ac3 音频编码格式
-vf scale=960:540 缩放滤镜保持原始高宽比
-ac 1 2 设置通道(双声道)
-acodec copy -vn 提取音频
-vcodec copy -an 提取视频
-ss 00:00:15 -t 00:00:05 从时间为00:00:15开始截取5秒钟的视音频
-i logo.png -filter_complex overlay添加LOGO
-vf delogo=x:y:w:h[:t[:show]] 去掉LOGO
                            x:y 离左上角的坐标 
                            w:h logo的宽和高 
                            t: 矩形边缘的厚度默认值4 
                            show:若设置为1有一个绿 {MOD}的矩形,默认值0
录制桌面、麦克风、摄像头(推流)
ffmpeg -thread_queue_size 128 -f x11grab -video_size 1280x800 -framerate 30 -i :0.0 -f video4linux2 -video_size 400x300 -framerate 30 -i /dev/video0 -f alsa -ac 2  -i pulse -filter_complex '[0:v][1:v]overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10[out]' -map '[out]' -map 2:a  -vcodec libx264 -vprofile baseline -acodec aac -strict -2 -maxrate 3000k -b:a 128k -f flv rtmp://192.168.0.107:1935/live
录制桌面、麦克风、摄像头(保存到本地)
ffmpeg -thread_queue_size 128 -f x11grab -video_size 1280x800 -framerate 30 -i :0.0 -f video4linux2 -video_size 400x300 -framerate 30 -i /dev/video0 -f alsa -ac 2  -i pulse -filter_complex '[0:v][1:v]overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10[out]' -map '[out]' -map 2:a  -vcodec libx264 -acodec ac3 test.mp4