Проект потокового видео Java - PullRequest
0 голосов
/ 29 мая 2018

Я должен сделать программу потокового видео Java в качестве проекта в университете, однако я не знаю, как начать!

Я должен сделать как на стороне основного сервера, так и на стороне субсервера, на стороне клиентабудет VLC.

Так что мне нужна помощь по следующим пунктам:

  • На главном сервере я должен разделить видео, чтобы сказать 10КБ частей, как это сделать правильно?
  • Как правильно транслировать видео с субсервера на клиент?

Примечание: Я предпочитаю использовать видео mp4, но мне разрешеноиспользовать все, что я хочу.

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Вы можете посмотреть Ant Media Server проект с открытым исходным кодом.

0 голосов
/ 29 мая 2018

Вам необходимо решить, создаете ли вы настоящий прямой эфир (обычно Apple HLS или MPEG DASH) или просто псевдо-прямой поток.Некоторые форматы, такие как MP4, могут передаваться в потоковом режиме при правильном форматировании (см., Как это сделать здесь ).

На главном сервере я должен разделить видео на части размером 10 КБкак это сделать правильно?

Звучит так, как будто вы хотите конвертировать mp4 в mpeg-ts.Посмотрите на https://github.com/taktik/mpegts-streamer. Другой вариант - запустить ffmpeg

Как правильно транслировать видео с субсервера на клиент?

Синхронизация с несколькими источниками является нетривиальным вопросом, когда речь идет о живых потоках.В зависимости от вашей реализации:

  1. Псевдо-прямой поток с MP4: убедитесь, что ваш потоковый API поддерживает поиск и перезапуск.Когда клиент повторно подключается к другой конечной точке, он может отправлять заголовки HTTP, чтобы указать, где продолжить (не уверен, поддерживает ли это VLC)

  2. Истинный живой поток: отслеживайте фрагменты, которые были переданыклиент.Тема или эластичная боль звучат разумно для этого.Когда клиент подключается к субсерверу в первый раз, проанализируйте эластичность подписки или запроса, чтобы определить лучший блок.

...