linux:
指令查看设备 ./ffmpeg -devices
//输入ffmpeg -devices则会报错 但是明明正确安装了 ?
ffmpeg -f video4linux2 -r 25 -s 640*480 -i /dev/video0 -f flv -vcodec libx264 test.flv
//指令指定编码器H264,帧率25,录制摄像头
推流:
ffmpeg -re -i filename.flv(现有文件url) -f flv rtmp://192.168.126.128/live/cuc
ffmpeg -f video4linux2 -i /dev/video0(摄像头输入设备) -f flv rtmp://192.168.126.168/live/camera
//-re一定要加,代表按照帧率发送,否则ffmpeg会一股脑地按最高的效率发送数据。
//-vcodec copy要加,否则ffmpeg会重新编码输入的流。
//-f flv 是rtmp指定的接受的流格式
播放承载H.264裸流的UDP
ffplay -f h264 udp://233.233.233.223:6666
注:需要使用-f说明数据类型是H.264
播放的时候可以加一些参数,比如-max_delay,下面命令将-max_delay设置为100ms:
ffplay -max_delay 100000 -f h264 udp://233.233.233.223:6666
windows:
在这里插入代码片
ffmpeg -f dshow -i video=“USB2.0 Camera” -f flv rtmp://192.168.128.168:1935/live/test1
报错:缓存满了or接近满了 无法连接到tcp://192.168.128.168:1935 】
-f fmt 指定格式(音频或视频格式)
-s size 指定分辨率 (320x240)
-i filename 指定输入文件名,在linux下当然也能指定:0.0(屏幕录制)或摄像头