2017-12-06 4 views
0

그래서 RTSP 스트림이 있는데 D-Link936L과 삼성 갤럭시 탭 S 사이에 설정하려고합니다. codecs (a/v)가 일치하고 호환됨을 확인했습니다. VLC을 사용하여 IP 카메라가 내 바탕 화면에 연결되어 있는지 확인했습니다.안드로이드에 IP 카메라 rtsp 스트림이 실패했습니다

타블렛과 카메라간에 공유되는 RTSP의 네트워크 패킷에 대해 자세히 살펴 보았습니다. 나는 흥미로운 것을 찾는 것을 끝내었다.

참고 : 나는 또한 오류 수신하고 다음 0x8000000000뿐만 아니라

D/MediaPlayer: setDataSource IOException | SecurityException happend : 
                      java.io.FileNotFoundException: No content provider: rtsp:// 

을 (또는 그러나 많은 영의) 내가 잘못 처리까지 백분하고

error (1, -2147483648) 

같은 오류 뭔가를해야만 시간 초과/오 통신 오류.

어떻게 결론에 도달 했습니까? 내가 wireshark 좋은 연결 (타블렛은 IP 카메라 EDIT에 Google 플레이 스토어에서 실행 RTSP Player)와 나쁜 연결 (타블렛에서 IP 카메라까지)로 기록했다. 아래에서 내가 찾은 것을 볼 수 있습니다.

좋은 연결 :

Good connection

그리고 나쁜 연결 :

Bad connection

당신은 좋은 연결에 알 수는 ACK 다음 명령이 있습니다. 그러나 나쁜 연결에서 DESCRIBE 패킷에 대한 ACK를 수신하는 데 약 2.2 초가 걸리는 것을 알 수 있습니다. 이렇게하면 안드로이드 측이 TEARDOWN을 보내고, 곧 DESCRIBE_ACK가 전송됩니다. 따라서, 똑똑해 지려고 노력하면 안드로이드 장치는 SETUP ...을 보냅니다. 그러나 TEARDOWN_ACK에 대해 일치하지 않습니다. 곧 받아 들여질 것입니다.

마지막으로 : 내 질문은이 두 초 지연의 원인이 무엇입니까? 오, 12/8/17까지 알아야합니다. 소년 · OH ...

편집 : 내가 얘기를 깜빡 했네요 한 가지, 내 IP 카메라로 rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov 하지만 작동합니다.

내가 무엇을했는지 단지 통지가 있지만 내가 안드로이드 장치에서 패킷을 캡처하는 데 사용한 소프트웨어를 실행하면 위의 링크가 오류 (1, -214 #####) 코드와 함께 실패합니다. 잘.

답변

0

다른 사람이이 문제를 발견 할 경우를 대비하여 이에 대한 답변을 드리겠습니다.

내 개발이 빠르며 문제를 디버깅 할 시간이 없었기 때문에 근본 원인을 찾을 수 없었습니다.

첫 번째 해결 방법은 VXG API를 사용하는 것이지만 애플리케이션 실행 당 3 스트림, 스트림 길이에 2 분간 캡션 및 각 비디오의 워터 마크 만 허용했습니다. 전체!

나의 두 번째이자 마지막 해결책은 약간 이상한 VLC API를 사용하는 것이었지만 작업 일에 설정하여 3 개 스트림, 무제한 시간 및 워터 마크가 없어도 작동되도록했습니다. ... 굉장해!

내 제안은 VLC API를 사용합니다. 내 문제는 표면적으로 만 작업 할 수있어서 문제가 생겼고 TCP를 사용하는 것 같았습니다. VXG API보다 잠복했기 때문입니다 (하지만 어떤 통신이 있었는지 확인하지 않았습니다. 사용됨). 따라서 본질적으로 실시간 비디오보다 적은 비용으로 준비 할 수 있습니다. 대기 시간의 0.5-1 초는 개인 WLAN에서 경험 한 것일 수 있습니다.

관련 문제