Доброго времени суток. Очень хотелось бы услышать от специалистов несколько советов по поводу IPTV.
Значит так, есть у нас несколько DVB SS3 PCI карт. Несколько тарелок \ головок направленных на разные спутники. Компьютер с 4-х ядерным процессором и Ubuntu Linux 9.10 на борту. Цель: вещать несколько каналов со спутника в сеть. (Если кому надо список всех бесплатных каналов со спутников нашей местности (Украина) - говорите, выложу). Вещаем в VLC. Например, спутник ABS, каналы: 100 - нтв, 200 - дтв, 400 - стс, 600 - рбк, 530 - моя планета, 520 - первый игровой. Можно вещать без сжатия:
Все вещается очень хорошо, нагрузки на проц практически нету, вот только один канал занимает около 8 мегабит\сек и при воспроизведении наблюдается эффект ужасного интерлейса (черезстрочности).
Вот картинка:
Что делать?, - Правильно, кодировать. VLC позволяет кодировать видео в: MP4V, MP2V, WMV1, DIV3 (это те кодеки, которые я рассматривал). Собственно в качестве разницы я не заметил =).
Т. е. кодек WMV1, битрейт 4096 + фильтр деинтерлейса, а разрешение можно указывать, можно не указывать - оно и само вещает в своем законном 768 * 576. Нагрузка на проц. для моего четырехядерника вполне вменяемая.
Но вот только мы подключаем по очереди каналы и после четвертого начинаются пропуски кадров \ потери и так далее.
[0x8f2b260] stream_out_transcode stream out debug: late picture skipped (71178)
[0x8f2b260] stream_out_transcode stream out debug: late picture skipped (171490)
[0x8f2b260] stream_out_transcode stream out debug: late picture skipped (134428)
[0x8f2b260] stream_out_transcode stream out debug: late picture skipped (101190)
[0x8f2b260] stream_out_transcode stream out debug: late picture skipped (58033)
[0x8f2b260] stream_out_transcode stream out debug: late picture skipped (21130)
[0x8f2b260] stream_out_transcode stream out debug: late picture skipped (127490)
[0x8f2b260] stream_out_transcode stream out debug: late picture skipped (11837)
Что я пробовал: - менять кодеки (а на H264 вообще ничего кроме звука не работало) - менять параметры битрейта - менять разрешение - танцевать с бубном и биться головой об стенку.
Попробуйте вот здесь поспрошать - http://forum.nag.ru/forum/index.php?showforum=4 там сидят прикладники довольно высокго уровня в данной теме. Сам баловался с вещанием IPTV давно. делал на Gentoo (что не суть важно), карт SS3 и vlc. От себя могу посоветовать попробовать повещать мультикастом по UDP - я вещал именно так. Разумеется, в этом случае встает вопрос промежуточного коммутационного оборудования (свичей, ДСЛАМов) в части поддержки PIM (в технологиях CISCO) и IGMP snooping на свичах.
SOLDIER пишет: Попробуйте вот здесь поспрошать - http://forum.nag.ru/forum/index.php?showforum=4 там сидят прикладники довольно высокго уровня в данной теме. Сам баловался с вещанием IPTV давно. делал на Gentoo (что не суть важно), карт SS3 и vlc. От себя могу посоветовать попробовать повещать мультикастом по UDP - я вещал именно так. Разумеется, в этом случае встает вопрос промежуточного коммутационного оборудования (свичей, ДСЛАМов) в части поддержки PIM (в технологиях CISCO) и IGMP snooping на свичах.
Помнится, я когда гнал IPTV (мультикастом, как я написал выше, а не юникастом) - один канал у меня занимал около 3-4 мБит полосы. Нашел парочку HDTV-каналов (абсолютно бестолковых, должен заметить) - попробовал их транслировать. Тут уже полоса в 8 Мбит. А так как у нас часть пользователей на АДСЛ (не 2 или 2+), то вопрос о трансляции HDTV как-то отпал сам собой. Ещё экспериментировал с кард-шарингом. Гнался поток, конечно, но процессор был прогружен по самые помидоры.
SOLDIER пишет: Помнится, я когда гнал IPTV (мультикастом, как я написал выше, а не юникастом) - один канал у меня занимал около 3-4 мБит полосы. Нашел парочку HDTV-каналов (абсолютно бестолковых, должен заметить) - попробовал их транслировать. Тут уже полоса в 8 Мбит. А так как у нас часть пользователей на АДСЛ (не 2 или 2+), то вопрос о трансляции HDTV как-то отпал сам собой. Ещё экспериментировал с кард-шарингом. Гнался поток, конечно, но процессор был прогружен по самые помидоры.
А можно подробнее о кард-шаринге? как организовали?
Ой давно это было. Мы с товарищем, который вплотную им занимался сделали. Он там какой-то "билетик" покупал (2 бакса, что ли, за канал?) на сайте с названием "Электричка". Я собирал и поднимал sasc-ng (помнится, не без бубна и напильника), потом вносил туда какие-то данные, связанные с однойчастью ключа и получал от сервера вторую часть ключа. Как-то так. Подробностей уже не помню сейчас. Но декодировались несколько каналов. Не без глюков и периодических зависаний, но тем не менее - показывало. Там беда в другом. Если обычно при залочивании карты на одного траспондера - с него можно брать несколько каналов (разнесенных по тайм-слотам на одной частоте), то в случае кард-шаринга можно использовать только один канал на залоченную карту. У меня стояло 4 карты - смысла гнать 4 канала вместо 40 "свободных" не было.