jas*_*ang 28 android adb screencast
我尝试过fadden的建议,将Android屏幕镜像到PC,但vlc播放器屏幕没有显示任何内容:

这个函数的正确命令行是什么?谢谢.
jas*_*ang 26
由于vlc无法从adb std输出播放h264文件,我转而使用ffplay作为流播放器,它通过以下命令工作:
adb shell screenrecord --output-format=h264 - | ffplay -
Run Code Online (Sandbox Code Playgroud)
OS X二进制ffplay和流媒体屏幕:

谢谢!!
fad*_*den 18
我不记得我用于初始测试的vlc命令行.我最近在桌面Linux(Ubuntu 15.10)上尝试了一些不同的东西.
VLC
如果你只输出输出vlc --demux h264 -,它似乎工作,但你逐渐落后.添加--h264-fps=60似乎有帮助,但你开始得到错误(" ES_OUT_SET_(GROUP_)PCR is called too late").添加--clock-jitter=0似乎使错误减少了创伤,但它仍然相当混乱.
ffplay
一个简单的ffplay -工作,但似乎需要几秒钟来决定开始,并最终落后于整个时间.
使用ffplay -framerate 60 -framedrop -bufsize 16M -给你一个体面的质量,持续相当长一段时间.这是由于以下命令同步帧速率和比特率,因为视频将尝试以30fps播放,使得由于额外的帧,一切看起来/变慢.然后,比特率将帮助保持视频尽可能正确地定时.我发现它在100-1000MS延迟范围内工作 ; 与大多数蓝牙耳机类似.您可能会收到"考虑增加探测"错误,可能会冻结流.最好重新启动screenrecord或尝试追加-probesize 16M
注意:此配置与ffplay一起使用事先管道的以下adb命令.如果您正在运行GPU密集型任务或使用较旧的手机,那么大小1280x720更好.如果您的手机不支持60fps(或者似乎没有以60fps录制),请更改为适当的值,例如30或24.
adb exec-out screenrecord --bit-rate=16m --output-format=h264 --size 1920x1080 -
mplayer的
该命令mplayer -demuxer h264es -似乎产生了最好的结果.立即开始,非常小的延迟,并不像vlc那样吓坏.
小智 8
根据上面的答案,我尝试了所有可能的组合,只有一种组合不会太滞后,不会停止并且具有不错的视频质量,并且具有ffplay:
adb shell screenrecord --bit-rate=16m --output-format=h264 --size 800x600 - | ffplay -framerate 60 -framedrop -bufsize 16M -
Run Code Online (Sandbox Code Playgroud)
size参数可以更改为任何值。
请注意,这还远远不够完美,但是可以完成工作,我还通过WiFi进行了尝试,它已经足够好了。
小智 5
播放器
对于低延迟播放,mplayer 迄今为止效果最好。
adb shell screenrecord --output-format=h264 - | mplayer -framedrop -fps 6000 -cache 512 -demuxer h264es -
Run Code Online (Sandbox Code Playgroud)
注意:上面设置 mplayer 尽快消耗帧。不过,因此,在等待新帧时,播放窗口可能会变得缓慢。
录屏有3分钟时间限制的“功能”。如果您愿意从代码重新编译它,这里有一个很好的链接。
重新编译屏幕记录后:
adb shell screenrecord --time-limit=31000 --output-format=h264 - | mplayer -framedrop -fps 6000 -cache 512 -demuxer h264es -
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34751 次 |
| 最近记录: |