Jump to content
Калькуляторы

Трансляция видео (файлы mp4) на сайте что делаю не так и что посоветуете

Есть задача в трансляции некоторого видео (набор из парочки десятков файлов .mp4 кодек h.264) на сайте.

Необходимо обеспечить видимость именно online трансляции, не video on demand.

 

Задачу пытаюсь решать таким образом.

1. На сервере устанавливаю VLC, закачиваю на сервер файлы и запускаю стрим. Результатом является поток RTSP. То есть подключаясь к этому серверу - получаю воспроизведение плейлиста. Пару слов о том, как транслирует VLC (1.1.1.1 - VLC server address). Я запускаю поток так:

vlc -vvv file.mp4 --sout '#rtp{dst=1.1.1.1,port=1234,sdp=rtsp://1.1.1.1:8080/test.sdp}'

Если на своем ПК (не сервер) открываю VLC и пытаюсь подключиться к VLC серверу

vlc rtsp://1.1.1.1:8080/test.sdp

то ничего не происходит. Было установлено, что сервер делает коннект к клиенту на порт 1235,1236. Коннекты не проходят из-за НАТа.

Если подключиться к VLC серверу с машины с реальным IP - проблем нет, видео воспроизводится.

 

2. К серверу с VLC подключается медиа сервер с WOWZA. По сути производится рестриминг видео. Настройка производилась в соответствии с докой (http://www.wowza.com/forums/content.php?39#checkSource).

Поток создается, в логах все в порядке (подключено).

 

3. Frontend. На неком вебсервере установлен JW Player, в котором мы хотим получить видео. JW поддерживает RTMP (2.2.2.2 - WOWZA server address).

[/code]

'flashplayer': 'player/player.swf',

'file': 'camera.stream',

'streamer': 'rtmp://2.2.2.2/live',

'controlbar': 'bottom',

'width': '470',

'height': '290'

 

В итоге в плеере видео не отображается. Плеер точно находит поток, потому как если внести изменения в конфигурацию плеера (например, изменить название потока) - он пишет, что поток не найден. 

В логах WOWZA
1.1.1.1 - LVC server
2.2.2.2 - WOWZA
3.3.3.3 - client
[code]
2012-11-07      19:02:21        MSK     connect-pending session INFO    100     3.3.3.3     -       _defaultVHost_  live    _definst_   0.052   [any]   1935    rtmp://2.2.2.2/live        3.3.3.3     rtmp    http://www.***.com/player/player.swfWIN 11,4,31,110  659973948       3412    3073    -       -       -       -       -       -       -       -       -       -       -  --       rtmp://2.2.2.2/live        -
2012-11-07      19:02:21        MSK     connect session INFO    200     3.3.3.3     -       _defaultVHost_  live    _definst_  0.053    [any]   1935    rtmp://2.2.2.2/live        3.3.3.3     rtmp    http://www.***.com/player/player.swf     WIN 11,4,31,110     659973948       3412    3073    -       -       -       -       -       -       -       -       -       -       -  --       rtmp://2.2.2.2/live        -
2012-11-07      19:02:21        MSK     create  stream  INFO    200     -       -       _defaultVHost_  live    _definst_       0.0[any]    1935    rtmp://2.2.2.2/live        3.3.3.3     rtmp    http://www.***.com/player/player.swf     WIN 11,4,31,110     659973948       3461    3413    1       0       0       0       -       -       -       -       -       -       rtmp://2.2.2.2/live    rtmp://2.2.2.2/live        -       rtmp://2.2.2.2/live        -
2012-11-07      19:02:29        MSK     comment server  WARN    200     -       LiveMediaStreamReceiver.doWatchdog: streamTimeout: Resetting connection     -       -       -       10446.168       -       -       -       -       -       -       -       -       -  --       -       -       -       -       -       -       -       -       -       -       -       -       -       -
2012-11-07      19:02:29        MSK     comment server  INFO    200     -       LiveMediaStreamReceiver.resetConnection: (SOCKET, R: /1.1.1.1:8080, L: /2.2.2.2:55200, S: /1.1.1.1:8080)     -       -       -       10446.168       -       -       -  --       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -  --       -       -

 

Вижу что получается какой-то таймаут, но почему так не понимаю.

 

Что посоветуете в данной ситуации.

Share this post


Link to post
Share on other sites

А для чего вам vlc, если в итоге пользуетесь флешем?

Может быть сразу во флеше передавать?

Например erlyvideo, не плохой пакет, написан нашим программистом. Умеет многое для вещания, источники могут быть различными.

Share this post


Link to post
Share on other sites

Мы пробуем ВЛЦ либо любой другой источник+Момент видео сервер. Вроде работает.

Edited by BSI_KSK

Share this post


Link to post
Share on other sites

А для чего вам vlc, если в итоге пользуетесь флешем?

Может быть сразу во флеше передавать?

Например erlyvideo, не плохой пакет, написан нашим программистом. Умеет многое для вещания, источники могут быть различными.

 

наверно erlyvideo и хороший продукт, но документация - тихий ужас. Wowza в этом плане куда лучше выглядит. Начинал с flussonic, но после возникновения каких либо вопросов понимал что далеко не уедем (люди на форумах также задают аналогичные вопросы, но внятных ответов к сожалению нет).

Share this post


Link to post
Share on other sites

У меня задача решилась эти продуктом. Правда, сейчас уже неактуальна, поэтому свернули. Давно было дело.

Но, на сколько помню, файлы он позволяет вещать. Получалось, по крайней мере.

Еще можно gstreamer взять, тоже не плохой пакет, даже можно сказать лучший.

 

А для чего вам vlc, если в итоге пользуетесь флешем?

Может быть сразу во флеше передавать?

Например erlyvideo, не плохой пакет, написан нашим программистом. Умеет многое для вещания, источники могут быть различными.

 

наверно erlyvideo и хороший продукт, но документация - тихий ужас. Wowza в этом плане куда лучше выглядит. Начинал с flussonic, но после возникновения каких либо вопросов понимал что далеко не уедем (люди на форумах также задают аналогичные вопросы, но внятных ответов к сожалению нет).

Share this post


Link to post
Share on other sites

 

наверно erlyvideo и хороший продукт, но документация - тихий ужас. Wowza в этом плане куда лучше выглядит. Начинал с flussonic, но после возникновения каких либо вопросов понимал что далеко не уедем (люди на форумах также задают аналогичные вопросы, но внятных ответов к сожалению нет).

 

Я сколько ни пытался выяснить, что именно люди вкладывают в «недостаточную документацию», выяснял лишь то, что люди хотят видеть мегабайтные XML файлы, которые они должны настраивать (что может быть приятнее, чем вручную прописывать настройки для Java beans) и, соответственно, хотят видеть заумные талмуды с инструкциями по редактированию этих мегабайтных XML файлов.

 

Например, что бы запустить вещание файлов на erlyvideo, достаточно такого (одного единственного) конфига:

 

{http, 8080}.
{file, "vod", "/storage"}.
{wwwroot, "wwwroot"}.

 

Всё. Больше ничего не нужно. Но нет, люди всё мучаются: а где же у софтины опции, как её «потюнить». Не находят (ах, какая жалость, не дали доступа до тюнинга аллокатора памяти) и жалуются на документацию.

Share this post


Link to post
Share on other sites

Если честно, то когда я установил flussonic и увидел конфиг, я подумал что ВОТ ОНО!!!

Потом открыл документацию, и ...

 

{root, "wwwroot"}
Опция указывает, откуда раздавать файлы для административной панели. Можно отключить, что бы убрать панель администратора.

ничего не понял вообще

 

{http, 8080}

для чего слушается этот порт? что происходит при подключении на этот порт?

 

и так далее. Кто хочет тот пользуется, я даже уверен, что софт классный. Но большинство пользователей его забрасывают из-за непонятности того, как решить текущие задачи. Документация скорее похожа на склерозник для себя.

 

Мне, например, нужно получить RTSP поток, транскодировать в 4 разных битрейда, обеспечить динамическое переключение между ними. Выдать это клиентам с PC, iOS, Android. Как это сделать - не совсем понятно, а заниматься методом тыка не хочется.

Share this post


Link to post
Share on other sites

Т.е. никак не получается догадаться, что если какой-то фичи нет в документации, то её скорее всего может вообще в софте не быть?

 

Так же вы мне сейчас очень сильно напоминаете людей, которые хотят, что бы я документировал RTMP API.

Ага. Уже. Поскакал перепечатывать с сайта адоба 200 страниц меняющегося текста.

 

Что же насчёт порта, то это уже просто глупо. Просто невообразимо глупо. flussonic — это прежде всего http стриминговый сервер. Несложно догадаться, что порт, маркированный в конфиге, как http — это порт, на котором отдается всё по http.

Причём, я совершенно не понимаю, что вы вообще считаете хорошей документацией и что вы можете настроить, раз у вас вызывает сложности даже такой простейший вопрос.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.