使用ADB配合ffplay投屏Android屏幕出现参数识别报错如何解决
错误根因分析
- 核心问题是命令中错误混淆了
ffmpeg和ffplay两个独立的FFmpeg套件工具:你把ffplay作为参数传递给了ffmpeg,导致所有后续参数归属完全错乱- 第一次
-sync参数不识别报错:-sync是ffplay独有的参数,ffmpeg本身没有该参数,因此直接抛出无法识别的错误 - 第二次删除
-sync后的报错:ffmpeg仍然将后续的ffplay识别为无效的输出格式参数,因此抛出找不到对应输出格式的错误
- 第一次
解决方案
直接删除命令中多余的ffmpeg字段,让ADB输出的h264流直接传递给ffplay处理,同时在命令末尾添加-指定从标准输入读取流,修改后的可运行命令如下:
.\adb exec-out screenrecord --output-format=h264 - | ffplay -framerate 60 -probesize 32 -sync video -
可选优化
如果运行后出现延迟过高、花屏、卡顿问题,可以额外添加低延迟相关参数优化播放效果:
.\adb exec-out screenrecord --output-format=h264 - | ffplay -framerate 60 -probesize 32 -sync video -analyzeduration 1 -fflags nobuffer -flags low_delay -framedrop -
内容的提问来源于stack exchange,提问作者Ooker
相关产品推荐
相关产品推荐

