내 삼성 갤럭시 S4 장치에서 내 랩톱과 안드로이드 5.0.1에서 Windows 7 64 비트를 사용하고 있습니다. 다음 코드를 사용하여 adb를 통해 장치 화면을 스트리밍하려고합니다. adb shell screenrecord --output-format=h264 - | vlc -
vlc v2.2.4가 있습니다. 하지만 아무것도 표시되지 않습니다.화면 안드로이드 화면에서 비디오 플레이어
그러나 k-lite 메가 코덱 팩 v12.3.5에 다음과 같은 코드로 제공되는 media player classic을 사용하는 경우 : adb shell screenrecord --output-format=h264 - | "C:\Program Files (x86)\K-Lite Codec Pack\MPC-HC64\mpc-hc64_nvo.exe" -
내 화면과 비슷하지만 이미지가 완전히 깨졌습니다.
adb shell screenrecord --output-format=h264 /sdcard/screenrecord.mp4
을 사용하여 기기 화면을 녹화 한 경우 기기에서 가져 와서 미디어 플레이어 클래식으로 열면 동영상은 완전히 정상입니다. 그러나 vlc는이 경우에도 열 수 없습니다.
무슨 문제 일 수 있습니까? 녹화 된 비디오를 볼 수는 있지만 스트리밍 된 비디오를 볼 수없는 이유는 무엇입니까?
그리고 추가로 한 가지 질문이 있습니다. 나는 adb-server의 명령이 장치의 스크린 샷을 가져 오는 것을 발견했습니다. adb shell screencap
명령의 대안입니다. Qt 프레임 워크에서 QTcpSocket을 통해 해당 명령을 사용할 수 있습니다.
그러나 adb shell screenrecord
대신 adb 서버를 찾을 수 없습니다. 이 경우 명령을 실행하고 QMediaPlayer에 출력을 전달하려면 QProcess를 사용해야합니다. 지금까지 나는 성공할 수 없었습니다. QMediaPlayer::setMedia
은 QMediaSource
또는 QIODevice
을받습니다. Qprocess가 QIODevice
에서 계승되었고 QMediaPlayer:::setMedia
에 인수로 제공하려고했지만 오류 코드 1로 프로그램이 종료되었습니다. QProcess
의 결과를 QMediaPlayer
으로 전달할 수 있습니까?
사용해야합니다. 게시물 당 하나의 질문을 유지하면서 남은 질문을 별도로 게시하십시오. –
좋아요, 고맙습니다. – Umriyaev