итак, есть провайдер freedom.
у меня к кабелю от это провайдера подключен самодельный сервачек, раздающий интернет внутри сети. к сервачку подключен медиаплеер, который и должен показывать iptv.
в сервачке три карты - eth0, через которую я получаю интернет. eth, к которому подключен медиапроигрыватель и объединенный с ним в мост br0 wlan0.
auto lo
iface lo inet loopback
#подгружает правила для "расшаривания" интернета с eth0 в локальную сеть.
post-up iptables-restore </etc/iptables.conf
# The primary network interface
auto eth0
# для подключения к роутеру
#iface eth0 inet dhcp
#для подключения к freedom
iface eth0 inet static
address 10.5.23.253
netmask 255.255.255.192
gateway 10.5.23.193
up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.5.23.193
up route add -host 195.98.64.65 gw 10.5.23.193
up route add -host 195.98.64.66 gw 10.5.23.193
up route add -net 192.168.149.0/24 gw 10.5.23.193
#для iptv
up route add -net 77.247.232.0/24 gw 10.5.23.193 dev eth0
up route add -net 77.247.233.0/24 gw 10.5.23.193 dev eth0
up route add -net 77.247.237.0/24 gw 10.5.23.193 dev eth0
up route add -net 77.247.238.0/24 gw 10.5.23.193 dev eth0
up route add -net 224.0.0.0/4 dev eth0
#все, что ниже - для создания локальной сети.
auto wlan0 br0
# Беспроводной интерфейс
iface wlan0 inet manual
# Мост.
iface br0 inet static
address 192.168.10.1
network 192.168.10.0
netmask 255.255.255.0
broadcast 192.168.10.255
bridge_ports eth1
дальше начинается мистика:
когда я на медиапроигрывателе начинаю смотреть iptv, то все остальное умирает!
нет доступа в внешним ресурсам, нет доступа внутренним ресурсам провайдера, нет доступа внутри домашней сетке - к серверу не приконектится ни по ssh, ни получить доступ к шарам.
как только я перестаю смотреть iptv - все начинает работать.
ровно тоже самое происходило при подключению через хардовый роутер.
1. что такое multicast?
2. что такое multicast routing?
3. как может работать iptv вообще? (принцип)
4. что такое 'iptv freedom'?
5. http://www.linux.org.ru/forum/admin/6966685 -
"Udpxy при запросе по http на внутренний интерфейс подписывается на внешнем интерфейсе на нужную мультикаст группу через IGMP и получаемый поток проксирует ответом http клиенту. Все просто и никаких заморочек с бриджами и мультикаст роутингом."
[Ответ]
Hip-Hop 03:53 27.11.2011
dm.tsvetkov, во-вторых, я ещё раз советую. тебе не нужен бридж. Зачем тебе усложнять - объединять два интерфейса в один?
Надо стремиться к разделению - гибкость, а не к совокуплению. [Ответ]
dm.tsvetkov 08:16 27.11.2011
"Зачем тебе усложнять - объединять два интерфейса в один? "
ну, илья, на пример для того, чтобы упростить следующий шаг - настройку dhcp?
Сообщение от :
media@media-server:/sys/devices/virtual/net/br0/bridge$ ls
ageing_time bridge_id flush forward_delay gc_timer group_addr hello_time hello_timer max_age priority root_id root_path_cost root_port stp_state tcn_timer topology_change topology_change_detected topology_change_timer
media@media-server:/sys/devices/virtual/net/br0/bridge$ sudo su
root@media-server:/sys/devices/virtual/net/br0/bridge# echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping
bash: /sys/devices/virtual/net/br0/bridge/multicast_snooping: Нет такого файла или каталога
root@media-server:/sys/devices/virtual/net/br0/bridge# touch multicast_snooping
touch: невозможно выполнить touch для «multicast_snooping»: Нет такого файла или каталога
"IGMP snooping support is not yet included in bridge-utils or iproute2, but it can be easily controlled through sysfs interface. For brN, the settings can be found under /sys/devices/virtual/net/brN/bridge."
Видимо в рамках sysfs она не работает для создания пустого файла? [Ответ]
Hip-Hop 12:17 04.12.2011
dm.tsvetkov, а вот в ядре debian testing этот snooping уже есть.
У меня debian-ap работает на 2.6, но можно попробовать перегрузиться и посмотреть. Действительно ли этот параметр ответственен. О причинах включения и выключения я судить не берусь, надо читать документацию по ядру. Мнемн, нахер с этим заворачиваться? Делай два интерфейса + ip_forwarding + проксирование multicast'a over http.
[Ответ]
Hip-Hop 12:39 04.12.2011
dm.tsvetkov, Да, я проверил, этот параметр и скорей всего ряд других... ответственны за доступный функционал моста. Это и логично, функционал реализуется самим ядром, а bridge-utils и т.д это инструменты управления этим ф. 2.6.32 это у них long time ядро.. если я не ошибаюсь. Можно почитать более подробно о причинах исключения этого ф из ядра, хм.
[Ответ]
Hip-Hop 13:40 04.12.2011
dm.tsvetkov, Вот и всё. Эта функция в ядре появляется то ли с 2.6.34, возможно есть патчи, но в debian'овском ядре поддержки нет.
dm.tsvetkov, кстати, дебиановское ядро достаточно сильно отличается от ванильного? Во-первых, есть рад специфических патчей. Во-вторых, из него выброшены все блобы - бинарные вставки в код ядра, вот про ubuntu не знаю, там они, imho, есть Я вот не знаю.. ванильное ядро содержит блобы? Да, это была желание Торвальдса. http://www.linux.org.ru/news/kernel/4607354/page1
"Авторы проекта Linux-libre не стали поддерживать собственную отдельную ветку ядра Linux, а вместо этого создали универсальный скрипт для удаления несвободных блоков в ядре. Скрипт содержит в себе тысячи шаблонов для определения наличия бинарных вставок и исключения ложных срабатываний. Раньше скрипт был написан на sed, но требовал для своей работы около 2 Гб ОЗУ. В текущей версии скрипт дополнительно переписан на языках Awk, Python и Perl, что позволило внушительно сократить потребление памяти, но увеличило время выполнения полного анализа: sed-вариант выполняется 3 минуты, awk - 5 минут, а Python и Perl - 90 минут."
dm.tsvetkov, я зашёл на форум freedom, там конечно ****ец, я бы в руки им насрал. Они не могут нормально оформить сабжовую инфу - например я долго искал плей-лист. Нашёл его в какой-то теме на форуме. И вообще, всё как всегда на уровне плинтуса. Здесь нужно инфы нет? http://freedom.vrn.ru/support/
dm.tsvetkov, на vlc сразу советую забить. пробуй с mplayer, mplayer -playlist playlist.m3u + куча разных других настроек. (я использую консольный mplayer) Можно ещё поиграться с xine. C HD-каналами загрузка wl500 уже приличная и может доходить до 80%. mplayer умеет работать с кучей драйверов видеовывода + vdpau + распараллеливание на несколько ядер при декодировании сложных кодеков. [Ответ]
Hip-Hop 14:33 05.12.2011
dm.tsvetkov, mplayer обязательно собирай из svn. Короче, могу примерно рассказать исходя из своих вчерашних опытов. Каналов много, но смотреть практически нечего. Основная масса каналов в mpeg2. 5-6 штук в h264. Самые тяжелые типа 234.5.38.101:20000 (astra 3d) грузят wl500 на 80-90%, другие меньше. Я декодирую через фреймбуфер на машине с dual core (?) (t2400@1800mhz). Некторые hd каналы рассыпаются почему-то, но другие более тяжёлые работают нормально, но на приделе возможностей. (судя по нагрузки на t2400) Надо ещё поиграться с настройками mplayer - не получается добиться стабильно чёткой картинки, иногда возникают артефакты... быстро проходят, но портят всю картину. Все mpeg2 работают нормально, но они тоже с разным битрейтом.
[Ответ]
dm.tsvetkov 19:34 05.12.2011
прочел все, что ты написал.
спасибо. отвечу завтра.
[Ответ]
Hip-Hop 21:33 05.12.2011
dm.tsvetkov, Вот плей-лист http://freedom.vrn.ru/support/TV_utf8.m3u Обрабатываешь его скриптом и кормишь mplayer'у. Предварительно подняв udphy на wl500 или в другом месте. Прошивки на wl500 - http://code.google.com/p/wl500g/ Я использую последний из svn. (mplayer SVN-r34393-4.6) Я тестирую это iptv на элт мониторе. Такой конфиг получается:
Всё работает шикарно, но иногда появляются артефакты (квадратики) в сценах и быстро исчезают , но неприятно. Это не связано с динамичностью сцен, но я пока не понял почему эти ошибки появляются. А так... всё шикарно. Некоторых каналов в плей-листе нету. (не показывает) Есть пара каналов которые упорно рассыпаются.
dm.tsvetkov, есть и другой способ который я хочу попробовать. У меня есть компьютер с e7200@2500mhz@3000mhz. Мы берем поток с h264 на этом e7200 и транскодируем его в mpeg2 и передаем на медиаплеер. В этом случаи медиаплеер может быть совсем слабой машиной, а e7200 должно хватить для кодирования на лету. Связка ffmpeg & ffserver + mplayer, должно работать.
Вариан №3 это vdpau. Советуют gf gt220. Производ gt210 может быть мало в каких-то моментах, а gt240 уже излишне - лишнее тепло - потреб.
[Ответ]
Hip-Hop 11:43 08.12.2011
Во-вторых, надо написать скрипт для записывания видео "по расписанию". Для этого нужно распарсить программу телепередач и решить вопрос с возможной рекламой на эфирных каналах. Как подключить пульт к mplayer рассказывать не буду. И дело в шляпе. [Ответ]