2013-07-02 1 views
1

mpeg2ts 개의 파일 세트를 제공하는 여러 개의 .m3u8 파일을 HLS 개 이상 사용하여 Apache 2.0을 설정했습니다. 이 ts 파일은 libavformat에 의해 transmuxing으로 생성되었으며 MP4youtube에서 다운로드했습니다. 또는 QT에 결과로 HLS을 재생하면 모든 것이 정상적으로 작동합니다.ts 파일이 변경되면 Stagefright 1.2에서 왜 HLS 스트림이 왜곡됩니까?

  1. 전체 화면을 이동하는 옵션이 실제로 2시
  2. 때 비디오 지속 시간이 1:40 말한다
  3. 작동하지 않습니다하지만 안드로이드 (스테이지 프라이트 1.2)의 비디오는 몇 가지 문제가있다 비디오가 때때로 시작되지 않고 페이지를 새로 고침해야합니다. 스트림을 전환 할 때 영상이 전환 지점에서 안정적으로 왜곡됩니다 (찢어지고 픽셀 화됨).

HTML5 님의 태그를 사용하지 않으면이 중 일부가 개선됩니다. 그러나 문제 # 4가 남아 있습니다.

내가 위의 문제 중 하나없이 스테이지 프라이트 다른 m3u8 년대를 재생할 수 있습니다, 그래서 ffmpeg의 (최근에 추가 된) HLS 분할 기능 나도 같은이 내 transmuxing 코드가 잘못 가정하지만, 심지어 그것을 삼가고 및 사용하고 문제. libx264으로 레코딩하면 아무런 변화가 없습니다.

나는 디버깅을 끝내고있다.

답변

0

안드로이드의 libstagefright (mediaservice의 NuPlayer와 함께)는 vlc와 같이 성숙한 제품이 아니며 vlc를 사용하는 동안 존재하지 않는 많은 문제가 안드로이드에 나타나면 깨진, 손상된 편향된 콘텐츠에 대해 훨씬 더 취약합니다.

이러한 픽셀 화/매크로 블록 아티팩트는 일반적으로 일부 프레임이 디코딩되기 전에 안드로이드 코드로 손실되거나 손실되었을 때 표시됩니다.

녹색 필드와 함께 이러한 손상이있는 경우 형식 변경을 키 프레임과 동기화 할 때 문제가 발생할 수 있습니다 (이는 소스 구현이 잘못되었거나 부분적으로 형식 변경에 대해 ANativeWindow에 알리는 부분 일 수 있음) . 코너 케이스에서는 녹색 프레임이 나타나지 않지만 자르기/반전이 어긋나고 픽셀이 표시 될 수 있습니다.

내가 어떻게 할 것인지 : 1) 프레임에 대한 확인이 2 dropps) 연속 섹션

을의 경계에서 약간의 분석 프레임 확인
관련 문제