Чат

🕑 ↗
За да пишеш, трябва да си влязъл в профила си.

TVH в HLS

Започната от Танннер, 20-06-2020, 10:35

« назад - напред »

0 Потребители и 1 гост преглеждат тази тема.

Танннер

Привет съфорумници.


Някой можели да обясни как се прави HLS oт TVH?


Пробвах Astra и Flussonic, тръгнаха с проблеми, чисто FFMPEG не успях да подкарам.



Та проблемът с Астрата е, че от време на време каналът накъсва леко, ако пусна 3 канала от  спътник от един транспондер едновременно.

А с Flussonic проблема е че аудиото ужасно накъсва.


Въпроса ми е за HLS иска ли се GPU ?
Или може само със CPU и RAM?


Топологията ми е следната:
Мрежата ми е хибридна от 100 мегабитови девайси и гигабитови.
Имам гигабитов кор рутер Mikrotik HAP AC2.
За него вързан гигабитов управляем суич.
За кора имам вързан и  100 мегабитов HAP Lite.

По периферията у дома имам  още един HAP LITE, един OpenWRT, и прости суичове меркусис и TPLINK 100 мегабитови.

В мрежата съм разделил трафиците по VLAN-и.
VLAN за MNG
VLAN за TV
VLAN за INTERNET и т.н


Сега приемниците ми са линукски, да кажем 100 мегабитови с Core elec и TVH.

Пусках софтуерите за HLS на IBM X3650 M3 с 16 ядрен процесор и 24 GB RAM, който рънва VMWARE ESXI 6.7 платформа за виртуализация!
Лан картите му са 100 мегабитови!
За машината за HLS заделях 4 GB RAM и 8 ядра.

Пусках софтуерите под Ubuntu 16.04.

Пусках ги  и под LAPTOP с i3 процесор и 8 GB RAM под VMWARE WORKSTATION 12 с 4 ядра и 4 GB RAM на виртуалната машина с Ubuntu 16.04 сървърна версия!

Та проблемите ми по горе според вас защо се получават?

Тестовете са ми с WEBOS SSIPTV и SMART IPTV .


"Та проблемът с Астрата е, че от време на време каналът накъсва леко, ако пусна 3 канала  спътник от един транспондер едновременно.

А с Flussonic проблема е че аудиото ужасно накъсва."


Та за HLS трябва ли ми и GPU, че в моите сценарии липсва графичен процесор напълно?


Какви са минималните изисквания  за да се прави HLS?
Хардуерни и мрежови?


Целите са ми скромни!


Искам просто да изкарам от TVH няколко честоти в HLS за да може да се зяпа директно от смарт телевизор без приемници : )


Пуснах си и Wowza но неможах да се оправя с него.


Та за Астрата някой има ли лек, или като ненормален на 40 дена нова поща и нов лиценз за 40 дена отново и отново?


За флусоника има излекувана 4.5.18.
Wowza-та също е излекувана уж.


Стриймовете ги взимам от TVH плей листа и ги прекарвам през астра и флусоник .

Като TVH ми е на друг хост, а софтуерите за HLS на друг хост, даже са в различни vlan мрежи, но си има интервилан рутинг, и 100 мегабита капацитет, хайде и 50 мегабита д ападне капацитета, смятам че не трябва да има ядове?

Май всичко на един хост  е най добре?
За да се оптимизира трафика и да се спести от ненужен трафик?
Защото се генерират два трафика, един трафик от  няколко MPEG TS  стриймове и един трафик от няколко HLS и на мрежово ниво ми стеснява 100 мегабита капацитет във цялата мрежа...?

b_ignatov

Танннер!
Ти си уникат бе човече......яд ме е, че не мога да ти помогна обаче :)

Sent from my OnePlus 2 using Tapatalk

Танннер

#2
Цитат на: b_ignatov;531869Танннер!
Ти си уникат бе човече......яд ме е, че не мога да ти помогна обаче :)

Sent from my OnePlus 2 using Tapatalk

Ааа има и други замесени 1111111111 и Златев недей така!
Те бая са помагали да си екпериментирам.


Аз май сам си отговорих но не съм сигурен за това питам.:s101
;;650

oldgraf

https://siptv.app/about/.  На тв, плейлиста от твхеад и епг от него пак

Танннер

Цитат на: oldgraf;531879https://siptv.app/about/.  На тв, плейлиста от твхеад и епг от него пак


Пробвах комбинация SSIPTV с HLS, не знам от де ама сам си намери иконки и ЕПГ.

Танннер

Цитат на: oldgraf;531879https://siptv.app/about/.  На тв, плейлиста от твхеад и епг от него пак

Ako вкараш директен стрийм на TVH става да, нооооооооооооо 10 секунди до като превключи между каналите, което е дразнещо.

С HLS става за секунда.

111111

Цитат на: Танннер;531901Ako вкараш директен стрийм на TVH става да, нооооооооооооо 10 секунди до като превключи между каналите, което е дразнещо.

С HLS става за секунда.

Настрой си флусоника коректно
транскодинг трябва за да се вписва в мпег4 стандарта Н264+ААС
но работи и без тях

FFMpeg също става
https://github.com/Saentist/HLS-TV-channel-delay
трябва да ти генерира файловете в папка която е в web сървъра
отваряш и гледаш
Подпис от долоподписания
Благодари натискайки "Thanks" бутона,
ако сметнеш поста за полезен.

111111

И понеже ви мързи да четете


#!/bin/bash
cd /var/www/html/streams/TV1/

ffmpeg -i "http://admin:admin@tvheadend:9981/stream/channelid/1523684244" \
    -map v:0 -c:v:0 copy \
    -map a:0 -c:a copy \
    -f hls -hls_time 4 -hls_flags delete_segments \
    -master_pl_name master.m3u8 \
    -var_stream_map "v:0,a:0" index.m3u8

#ffmpeg -i "http://admin:admin@tvheadend:9981/stream/channelid/1523684244" \
#    -c:v copy \
#    -c:a copy \
#    -f hls -hls_time 4 -hls_flags delete_segments \
#    -master_pl_name master.m3u8 \
#    -var_stream_map "v:0,a:0" stream_%v.m3u8

#ffmpeg -i "http://admin:admin@tvheadend:9981/stream/channelid/1523684244" \
#    -c:v libx264 -crf 21 -preset veryfast \
#    -c:a aac -b:a 128k -ac 2 \
#    -f hls -hls_time 4 -hls_flags delete_segments \
#    /var/www/html/streams/sat1/index.m3u8


Цитат на: Танннер;531880Пробвах комбинация SSIPTV с HLS, не знам от де ама сам си намери иконки и ЕПГ.
таз екстра я има след комуникация с авторите ;)
Подпис от долоподписания
Благодари натискайки "Thanks" бутона,
ако сметнеш поста за полезен.

Танннер

#8
Цитат на: 111111;531944И понеже ви мързи да четете


#!/bin/bash
cd /var/www/html/streams/TV1/

ffmpeg -i "http://admin:admin@tvheadend:9981/stream/channelid/1523684244" \
    -map v:0 -c:v:0 copy \
    -map a:0 -c:a copy \
    -f hls -hls_time 4 -hls_flags delete_segments \
    -master_pl_name master.m3u8 \
    -var_stream_map "v:0,a:0" index.m3u8

#ffmpeg -i "http://admin:admin@tvheadend:9981/stream/channelid/1523684244" \
#    -c:v copy \
#    -c:a copy \
#    -f hls -hls_time 4 -hls_flags delete_segments \
#    -master_pl_name master.m3u8 \
#    -var_stream_map "v:0,a:0" stream_%v.m3u8

#ffmpeg -i "http://admin:admin@tvheadend:9981/stream/channelid/1523684244" \
#    -c:v libx264 -crf 21 -preset veryfast \
#    -c:a aac -b:a 128k -ac 2 \
#    -f hls -hls_time 4 -hls_flags delete_segments \
#    /var/www/html/streams/sat1/index.m3u8



таз екстра я има след комуникация с авторите ;)

root@ubuntu:~# ./btv.sh
ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Unrecognized option 'master_pl_name'.
Error splitting the argument list: Option not found




Toва нещо на Raspberry Pi3 бачка :)

Но на чисто убунту 16.04 сървър с FFMPEG-a, който идва с флусониката неще.

Танннер

#9
Най накрая пожела и тръгна да го ...


HLS написан на ръка и автоматизиран със сървис :)

apt-get remove ffmpeg
apt-get purge ffmpeg
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
apt-get update
apt-get install ffmpeg
apt-get install apache2
service apache2 status
service apache2 stop
cd /www/var/html/
mkdir streams
cd streams
mkdir BTV
nano btv.sh

#!/bin/bash
cd /var/www/html/streams/BTV/

ffmpeg -i "http://test:test@10.10.10.3:9981/stream/channelid/1616764137" \
-map v:0 -c:v:0 copy \
-map a:0 -c:a copy \
-f hls -hls_time 4 -hls_flags delete_segments \
-master_pl_name master.m3u8 \
-var_stream_map "v:0,a:0" index.m3u8

chmod a+x btv.sh

cd /etc/systemd/system/
nano btv.service

[Unit]
Description=Timeshift btv
After=tvheadend.service

[Service]
#Type = forking
ExecStart=/var/www/html/streams/btv.sh 103 &

[Install]
WantedBy=default.target

systemctl enable btv

nano /etc/apache2/apache2.conf


Options Indexes FollowSymLinks
AllowOverride all
Require all granted

service apache2 start
service apache2 status
service btv status
service btv start
service btv status


;;650;;650;;650;;650;;650;;650;;650


Държа да подчертая че с чист ffmpeg се държи по стейбъл HLS стрийма от колкото триал Astra-а или кракната Flussonc-a!

Нямам логично обяснение.

Танннер

Добвавям и скрипт за проверка на сървиса ако сървиса е даун, старт на сървиса!

#!/bin/bash

service=$@
/bin/systemctl -q is-active "btv"
status=$?
if [ "$status" == 0 ]; then
echo "OK"
else
/bin/systemctl start "btv"
fi



Автоматизирам проверката да се прави от 01:00 до 23:00 на всеки час с Crontab-a:

sudo nano /etc/crontab
# check hls services in every 1 hour between 01:00 and 23:00
0 1-23 * * * root /var/www/html/streams/btvchk.sh
0 1-23 * * * root /var/www/html/streams/bnt1chk.sh
0 1-23 * * * root /var/www/html/streams/novachk.sh

Топър

Цитат на: 111111;531913Настрой си флусоника коректно
транскодинг трябва за да се вписва в мпег4 стандарта Н264+ААС
но работи и без тях

FFMpeg също става
https://github.com/Saentist/HLS-TV-channel-delay
трябва да ти генерира файловете в папка която е в web сървъра
отваряш и гледаш

Я, тук съзиирам и мои творения :D

111111

Цитат на: Топър;538210Я, тук съзиирам и мои творения :D

Не думай, ама в началото беше на друга идеология на сегментирането ;)

Трябва да го прибутаме да може от +12 да може да се взима +6 :s101
Подпис от долоподписания
Благодари натискайки "Thanks" бутона,
ако сметнеш поста за полезен.

TUISTERa

Цитат на: 111111;538248Не думай, ама в началото беше на друга идеология на сегментирането ;)

Трябва да го прибутаме да може от +12 да може да се взима +6 :s101

Има ли шанс да се плейне директно без ффмпег? Примерно с индекс-а , и добавка нещо отзад в урл-то ?

111111

Цитат на: TUISTERa;538269Има ли шанс да се плейне директно без ффмпег? Примерно с индекс-а , и добавка нещо отзад в урл-то ?

В твоя случай с астрата се плейва директно но инак сегментирането няма как да стане.

Другия вариант е да се направи с php/perl/Python и да се иска време по API

https://github.com/xbmc/inputstream.ffmpegdirect
https://github.com/nionis99/hlsCamOfDay
https://github.com/psaavedra/fluunt
https://github.com/fabiohecht/LiveShift

Помощ в репото всякаква приемам ;)
Подпис от долоподписания
Благодари натискайки "Thanks" бутона,
ако сметнеш поста за полезен.

SatShop.bg
Ъплоуд център DishPointer Сателитни изстрелвания