Как создать основной список воспроизведения для HLS, используя библиотеку Java-оболочки для FFMPEG - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь найти / использовать библиотеку Java, которая охватывает FFMPEG для создания HLS-совместимых сегментов и файлов метаданных вместе с основным файлом метаданных.

Большинство существующих библиотек прекрасно выполняют кодирование и предоставляют дополнительные функции для дополнительных параметров аудио / видео. Но я не смог найти хороший способ использовать их для создания основного файла метаданных и других сегментов метаданных на основе разрешения / пропускной способности / битрейта +.

Одним из способов, которым я планирую заняться, является выполнение фрагмента кода, который выполняет HLS для меня несколько раз, чтобы соответствовать разным битрейтам, а затем программно просматривает файлы метаданных для составления основного файла метаданных. Но это добавляет места для ошибок.

Если вы знаете о существующей библиотеке, которая может сделать это для меня. Пожалуйста, поделитесь подробностями. Это действительно помогло бы.

Библиотека:

Документация (см. Раздел «Главный плейлист») https://developer.apple.com/library/content/referencelibrary/GettingStarted/AboutHTTPLiveStreaming/about/about.html

FFMPEG код командной строки, который работает для меня

ffmpeg -loglevel debug -threads 4 -vsync 1 -i 'id.mp4' -vf yadif -g 29.97 -r 29.97 -b:v:0 5250k -c:v libx264 -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -rc-lookahead 32 -forced-idr 1 -b:v:1 4200k -c:v libx264 -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -rc-lookahead 32 -forced-idr 1 -b:v:1 3150k -c:v libx264 -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -rc-lookahead 32 -forced-idr 1 -b:a:0 256k -b:a:0 192k -b:a:0 128k -c:a aac -ar 48000  -map 0:v -map 0:a:0 -map 0:v -map 0:a:0 -map 0:v -map 0:a:0 -f hls -var_stream_map "v:0,a:0  v:1,a:1 v:2,a:2" -master_pl_name  master.m3u8 -t 300 -hls_time 10 -hls_init_time 4 -hls_list_size 0 -master_pl_publish_rate 10 -hls_flags delete_segments+discont_start+split_by_time "vs%v_manifest.m3u8"

Любая помощь будет оценена. Заранее спасибо.

...