ffplay 命令收集整理
播放rtsp视频流:
ffplay -vcodec h264_qsv -i rtsp://192.168.236.2/ch01.h264
低延迟播放rtsp
ffplay -fflags nobuffer -i rtsp://192.168.236.2/ch01.h264
更多选项
ffplay -analyzeduration 1 -fflags -nobuffer -probesize 32 -sync ext -i rtmp://localhost/live/STREAM_NAME
查看编/解码:
ffplay -codecs |grep h264
发现一个可以直接使用ffmpeg播放的方法,其实也是要求有sdl的库了.
ffmpeg -i rtsp://192.168.236.2/ch01.h264 -f sdl -
可以通过命令查看是否支持显示.
ffmpeg -formats |grep sdl
ffplay 播放窗口大小
ffplay -x 800 -y 600 -i fwrj-1.mp4
ffplay 播放窗口位置
//从30s开始播放10s,播放完退出
ffplay -ss 00:00:30 -t 10 -autoexit video.mp4
//指定播放窗口大小为320x180
ffplay -x 320 -y 180 video.mp4
//音频波形可视化
ffplay -showmode 1 audio.aac
ffplay播放usb摄像头
ffplay -noborder -f v4l2 -input_format mjpeg -video_size 1920x1080 -i /dev/video9
ffplay -noborder -f v4l2 -input_format yuyv422 -video_size 1280x720 -i /dev/video9
经测试SPCA2650 AV Camera摄像头,在yuyv422模式下,只支持到720p,1080p不能播放,在mjpeg模式下支持得要高一些.可以支持到4k分辨率(3840x2160).
使用ffmpeg可以查看到输入数据源的fps,其中yuyv422的720p模式下,输入只有10fps.mjpeg模式下号称可以达到30fps,实测只有14fps.
ffmpeg -input_format mjpeg -video_size 1280x720 -i /dev/video9 -pix_fmt yuv420p -f sdl -
ffmpeg -input_format yuyv422 -video_size 1280x720 -i /dev/video9 -pix_fmt yuv420p -f sdl -
测试发现,就1080p的时候,能够达到最快的速度.
ffmpeg -input_format mjpeg -video_size 1920x1080 -i /dev/video9 -f null -
ffplay可选参数
参数 说明
-x width 强制以 “width” 宽度显示
-y height 强制以 “height” 高度显示
-an 禁止音频
-vn 禁止视频
-ss pos 跳转到指定的位置(秒)
-t duration 播放 “duration” 秒音/视频
-bytes 按字节跳转
-nodisp 禁止图像显示(只输出音频)
-f fmt 强制使用 “fmt” 格式
-window_title title 设置窗口标题(默认为输入文件名)
-loop number 循环播放 “number” 次(0将一直循环)
-showmode mode 设置显示模式,可选mode: 0, 显示视频; 1, 显示音频波形; 2, 显示音频频带。默认为0, 播放时按w键可切换mode
-i input_file 指定输入文件
-sync type 设置主时钟为音频、视频、或者外部。默认为音频。主时钟用来进行音视频同步
-threads count 设置线程个数
-autoexit 播放完成后自动退出
-exitonkeydown 任意键按下时退出
-exitonmousedown 任意鼠标按键按下时退出
-acodec codec_name 强制指定音频解码器为 “codec_name”
-vcodec codec_name 强制指定视频解码器为 “codec_name”
-scodec codec_name 强制指定字幕解码器为 “codec_name”