- [iptv] vlc артефактит
- VLC не показывает IPTV
- Настройка VLC Player для просмотра IPTV: пошаговая инструкция
- Загрузка VLC Player
- Настройка VLC для просмотра IPTV
- Как смотреть IPTV на VLC Плеере?
- Где брать плейлисты для IPTV?
- Ip tv через второго провайдера
- Кроссплатформенный плеер для просмотра интернет-телевидения с поддержкой EPG
- Стабильное вещание IPTV через VLC
- Утечка памяти
- Пропадание видео или звука
[iptv] vlc артефактит
Как подружить vlc с iptv? Вместо видео показывает артефакты.
А в mplayer все в порядке.
Выглядит так.
Gentoo x86, Intel Corporation 82945G/GZ Integrated Graphics Controller, media-video/vlc-2.0.0, media-video/mplayer2-2.0_p20111126, x11-drivers/xf86-video-intel-2.17.0-r3.
У меня тоже Gentoo, vlc версии 1.1.*, iptv показывается нормально.
После обновления vlc делали revdep-rebuild ?
Запустите vlc в терминале и посмотрите что попадает в терминал при воспроизведении iptv потока.
C vlc 1.x было тоже самое. Сегодня обновился до 2.0. Не помогло.
revdep-rebuild запускаю после каждого -DNu world
Я vlc собирал с такими USE флагами, возможно у вас проблема из-за того, что вы не включили какой-то флаг или наоборот включили:
Проверьте, соберите у себя vlc с USE флагами как у меня и проверьте воспроизведение iptv, в любом случае покажите ваши USE флаги.
Кодек там используется mpeg2. В юзах есть ffmpeg и mpeg, не знаю что еще может влиять на него. win32codecs может включить? Попробую.
Соберите с теми флагами как у меня, если заработает, значит дело в флагах vlc, если нет — значит дело в чём-то другом.
Неужели это так сложно ?
Не помогло. Ладно, буду пользовать mplayer для iptv.
Источник
VLC не показывает IPTV
Kubuntu 10.04
Инет через Stream (ADSL), модем Zyxel в режиме router.
Загружаю playlist (например, с сайта http://tv.2kom.ru). Как бы пошло воспроизведение, пишется канал, но ни картинки ни звука нет.
В чем может быть дело ?
Это как это «например»? Загружать надо с сайта своего Интернет-провайдера.
>> Это как это «например»?
Это да, я ступил ) Но дело в том, что вообще ни с какого сайта не открывает (просто url’ы даже), либо ничего не выводит (как писал выше), либо ругается — не могу открыть.
Причем, не обязательно же playlist’ы брать именно с провайдера.?
эм. именно с провайдера же!
IPTV вещается только в локальной сети провайдера, т.к. Интернет в общем случае не поддерживает Multicast-передачи (по крайней мере IPv4, в IPv6 что-то писали про мультикаст, но не знаю, будет ли его поддержка обязательной, или на усмотрение хозяина конкретной подсети). Также часто провайдеры обмазывают DeRьMoм даже незакопиращенные каналы, что не даёт возможности воспроизвести на компьютере свободным плеером (либо только на их приставке, либо у некоторых как вариант можно использовать специальный мега-нано-плеер, который только под венду).
Скорее всего, milticast-траффик режется либо фаерволом роутера, либо фаерволом на компе. Либо он вообще не поддерживается прошивкой роутера, что бывает нередко. Для начала надо проверить эти три варианта, ибо симптомы в этом случае именно такие, как вы описываете.
Источник
Настройка VLC Player для просмотра IPTV: пошаговая инструкция
IPTV — это онлайн-телевидение, которое можно смотреть на сайтах или в специальных плеерах. Сегодня для этого мы будем использовать VLC Media Player.
VLC — самая распространённая и простая программа для просмотра IPTV. Она доступна на Android, Windows и других популярных платформах.
В этой статье я расскажу, где загрузить плеер, как настроить его для комфортного просмотра и где брать m3u плейлисты.
Загрузка VLC Player
Скорее всего, приложение уже установлено у вас на устройстве — просто поищите его.
Если нет, то повторите следующие действия:
- Зайдите на официальный сайт — https://www.videolan.org/vlc/index.ru.html
- Выберите нужную операционную систему и загрузите файл.
- Запустите установочный файл и соглашайтесь со всеми условиями. Вирусов и дополнительных программ нет, проверено.
Настройка VLC для просмотра IPTV
VLC автоматически поддерживает файлы с расширением m3u, но часто IPTV каналы подвисают на несколько секунд при просмотре.
Чтобы избежать лагов, нужно правильно настроить видеокодек и кэширование:
- Откройте плеер.
- Перейдите в раздел настроек, зажав клавиши Ctrl + P для Windows или Command + P для Mac.
- В левом нижнем углу выберите вариант «Показывать настройки — все».
- Откройте раздел Ввод/кодеки.
- Спуститесь к панели Настройки сети и измените значение MTU сетевого интерфейса на 1500.
- Промотайте ещё немного вниз к разделу Дополнительно и увеличьте Кеш сетевых данных до 3000 мс, как это показано на скриншоте.
- Разверните настройки видеокодека, нажав на стрелку слева от надписи.
- Отключите аппаратное кодирование.
- Сохраните изменения в настройках.
Как смотреть IPTV на VLC Плеере?
После настройки, о которой я писал в прошлом разделе статьи, запустить плейлист на VLC не составит труда.
Вариант 1. Используя URL адрес, на котором расположен файл.
- В левом верхнем углу нажмите и откройте раздел Медиа.
- В выпадающем окошке выберите Открыть URL.
- Остаётся только ввести адрес сайта и всё будет готово.
Вариант 2. Открыть плейлист, который был предварительно загружен на устройство.
- Так же зайдите в Медиа, но нажмите на раздел Открыть файл.
- Загрузите нужный файл и наслаждайтесь просмотром.
Где брать плейлисты для IPTV?
Есть два источника плейлистов: платные сервисы по подписке или бесплатные сайты, как наш.
В чём минус бесплатного варианта? — Плейлисты необходимо обновлять раз в несколько недель или раз в месяц, так как ссылки устаревают и некоторые каналы перестают работать.
Потратить 2$ или вручную менять плейлисты — решать вам.
Источник
Ip tv через второго провайдера
#Здравствуйте всем. вот проблемка как сделать так что бы можно было бы организовать такую схему.
есть два провайдера, они воткнуты в комп на прямую по витой паре. допустим п1 и п2. через п1 доступ в интернет и ресурсы провайдера. второй провайдер раньше тоже предоставлял интернет (когда было уплачено) и свои ресурсы независимо от оплаты, в том числе и iptv. вот и захотелось мне пользоваться дешовым интернетом через п1 а так жэ смотреть телевизор через п2. прочитал на форумах этого сайта почти всё что касается Multicast. и в результате что-то неработает.
у меня дебиан бастер со всеми обновлениями, уже даже обновился с тестовой ветки, в надежде что поможет. выяснил что телевизионные пакеты идут по адресам udp://@239.239.0.0:1234. но результат как можно понять, прежний. так вот по советампробовал следующее.
dhclient п1 интернет работает, а телек соответственно нет. dhclient п2 телек работает а интернет соответственно нет. потом пишу ip route replace default dev п1 интернет соответственно заработал ну и телек конечно же нет. ну думаю дело в маршрутах. поэтому пишу ip route add 224.0.0.0/4 dev п2 но не тутто было. маршрут действует а мултикаст не проходит. попробовал такой способ
dhclient п2 dhclient п1 ip route add default dev п2 tavle 100 ip rule add to 224.0.0.0/4 table 100 и никак. решил покрутить свой фаервол nftables. хотя он у меня настроен на приём мультикаста от провайдера п2, но включение ивыключение его, ничего не дали. попробовал добавить такое правило nft add rule ip filter INPUT iifname «п1» udp dport 1234 pkttype multicast counter accept comment «IpTv»
и видно что когда шлюзом стоит второй провайдер, то мультикаст через это правило прёт. а когда ставиш шлюзом первого провайдера, то от второго провайдера вообще мультикаста нету. такое ощющение что перед самим фаерволом ядро режит весь широковещательный трафик. тоесть фаервол как бы не при делах. как буд-то в ядре стоит какая-то настройка чтобы принимать мультикаст только от самого первого шлюза.
просьба ко всем умнейшим более чем я подсказать. где и что ещё можно покрутить? всем удачи.
Кроссплатформенный плеер для просмотра интернет-телевидения с поддержкой EPG
Источник
Стабильное вещание IPTV через VLC
С IPTV пришлось познакомиться поближе, когда в компании интернет-провайдера где я работал, решили организовать вещание IPTV. Выяснилось, что вещание осуществляется в linux и программой vlc, которая по слухам единственная в своем роде. Была установлена тарелка и DVB-карта SkyStar2, которая предположительно должна была без проблем заработать в linux’e. Так и было со всеми новыми машинами, где была установлена ubuntu server. На Debian заработало только после обновления ядра. Настройка прошла относительно легко, благо на то время уже было несколько статей на эту тему и документация к vlc была тоже очень полезна. После запуска начались некоторые проблемы с пропаданием звука и видео на каналах и другие проблемы, описанные ниже. После их появления были написаны скрипты, устраняющие эти проблемы. Сейчас на них работает 3 сервера с 5 dvb-картами в общей сложности и вещается 23 канала с 3х спутников. Под катом — перечисление проблем, которые могут появиться после запуска вещания IPTV через VLC в Linux и то как с ними бороться. Бороться будем с помощью bash.
Первоначальная настройка и запуск вещания IPTV хорошо описана в статье «Прием спутниковых тв каналов в linux».
Основные проблемы при вещании IPTV: утечка памяти и пропадание видео или звука в одном из каналов.
Утечка памяти
Проблема утечки памяти решается либо 1) перезагрузкой демона vlc раз в день или больше по необходимости через crontab либо 2) периодической проверкой свободной памяти и перезагрузкой демона при уменьшении сводной памяти до определенного значения.
1)
crontab:
# Перезагружаем vlc в 3 часа ночи
0 3 * * * /home/desecho/vlc/vlc_regular_reload.sh
#!/bin/bash
echo «`date`;VLC regular reload» >> /home/desecho/vlc/logs/vlc_restart.log
/home/desecho/vlc/vlc_starter.sh
2)
crontab:
#Проверяем каждые 5 минут
*/5 * * * * /home/desecho/vlc/memory_check.sh
#!/bin/bash
#Получаем переменную свободной памяти
free_mem=$(free -m | grep ^M | awk -F ‘ ‘ ‘‘ )
#Указываем предельное значение свободной памяти
mem_limit= 16
#Если свободной памяти меньше или же она совпадает со значением предела то происходит перезагрузка демона
if [ $free_mem -le $mem_limit ]
then
echo «`date`;Memory Overload» >> /home/desecho/vlc/logs/vlc_restart.log
/home/desecho/vlc/vlc_starter.sh
fi
Пропадание видео или звука
Для решения проблемы необходимо периодически проверять наличие видео и звука в каналах.
Реализация скриптов на примере вещания двух каналов. Вещание идет в два потока — оригинального и сжатого. Иногда помогает перезагрузка проблемного канала, но иногда необходима полная перезагрузка демона.
Для работоспособности скрипта необходимо запустить следующие команды:
cp /usr/bin/vlc /usr/bin/vlc2
touch /home/desecho/vlc/run.sh
chmod +x /home/desecho/vlc/run.sh
Скрипт запуска и перезагрузки каналов:
vlc_starter.sh:
#!/bin/bash
echo «`date`;Reloaded» >> /home/desecho/vlc/logs/vlc_restart.log
#Выключаем все запущенные vlc процессы
killall — 9 vlc
#Запуск вещания
vlc —no-stats -vvv —color —daemon —ttl 12 —ts-es-id-pid —dvb-adapter 0 —programs= 13 , 14 dvb: —dvb-frequency= 10995000 —dvb-srate= 20000000 —dvb-voltage= 13 —sout ‘#duplicate
#Ждем несколько секунд для инициализации вещания
sleep 5
#Вещаем сжатый поток в 820Kbit/s видео и 70Kbit/s аудио
vlc http: //127.0.0.1:8001 -vvv —daemon —color —sout ‘#transcode
vlc http: //127.0.0.1:8002 -vvv —daemon —color —sout ‘#transcode
Скрипт проверки каналов:
vlc_restarter.sh:
#Запись канала
#$1 — id порта сжатого канала
function rec <
#Запись видео
b= «vlc2 http://127.0.0.1:80$1 -vvv —color —daemon —noaudio —sout ‘#duplicate
#Создание временного исполняемого файла — такой способ необходим из-за наличия в строке запуска vlc различных ковычек
echo $b > /home/desecho/vlc/run.sh
/home/desecho/vlc/run.sh
#Запись аудио
b= «vlc2 http://127.0.0.1:80$1 -vvv —color —daemon —novideo —sout ‘#duplicate
echo $b > /home/desecho/vlc/run.sh
/home/desecho/vlc/run.sh
sleep 5
killall — 9 vlc2
>
#Полная перезагрузка vlc
#$1 — имя канала
function reload <
echo «`date`;$1 — Reload» >> /home/desecho/vlc/logs/vlc_restart.log
/home/desecho/vlc/vlc_starter.sh
>
#Проверка канала
#$1 — id порта сжатого канала
#$2 — имя канала
function check <
#Смотрим размер видео
y= «$(du /home/desecho/vlc/0$1.avi | grep -oE —regexp=’4+’ | sed -n ‘1p’)»
#Проверяем пустой ли файл
if [ $y -gt 10 ] ; then
x011=1
else
x011=0
fi
#Смотрим размер аудио
y= «$(du /home/desecho/vlc/0$1.mp3 | grep -oE —regexp=’3+’ | sed -n ‘1p’)»
if [ $y -gt 10 ] ; then
x012=1
else
x012=0
fi
echo » $2 — $x011 $x012″ >> /home/desecho/vlc/logs/vlc_restart.log
let x01=x011+x012
#Если отсутствует звук или видео, то переменная z=0
if [ $x01 != 2 ]
then
z=0
else
z=1
fi
>
#Полная проверка
#$1 — id порта сжатого канала
#$2 — имя канала
function check_full <
#Запись канала
rec $1
#Проверка на отсутствие видео или звука
check $1 $2
#Если видео и звук в норме то помечаем переменную z канала
if [ $z = 1 ] ; then
z[ $1 ]= 1
fi
>
#Перезагрузка канала
#$1 — id порта сжатого канала
#$2 — имя канала
#$3 — id порта исходного канала
function restart <
echo «`date`;$2 — Restart» >> /home/desecho/vlc/logs/vlc_restart.log
#Выключение неработающего канала
a= «$(ps -C vlc -o ‘%p%a’ | grep » http: //127.0.0.1:80$3 -vvv —daemon —color —sout» | grep -oE —regexp=’1+’ | sed -n ‘1p’)»
kill $a
#Перезапуск вещания канала
b= «vlc http://127.0.0.1:80$3 -vvv —daemon —color —sout ‘#transcode
echo $b > /home/desecho/vlc/run.sh
/home/desecho/vlc/run.sh
>
#Перезагрузка канала
#$1 — id порта сжатого канала
#$2 — имя канала
#$3 — id порта исходного канала
function fix <
#Если нет видео или звука на канале то перезагружается канал
if [ $
restart $1 $2 $3
sleep 5
#повторная проверка
check_full $1 $2
fi
#Если по прежнему нет звука то перезагружаем VLC полностью
if [ $
reload $2
exit
fi
>
#Присваиваем значение 0 по умолчанию переменным z каналов
z[ 11 ]=0
z[ 12 ]=0
#Проверка канала на отсутствие видео/звука
check_full 11 perviy
#Перезагрузка канала при проблемах с видео/звуком
fix 11 perviy 01
check_full 12 rossiya
fix 12 rossiya 02
echo «`date`;DVB — Status: Stable» >> /home/desecho/vlc/logs/vlc_restart.log
Осталось добавить запись в crontab:
*/5 * * * * /home/desecho/vlc/vlc_restarter.sh
В итоге получаем систему, которая автоматически восстановит вещание каналов при пропадании видео или аудио. Все действия скриптов восстановления вещания будут писаться в лог файл.
Удачного вещания!
Источник