更多链接

ffmpeg命令说明
ffplay命令说明
ffprobe命令说明

一、ffmpeg

1.1 转码

1.2 提取数据

1.2.1 提取视频

  1. # 需要指定输出的像素格式
  2. ffmpeg -i test.mp4 -t 3 -pix_fmt yuv420p yuv420p_out.yuv
  1. # -s 转换大小
  2. ffmpeg -i test.mp4 -t 3 -pix_fmt rgb24 -s 720x480 rgb24_720x480.rgb
  3. # YUV转RGB
  4. ffmpeg -s 720x480 -pix_fmt yuv420p -i yuv420p_720x480.yuv -pix_fmt rgb24 rgb24_720x480_out.rgb
  1. # 保留编码格式
  2. ffmpeg -i test.mp4 -vcodec copy -an test_copy.h264
  3. # 强制格式
  4. ffmpeg -i test.mp4 -vcodec libx264 -an test.h264

1.2.2 提取音频

1.3 捕获桌面和音频

1.3.1 window

window下采集视频有两种方式

  1. gdigrab:只能录制视频
  2. dshow:可以录制音视频
    1. # 若有多个屏时,没有指定video_size则会录制全部屏幕
    2. ffmpeg -f gdigrab -framerate 30 -video_size 1920x1080 -i desktop -codec libx264 cap.h264
  1. 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

  1. 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. 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

1.4.2 RTMP

1.4.3 RTP


二、ffplay

2.1 播放YUV

2.2 播放PCM


三、ffprobe

四、参考

基于FFmpeg进行rtsp推流及拉流(详细教程)