Broadcasting ( организация собственных прямых трансляций на базе TS )

Информация на Wiki http://wiki.acestream.media/Streaming

Для Windows

Используйте опцию " Broadcasting", в меню клиентского приложения TS для создания собственного канала с прямой трансляцией.

Значение параметров:

Name
Название трансляции. Желательно использовать латинские буквы и цифры,без спецсимволов и пробелов.
Пример: mychannel

Source
Источник трансляции. Это должна быть ссылка на HTTP поток с инкапсуляцией MPEG-TS.
Пример: http://127.0.0.1:8080

Bitrate
Средний битрейт потока Кбайт/с.
(100 Кбайт/с = 800 Кбит/с)

Piece length
Размер куска в килобайтах. По умолчанию стоит значение Auto - размер куска будет выбран автоматически в зависимости от указанного битрейта.

Trackers

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

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

Host
Внешний IP-адрес компьютера, с которого запускается трансляция.
Это поле необходимо заполнять в том случае, если трансляция запускается с компьютера, которой подключен к интернету через маршрутизатор. Для того, чтобы узнать свой внешний IP-адрес, можно воспользоваться одним из специализированных сервисов, например, http://showip.net

Для Ubuntu и Debian

Инструкция : http://torrentstream.org/docs/tsengine_stream.txt

Пакты для CentOS

Смотрите здесь: http://wiki.acestream.media/Streaming


__________________________________________________________________________

Внимание! ( для всех бродкасеров ) Чтобы снизить нагрузку с локального трекера и облегчить пользователям процесс подключения к трансляции желательно при запуске стрима указать дополнительные трекеры.

На Ubuntu и Debian это делается с помощью параметра trackers
tsengine-stream … --trackers

На Windows, просто пропишите все трекеры в соответствующем поле

_

Для стримеров/бродкастеров ( обновление от 04.12.2012)

Обновленная версия движка для ubuntu и debian. В новой версии значительно снижена нагрузка на процессор.

Новую версию можно забрать из репозитория:
Debian 6+:
deb http://repo.acestream.media/debian/ squeeze main

Для Debian есть еще репозиторий sid (там пакет, собранный с другими зависимостями, которые соответствуют официальным sid-репозиториям):
deb http://repo.acestream.media/debian/ sid main

Ubuntu 11.10:
deb http://repo.acestream.media/ubuntu/ oneiric main

Ubuntu 12.04:
deb http://repo.acestream.media/ubuntu/ precise main

Ubuntu 12.10:
deb http://repo.acestream.media/ubuntu/ quantal main

Установка публичного ключа:
debian:
wget -q -O - http://repo.acestream.media/keys/acestream.public.key | apt-key add -

ubuntu:
sudo wget -q -O - http://repo.acestream.media/keys/acestream.public.key | sudo apt-key add -

Пакеты
acestream-engine - движок
acestream-mozilla-plugin - плагин для браузеров
acestream-player - десктопный плеер
acestream-player-data - набор общих библиотек для плеера и плагина
acestream-full - полный пакет, который включает в себя все вышеперечисленные

Для Debian доступен только движок.


Новые параметры для acestreamengine-stream/acestreamengine-node, начиная с версии 2.0.3 ( обновление от 15.12.2012)

acestreamengine-stream
Эта команда запускает источник трансляции

обязательные параметры
–name NAME - название трансляции (это название используется при создании файла acelive)
–source SOURCE - источник (ссылка на http поток)
–bitrate BITRATE - средний битрейт потока в байтах в секунду

необязательные параметры
–title TITLE - “читабельное” название транляции (это название выводится у клиентов). Если не задано, берется из --name
–destdir DESTDIR - устаревшний параметр, лучше использовать --cache-dir и --publish-dir
–cache-dir CACHE_DIR - папка для создания служебных файлов (кеш трансляции и другие)
–publish-dir PUBLISH_DIR - папка, в которой будет создан acelive-файл
–piecesize PIECESIZE - размер куска в байтах (если не задан, выставляется автоматически в зависимости от битрейта)
–duration DURATION - размер кеша трансляции в формат ЧЧ:ММ:СС (по умолчанию один час: 01:00:00)
–host HOST - вручную задать адрес локального трекера
–port PORT - порт, на котором работает движок
–skip-internal-tracker - отключить локальный трекер
–add-authorized-peers - добавить список авторизованных пиров в acelive файл
–private-source - сделать источник “приватным”
–support-node SUPPORT_NODE - добавить узел поддержки (в формате ip:port). Этот параметр может встречаться несколько раз, если нужно добавить несколько узлов поддержки.
–tracker TRACKER - добавить трекер (announce url). Этот параметр может встречаться несколько раз.
–trackers TRACKERS - старый формат добавления трекеров (список announce url через запятую)
–provider-key PROVIDER_KEY - ключ провайдера (только для коммерческих трансляций)
–maxclients MAXCLIENTS - максимальное количество пиров, на которые одновременно отдаются данные с источника
–show-pieces - выводить в лог номера кусков по мере их создания
–show-peers - периодически выводить в лог список подключенных пиров
–debug DEBUG - установить уровень отладки

дополнительно:
-h, --help - показать описание команд

Примечания:
“локальный трекер” - это трекер встроенный в источник трансляции. Если он не отключен опцией --skip-internal-tracker, то его адрес будет автоматически добавлен в acelive-файл.
“приватный источник” - это источник, который отдает данные только узлам поддержки, которые заданы опцией --support-node

Авторизованные пиры
Опция --add-authorized-peers добавляет в acelive-файл список пиров, которым клиент может “доверять” при подключении к трансляции. Это означает, что клиенту достаточно установить соединение с таким пиром, чтобы начать воспроизведение трансляции. Если клиент не подключен к авторизованному пиру, то для начала воспроизведение требуется наличие соединения минимум с двумя пирами. В список авторизованных пиров попадает источник трансляции (если это не приватный источник) и все указанные узлы поддержки.

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

acestreaengine-node
Эта команда запускает узел поддержки

обязательные параметры
–url URL - ссылка на acelive файл трансляции

необязательные параметры
–port PORT - порт (по умолчанию 8621)
–state-dir STATE_DIR - папка для временных файлов (удаляется после остановки узла поддержки)
–source-node SOURCE_NODE - адрес источника трансляции (ip:port)
–support-node SUPPORT_NODE - добавить адрес другого узла поддержки (ip:port). Этот параметр может встречаться несколько раз.
–allow-source-download - разрешить получение данных от источника
–allow-support-download - разрешить получение данных от других узлов поддержки
–allow-peers-download - разрешить получение данных от обычных пиров
–max-incoming-connects MAX_INCOMING_CONNECTS - маскимальное кол-во входящих соединений (от других пиров) (по умолчанию 1000)
–max-outgoing-connects MAX_OUTGOING_CONNECTS - маскимальное кол-во исходящих соединений (к другим пирам) (по умолчанию 50)
–max-upload-slots MAX_UPLOAD_SLOTS - максимальное количество пиров, на которые одновременно отдаются данные с узла поддержки (по умолчанию 7)
–max-download-speed MAX_DOWNLOAD_SPEED - максимальная скорость загрузки (байт/с). По умолчанию 0 (без ограничений).
–max-upload-speed MAX_UPLOAD_SPEED - максимальная скорость отдачи (байс/с). По умолчанию 0 (без ограничений).
–show-pieces - выводить в лог номера кусков по мере их загрузки
–show-peers - периодически выводить в лог список подключенных пиров
–stats-report-interval STATS_REPORT_INTERVAL - задать интервал в секундах для вывода в лог информации о скорости загрузки/отдачи. По умолчанию 0 (не выводить).
–debug DEBUG - установить уровень отладки

дополнительно:
-h, --help - показать описание команд

Обновление от 10.09.2013

Переход с версий 2.0.х на версию 2.1 и выше

С 10 сентября 2013 года доступна обновленная версия движка 2.1.6 под Ubuntu, Debian и CentOS

Новая версия доступна для тестирования по ссылкам указанным на wiki

В репозитории repo.acestream.net пока доступны старые версии (2.0.8 )

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

При возникновении каких-либо проблем просьба писать здесь на форуме, в этой теме либо на почту support@acestream.net.

Старые версии временно доступны в репозитории и по прямым ссылкам

ВНИМАНИЕ! В ближайшее время поддержка старых версий будет прекращена.

ВАЖНО! Все трансляции, созданные с помощью новой версии Ace Stream (2.1 и выше) не поддерживаются клиентским ПО старых версий (2.0.х и ниже). При попытке просмотреть новую трансляцию с помощью старого движка будет выдаваться ошибка “Cannot load transport file”

Ссылки на Wiki:

Переход с версий 2.0.х на версию 2.1 и выше

Изменения параметров запуска

А почему битрейт в байтах/с? Обычно в битах/с ??? он и называется по этому БИТрейт 8)

Хм, интересный вопрос! Просто все расчеты на движке определяются из объема передаваемых данных, которые исчисляются в байтах, но мы указали это как битрейт, чтобы было всем понятней, но собственно если это вызывает путаницу, то это поле не проблема изменить на другой параметр ввода. В следующее обновление для Windows мы можем включить это изменение, если для большинства будет так удобней и понятней.

P.S. Все это будет еще приводится в порядок, просто это пока считайте тестовой версией для тех кто хочет постримить.

Какие есть ограничения для бесплатного просмотра? Какой битрей (от и до) можно смотреть будет бесплатно?

Пока на тесте, никаких! Позже планируется ввести ограничения для некоммерческих трансляций, идущих с битрейтом свыше 1 мбит/с

А почему свише1 мбит? 1 мбит по сегодняшним мерка очень мало, может планку немного поднять? сейчас даже онлайн тв в основном транслируется свише 1 мбит, скорости из года в год растут, год назад качество онлайн тв 0,5 мбит било круто, а сейчас меньше 1,5 мбита уже маловато кажется. Думаю в 2013 планка поднимется до 2 мбит, может такую планку и оставить для бесплатного просмотра?

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

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

Потестировал вчера-сегодня… результаты пока разочаровывающие (в сравнении с аналогами). Есть конечно свои неоспоримые преимущества, но они меркнут пока перед недостатками… ID моей трансляции сейчас e38ad4b570d0bb51065270187cad5aac9b1a03c0 (будет меняться, что кстати тоже минус большой). Как я и опасался механизмы отдачи контента у TS пока не оптимизированы… и требуют доработки…

Отдача чем то ограничивается, это видно на скрине выше, мой аплоад до 80 Мбит/с, контент 5-6 Мбит/с, даунлоад пиров не меньше 50 Мбит/с! а на выходе получаем ограниченную отдачу в 2 Мбита…
Если делаю битрейт меньше 2 Мбит/с, то всё показывает, делаю больше… всё упирается как в стену…
Подскажите как и чем исправить?

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

На сегодняшний день вы смотрите нашу закрытую тестовую трансляцию с битрейтом под 20 мбит/с, поэтому о каких ограничениях вы говорите?

Возможно ваши ограничения связанны с маршрутизатором, чтобы проверить дайте мне прямую ссылку на вашу трансляцию

Я же дал ссылку… вернее ID … http://torrentstream.org/stream/test.php?id=e38ad4b570d0bb51065270187cad5aac9b1a03c0
Никаких маршрутизаторов или роутеров у меня нет, оптика + впн

Я имел ввиду, чтобы вы мне дали линк на уникаст ( прямой поток ), чтобы посмотреть как от вас идет прямая отдача потока, без нашего софта.

Нет у меня такого линка… ??? Я беру поток со своего источника скажем IPTV… оборачиваю его в http mpeg-ts и пускаю на http://127.0.0.1:1234 который подхватывает ваш TS и раздаёт…
Для сравнения в Sopcast при той же схеме никаких подобных проблем с отдачей не возникает… :-\

Что за ошибка ???

интересно у кого нить ещё кроме меня получилось сделать свою трансляцию вообще??? хотелось бы глянуть на результаты… 8)

да, у меня получилось
интересно как ведет себя прога при большом количестве подключений
ну и постоянную ссылку на трансляцию нужно

Ну а ссылка то где? или хотя-бы ID Потока :slight_smile: битрейт какой? у меня вот больше 1-2 Мбит никак не хочет раздаваться… Ace Stream

Пур Иванов, я тебе уже на livefootball отвечал :smiley:

Вот к твоей трнсляции чат добавил http://maxwell.ho.ua/111.php

Это всё конечно здорово очень… Но пока бесполезно, т.к. у меня трансляция будет меняцо постоянно… как ТВ каналы, так и ID трансляции… К тому же я пока ещё тестирую…

Скидывай мне id в вк или почту поменяю.