HTTP-live Steaming на сервере Linux - PullRequest
5 голосов
/ 10 апреля 2011

Мне трудно найти какую-либо убедительную информацию по этому вопросу. У меня есть выделенный сервер в центре обработки данных с Debian 5.0. У меня есть приложение для iPhone / iPad, в котором используется серверная часть JAVA EE (Glassfish 2.1), и я нахожусь в процессе внедрения видео в приложение. Это включает в себя прямую трансляцию и видео более 10 минут. Мне нужно HTTP Live Streaming.

Какое лучшее решение с открытым исходным кодом / бесплатно для реализации? Это всего лишь пилотный проект, поэтому я не хочу подписываться на какие-либо платные услуги. В настоящее время у меня еще ничего нет для прямой трансляции, поэтому я могу адаптировать любую систему (серверную или клиентскую).

Я сталкивался:

  • Дарвин (но я не уверен, что проект жив, так как информации не так много)
  • Red5 (но не может быть убедительным, если это позволит легко реализовать потоковую передачу HTTP)
  • FFMPEG

Что касается видео, в идеале я хотел бы загрузить версию 720p на сервер (для iPad), а затем автоматически конвертировать (либо на лету при запросе, либо подготовленный при загрузке файла) в необходимые форматы для iPhone / iTouch. и низкая пропускная способность. Для прямой трансляции я хотел бы иметь возможность предоставить контент примерно через 30 секунд после его потоковой передачи на сервер.

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

В) не очень близком) будущем Android, вероятно, станет частью приложения.

Любые советы / учебники / предложения / советы будут очень признательны.

Ответы [ 5 ]

1 голос
/ 10 апреля 2011

Wowza довольно хорош для потокового вещания на iOS (а также для flash)

Хотя это не бесплатно.

0 голосов
/ 06 января 2012

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

0 голосов
/ 25 апреля 2011

Последняя версия разработки VLC поддерживает потоковую передачу по HTTP.Вам придется собирать из исходного кода, так как он был добавлен в репозиторий git не так давно.

0 голосов
/ 14 апреля 2011

Каков источник живого видео?IPhone поддерживает воспроизведение только базового профиля H.264 уровня 3 или видео mpeg-4 с аудио aac.Сам iPhone кодирует видео в соответствии с этими спецификациями, но большинство других кодеров этого не делают (включая многие телефоны Android).Если ваше видео не закодировано в соответствии с этой спецификацией, вам сначала нужно будет перекодировать.FFMpeg (с libx264) сделает это хорошо.Затем вам нужно будет сгенерировать файл динамического списка воспроизведения .m3u8.Wowza сделает это за вас из коробки и примет поток rtmp из FFmpeg (но не бесплатно).Я не верю, что red5 поддерживает потоковую передачу Apple http.Есть бесплатные серверы, которые претендуют на это, но я никогда ими не пользовался.Взгляните на http://erlyvideo.org/. В противном случае вы можете сделать это самостоятельно довольно просто.FFmpeg выведет поток mpeg-ts.Все, что нужно сделать генератору списка воспроизведения, - это разрезать его на куски с выравниванием по 188 байт и вернуть список воспроизведения, содержащий последние n.Вы даже можете использовать модуль смещения http-байтов, чтобы список воспроизведения ссылался на один файл.Прочитайте документацию по потоковой передаче от Apple по адресу https://developer.apple.com/streaming/

0 голосов
/ 10 апреля 2011

См. Http-документ Apple по потоковому вещанию и лучшие практики.

https://developer.apple.com/streaming/

Это хорошая точка для начала.

...