Как получить доступ к сегментам видеотранспорта HLS (.ts) из Android-плеера?

У нас есть Android-плеер, который воспроизводит поток m3u8. Этот поток m3u8 содержит многочисленные транспортные сегменты видео, которые воспроизводятся последовательно. Обычно плеер буферизует несколько транспортных сегментов.

Если пользователь нажимает кнопку, я хотел бы сохранить существующий буфер транспортных сегментов в массиве (или другой структуре данных) и немедленно объединить их в mp4. Итак, если в буфере есть:

чанк123.тс чанк124.тс чанк125.тс

Я хотел бы объединить их в куски.mp4

Вторая часть задачи - слияние - это то, с чем я знаком. Однако я не уверен, как мне получить транспортные сегменты в буфере видеоплеера на Android (видеоплеер обрабатывает загрузку). Я полагал, что для этого понадобится видеоплеер с открытым исходным кодом? Какую часть кода мне нужно изменить, чтобы сделать его доступным из моего приложения?

Благодарю вас!


person Carlos F    schedule 05.04.2015    source источник


Ответы (1)


Проверьте ExoPlayer. Он обрабатывает поток m3u8 и сохраняет кэширование. Вы можете легко добавить свою пользовательскую логику, поскольку приложение уведомляется каждый раз, когда фрагмент (файл ts) загружается классом ChunkSampleSource.

person Dekra    schedule 06.04.2015