更多链接
ffmpeg命令说明
ffplay命令说明
ffprobe命令说明
一、ffmpeg
1.1 转码
1.2 提取数据
1.2.1 提取视频
# 需要指定输出的像素格式
ffmpeg -i test.mp4 -t 3 -pix_fmt yuv420p yuv420p_out.yuv
# -s 转换大小
ffmpeg -i test.mp4 -t 3 -pix_fmt rgb24 -s 720x480 rgb24_720x480.rgb
# YUV转RGB
ffmpeg -s 720x480 -pix_fmt yuv420p -i yuv420p_720x480.yuv -pix_fmt rgb24 rgb24_720x480_out.rgb
# 保留编码格式
ffmpeg -i test.mp4 -vcodec copy -an test_copy.h264
# 强制格式
ffmpeg -i test.mp4 -vcodec libx264 -an test.h264
1.2.2 提取音频
1.3 捕获桌面和音频
1.3.1 window
window下采集视频有两种方式
- gdigrab:只能录制视频
- dshow:可以录制音视频
# 若有多个屏时,没有指定video_size则会录制全部屏幕
ffmpeg -f gdigrab -framerate 30 -video_size 1920x1080 -i desktop -codec libx264 cap.h264
ffmpeg -f gdigrab -framerate 30 -video_size 1920x1080 -i desktop -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuvj420p -vcodec libx264 -acodec aac -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:554/test/test
1.3.2 linux
1.4 推流
1.4.1 RTSP
ffmpeg -f gdigrab -framerate 30 -video_size 1920x1080 -i desktop -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuvj420p -vcodec libx264 -acodec aac -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:554/test/test
ffmpeg -re -stream_loop -1 -i jiabin.mp4 -pix_fmt yuvj420p -vcodec libx264 -acodec aac -ac 2 -ar 48000 -rtsp_transport tcp -f rtsp rtsp://192.168.22.112/test/test