Подтвердить что ты не робот

Используйте команду adb screenrecord для отображения экрана Android на ПК через USB

Я попробовал предложение fadden, чтобы отобразить экран Android на ПК, но экран vlc player ничего не показывает:

enter image description here

Какими будут правильные строки команд для этой функции? Спасибо.

4b9b3361

Ответ 1

Я не помню командную строку 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 - работает, но, кажется, требуется несколько секунд, чтобы решить начать, и в конечном итоге отстает от всего за все время.

Обновление - январь 2018

Использование ffplay -framerate 60 -framedrop -bufsize 16M - дает вам достойное качество, которое длится довольно долго. Это происходит из-за команды ниже, которая синхронизирует частоту кадров и битрейт, поскольку в противном случае видео будет пытаться играть со скоростью 30 кадров в секунду, что делает все более медленным с течением времени из-за дополнительных кадров. Битрейт затем поможет сохранить видео как можно лучше. Я нашел, что он работает с задержкой 100-1000MS; аналогично большинству Bluetooth-гарнитур. Вы можете получить "рассмотреть вопрос об увеличении вероятности", который может заморозить поток. Лучше перезапустить screenrecord или попробовать добавить -probesize 16M

Примечание. Эта конфигурация с ffplay работает со следующей командой adb, запрограммированной заранее. Если вы выполняете интенсивные задачи с использованием GPU или используете более старый телефон, лучше выбрать 1280x720. Если ваш телефон не поддерживает 60 кадров в секунду (или, похоже, не записывает их с частотой 60 кадров в секунду), измените значение до тех пор, пока не будет установлено значение 30 или 24.

adb shell screenrecord --bit-rate=16m --output-format=h264 --size 1920x1080 -

MPlayer

Команда mplayer -demuxer h264es -, кажется, дает наилучшие результаты. Начинается сразу, очень мало задерживается, и не волнуется, как vlc.

Ответ 2

Так как vlc не может воспроизвести файл h264 из вывода adb std, я перехожу к использованию ffplay в качестве проигрывателя потоков, и он работает с помощью следующей команды:

adb shell screenrecord --output-format=h264 - | ffplay -

OS X binary ffplay и потоковые экраны:

enter image description here

Спасибо!!