Как исправить проблему Exoplayer с видео в формате playinp H.264 - PullRequest
0 голосов
/ 02 марта 2020

У меня работает устройство с android 4.2.2, и я создал приложение, которое использует последнюю версию ExoPlayer в качестве компонента видеоплеера. мой плеер отлично работал над воспроизведением видео с помощью ProgressiveMediaSource. но вчера я узнал, что у него проблемы с воспроизведением видео H.264 . видео воспроизводилось, но оно показывало серый экран .

Я копал глубже и понял, что единственная разница между этим видео и более ранними видео заключается в том, что они имеют различный профиль спецификации (рабочие видео были Main и это видео было High ).

Сначала я догадался, что, возможно, это код c не поддерживает, но я создал приложение с MediaPlayer , и оно воспроизводилось без проблем.

Это может показаться дубликатом для этого вопроса но это мне не помогло.

Я прочитал целую страницу устранения неполадок документации ExoPlayer , особенно те, которые связаны с моим типом файла (MP4), но, похоже, это не связано с моей проблемой .

И последнее, что я попробовал, - это добавление analytics к моему ExoPlayer, но я не видел ни одного журнала, подобного этому:

[ ] Track:x, id=x, mimeType=mime/type, ... , supported=NO_UNSUPPORTED_TYPE

Я знаю, что мои знания о эта проблема не обширна, и мне нужно улучшить ее, чтобы x вопрос и любые прямые или косвенные советы будут с благодарностью.

PS. Вы можете посмотреть мои видео файлы здесь . Я добавил три рабочих видео и это специальное поврежденное видео. все видеофайлы имеют стандартное форматирование, битрейт, профиль и кодировку.

1 Ответ

0 голосов
/ 05 марта 2020

Я также пробовал ваше видео на моем примере exoplayer- kotlin. Это не сработало, и у меня возникла та же проблема.

Я пошел проверить репозиторий github и обнаружил эту проблему с exoplayer . Кажется, это ошибка, которую библиотека не собирается устранять. Вам нужно либо выполнить какой-то процесс над своим видео, либо использовать другой видео компонент, если это жизненно важно для вашего приложения.

РЕДАКТИРОВАТЬ: Я взял пример, который предлагает official-exoplayer и добавить в media.exolist.json это:

"name": "Widevine DASH: MP4,H264",
"samples": [
  {
    "name": "TEST: CORRUPTED",
    "uri": "https://YOUR-IP/corrupted.mp4"
  },
...

в журнале я получил это:

tracks [eventTime=0.21, mediaPos=0.00, window=0, period=0, 
  Renderer:0 [
    Group:0, adaptive_supported=N/A [
      [X] Track:0, id=1, mimeType=video/avc, res=1280x800, fps=29.970032, supported=YES
    ]
  ]
]

Однако видео заикается много и не отображается.

...