Устанавливаем tv_grab_dvb
apt-get install php5-cli mysql-client php5-mysql php5-pgsql
cd /usr/src
svn co http://www.darkskiez.co.uk/svn/tv_grab_dvb/trunk tv_grab_dvb
cd tv_grab_dvb/
make
cp tv_grab_dvb /usr/local/bin/
Устанавливаем скрипт, который объединяет EPG со всех транспондеров в один файл
wget -O/usr/local/bin/iptv_xmltv_from_dvb.php http://www.sokolov.me/iptv/linuxstreamer/iptv_xmltv_from_dvb.php
chmod 755 /usr/local/bin/iptv_xmltv_from_dvb.php
Шедулим в кроне
*/40 * * * * /usr/local/bin/iptv_xmltv_from_dvb.php -a0,1,2,3,4 -o /var/www/tvprogram.xml
mls qos map cos-dscp 0 8 16 24 32 46 48 56
mls qos srr-queue input bandwidth 80 20
mls qos srr-queue input threshold 1 8 16
mls qos srr-queue input threshold 2 34 66
mls qos srr-queue input buffers 67 33
mls qos srr-queue input cos-map queue 1 threshold 2 1
mls qos srr-queue input cos-map queue 1 threshold 3 0
mls qos srr-queue input cos-map queue 2 threshold 1 2
mls qos srr-queue input cos-map queue 2 threshold 2 4 6 7
mls qos srr-queue input cos-map queue 2 threshold 3 3 5
mls qos srr-queue input dscp-map queue 1 threshold 2 9 10 11 12 13 14 15
mls qos srr-queue input dscp-map queue 1 threshold 3 0 1 2 3 4 5 6 7
mls qos srr-queue input dscp-map queue 1 threshold 3 8 32
mls qos srr-queue input dscp-map queue 2 threshold 1 16 17 18 19 20 21 22 23
mls qos srr-queue input dscp-map queue 2 threshold 2 33 34 35 36 37 38 39 48
mls qos srr-queue input dscp-map queue 2 threshold 2 49 50 51 52 53 54 55 56
mls qos srr-queue input dscp-map queue 2 threshold 2 57 58 59 60 61 62 63
mls qos srr-queue input dscp-map queue 2 threshold 3 24 25 26 27 28 29 30 31
mls qos srr-queue input dscp-map queue 2 threshold 3 40 41 42 43 44 45 46 47
mls qos srr-queue output cos-map queue 1 threshold 3 5
mls qos srr-queue output cos-map queue 2 threshold 3 3 6 7
mls qos srr-queue output cos-map queue 3 threshold 3 2 4
mls qos srr-queue output cos-map queue 4 threshold 2 1
mls qos srr-queue output cos-map queue 4 threshold 3 0
mls qos srr-queue output dscp-map queue 1 threshold 3 40 41 42 43 44 45 46 47
mls qos srr-queue output dscp-map queue 2 threshold 3 24 25 26 27 28 29 30 31
mls qos srr-queue output dscp-map queue 2 threshold 3 48 49 50 51 52 53 54 55
mls qos srr-queue output dscp-map queue 2 threshold 3 56 57 58 59 60 61 62 63
mls qos srr-queue output dscp-map queue 3 threshold 3 16 17 18 19 20 21 22 23
mls qos srr-queue output dscp-map queue 3 threshold 3 32 33 34 35 36 37 38 39
mls qos srr-queue output dscp-map queue 4 threshold 1 8
mls qos srr-queue output dscp-map queue 4 threshold 2 9 10 11 12 13 14 15
mls qos srr-queue output dscp-map queue 4 threshold 3 0 1 2 3 4 5 6 7
mls qos queue-set output 1 buffers 10 10 60 20
mls qos queue-set output 2 buffers 10 10 60 20
Копирайт данной статьи — kfx
delete access_profile profile_id 2
# критерием выборки трафика считаем dscp метку
create access_profile ip dscp profile_id 2
# трафику с 25 и 26 порта с dscp 32 и 56 назначаем приоритет 4 и 7
config access_profile profile_id 2 add access_id 1 ip dscp 32 port 25-26 permit priority 4
config access_profile profile_id 2 add access_id 3 ip dscp 56 port 25-26 permit priority 7
delete access_profile profile_id 5
# критерием выборки трафика считаем адрес получателя
create access_profile ip destination_ip_mask 255.255.255.255 profile_id 5
# поднимаем приоритет трафика адресованного серврам телефонии
config access_profile profile_id 5 add access_id 1 ip destination_ip XXX.XXX.XXX.XXX port 1-26 permit priority 7
config access_profile profile_id 5 add access_id 27 ip destination_ip ip XXX.XXX.XXX.XXX port 1-26 permit priority 7
# фильтруем трафик на основание протокола и порта получателя
delete access_profile profile_id 6
create access_profile packet_content_mask offset_16-31 0x0 0x0 0x000000ff 0x0 offset_32-47 0x0 0x0 0xffff0000 0x0 profile_id 6
# фильтруем 139 , 445 ,135 порты tcp на всех портах
config access_profile profile_id 6 add access_id 1 packet_content_mask offset_16-31 0x0 0x0 0x00000006 0x0 offset_32-47 0x0 0x0 0x01bd0000 0x0 port 1-26 deny
config access_profile profile_id 6 add access_id 27 packet_content_mask offset_16-31 0x0 0x0 0x00000006 0x0 offset_32-47 0x0 0x0 0x00870000 0x0 port 1-26 deny
config access_profile profile_id 6 add access_id 53 packet_content_mask offset_16-31 0x0 0x0 0x00000006 0x0 offset_32-47 0x0 0x0 0x008b0000 0x0 port 1-26 deny
# фильтруем 137 138 1900 UDP на всех портах
config access_profile profile_id 6 add access_id 79 packet_content_mask offset_16-31 0x0 0x0 0x00000011 0x0 offset_32-47 0x0 0x0 0x00890000 0x0 port 1-26 deny
config access_profile profile_id 6 add access_id 105 packet_content_mask offset_16-31 0x0 0x0 0x00000011 0x0 offset_32-47 0x0 0x0 0x008a0000 0x0 port 1-26 deny
config access_profile profile_id 6 add access_id 131 packet_content_mask offset_16-31 0x0 0x0 0x00000011 0x0 offset_32-47 0x0 0x0 0x076c0000 0x0 port 1-26 deny
# фильтруем 1234 UDP на портах 1-24
config access_profile profile_id 6 add access_id 157 packet_content_mask offset_16-31 0x0 0x0 0x00000011 0x0 offset_32-47 0x0 0x0 0x04d20000 0x0 port 1-24 deny
#занижаем приоритет трафика с 10/8 -> 10/8
# при этом хождение трафика автоматом разрешается
# по этому эти правила после всех фильтров
delete access_profile profile_id 7
create access_profile ip source_ip_mask 255.0.0.0 destination_ip_mask 255.0.0.0 profile_id 7
config access_profile profile_id 7 add access_id 1 ip destination_ip 10.0.0.0 source_ip 10.0.0.0 port 1-26 permit priority 1
# включаем igmp_snooping и фильтруем левый мультикаст трафик
# юзеры в влане "default"
enable igmp_snooping
config igmp_snooping querier default state disable
config igmp_snooping default state enable
config multicast port_filtering_mode all filter_unregistered_groups
# фильтры на мультикаст группы
# диапазоны вещания и обновления прошивки
create multicast_range 1 from 224.0.0.2 to 224.0.0.2
create multicast_range 2 from 225.100.0.0 to 225.100.255.255
create multicast_range 4 from 239.60.8.1 to 239.60.8.1
config limited_multicast_addr ports 1-26 add multicast_range 1
config limited_multicast_addr ports 1-26 add multicast_range 2
config limited_multicast_addr ports 1-26 add multicast_range 4
config limited_multicast_addr ports 1-26 access permit state enable
На Сервере:
iperf -u -c 225.100.180.200 -p 1234 -T 10 -b 4M -t 10000000 -i 10 -l 1316
На Клиенте:
iperf -u -s -B 225.100.180.200 -i 10 -p 1234
Вроде неплохой стример. нужно будет попробовать.
http://sourceforge.net/projects/dvbstreamer/
Обсуждение на наге
#Устанавливаем необходимые бибилиотеки
apt-get install libsqlite3-dev libreadline5-dev
Вывод: не поддерживает DVB-S2
Обсуждается тут и тут
Установка:
apt-get install libdvbpsi5-dev
cd /usr/src
svn co svn://svn.videolan.org/dvblast/trunk dvblast
cd dvblast
make
cp dvblast /usr/local/bin/
cp dvblastctl /usr/local/bin/
cp dvblast_mmi.sh /usr/local/bin/
запуск:
dvblast -a 0 -c dvblast.conf -i 1 -m psk_8 -f ЧАСТОТА -s 27500000 -v ВОЛЬТАЖ -U
Как в линуксе посмотреть детальную информацию о видеопотоке в нем? (Кодек, поток, bitrate, размер…)
ffmpeg -i, ffprobe -show_streams, MediaInfo, Cypheros TS-Doctor, TS-Packet-Viewer
Тема дров обсуждается здесь: http://www.forum.free-x.de/wbb/index.php?page=Thread&threadID=296
Реальный рецепт:
#Установка самих дров
cd /usr/src/
hg clone http://mercurial.intuxication.org/hg/s2-liplianin
cd s2-liplianin
make
make install
#Установка scan-2
cd ..
hg clone http://mercurial.intuxication.org/hg/scan-s2
make
make install
# Установка SZAP2
cd ..
hg clone http://mercurial.intuxication.org/hg/szap-s2
make
make install
reboot
Рекомендации:
Для карт на c42416:
http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-4000
источник: http://www.forum.free-x.de/wbb/index.php?page=Thread&postID=2511
Рекомендуют карты, основанные на демодуляторе cx24166 , так как пока в линуксе они работают лучше, чем карты построенные на stb0899.
Список карт на cx24166:
- Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid
- Hauppauge WinTV-HVR4000(Lite) DVB-S/S2 она же WinTV-NOVA-HD-S2
- TeVii S460 DVB-S/S2
- Omicom SS4 DVB-S/S2 PCI
- TBS 8920 DVB-S/S2
- TeVii S420 DVB-S
- PROF 7300 DVB-S/S2
- DvbWorld PCI2004C
Список карт на stb0899:
- Azurewave AD-SP400 CI
- Twinhan VP-1041
- TechniSat SkyStar HD2
- KNC1 DVB-S2 TV Station
- Satelco DVB-S2 TV Station
- Satelco DVB-S2 Easywatch
- TechniSat SkyStar HD
- TechnoTrend TT-budget S2-3200
- TerraTec Cinergy S2 PCI HD CI