标签 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”