• Уважаемые пользователи! Сообщаем Вам, что у нашего форума появился официальный чат в Телеграм - https://t.me/forumtv_telegram в котором будут публиковаться все важные новости и изменения проекта
  • И так дорогие друзья, всем привет! Долгожданное свершилось! Не секрет, что многие плотно сидят на яблочных устройствах. И как мы знаем сторонние приложения - это до сегодняшнего дня было вообще под запретом. Но с начала 2004 года всё изменилось. И так, мы создали тему, как один из разработчиков, в данный момент, создаёт известные всем приложения для Apple tv И соответственно для поддержки и развития текущих и будущих приложений можно к нему обратиться. Найти тему можно ниже в разделе софта Всем удачи

HTTP прокси для Ace Stream

  • Автор темы Автор темы Dogerty
  • Дата начала Дата начала
Добрый вечер. Не подскажете можно как то проверить ID трансляции acestream на доступность. Скажем
9ef190f19a4d6599ae..... получить если рабочая true , нет false ну или что то в этом роде ... Может сервис есть какой или api?
 
почему не сбрасываются клиенты, поочередно запустил и закрыл каналы, картина вот такая- у всех так?????
через минуту все в норме- вопрос закрыт.
 
почему не сбрасываются клиенты, поочередно запустил и закрыл каналы, картина вот такая- у всех так?????
через минуту все в норме- вопрос закрыт.
У меня такое наблюдается при использовании MX Player'a, прокся с ним хреново работает, не видит что он отпал и убивает только по таймауту. Если использовать VLC коннекты сразу пропадают.
 
прокся с ним хреново работает, не видит что он отпал
Или , может, MX-player не "маякует" проксе что он "отрубился" (закрыл сокет), а пытается в рамках того же соединения "получить" другую трансляцию ;) ... Кто прав кто виноват, лично я пока не определился :)
 
Ща pepsik будет меня на ... (в библиотеку) отправлять)) есть возможность фильтровать список каналов в плагинах? Fry!tv бомба, только много для меня мусора не русскоязычного.
Доброго времени суток. Скажите пожалуйста, вы разобрались как фильтровать fry!tv список? Или может кто подсказать как это сделать? Что-то не совсем понятно. Спасибо
 
Скажите пожалуйста, вы разобрались как фильтровать fry!tv список?
Или может кто подсказать как это сделать?
Что-то не совсем понятно.
1) А что я где-то обещал "разобраться" ? "Между нами девочками" - мне там разбираться вообще не надо, надо взять и дописать возможность фильтрации/выборки по задданым спискам
2) Нет не подскажу, книжки и курсы по питону доступны онлайн у дяди Гугла бесплатно
3) Что конкретно не понятно ?
 
1) А что я где-то обещал "разобраться" ? "Между нами девочками" - мне там разбираться вообще не надо, надо взять и дописать возможность фильтрации/выборки по задданым спискам
2) Нет не подскажу, книжки и курсы по питону доступны онлайн у дяди Гугла бесплатно
3) Что конкретно не понятно ?
Мда уж ... сделали плагин для fry!tv запихнули в свой объект и описание только как стащить плейлист с него. Оригинально!!! Я уважаемый не буду учить питона, мне smali/java кода хватает. Но вам как разработчику можно было бы в шапке всем по пальцам разъяснить как это делается. В вашем readme ничего не написано как фильтровать плейлист. Если же нет желание помогать людям в вашем продукте, значит вы такой человек.
 
Но вам как разработчику можно было бы в шапке всем по пальцам разъяснить как это делается.
В вашем readme ничего не написано как фильтровать плейлист
Начнем с конца для знатоков алгоритмики и smali (чудесный байт-код java из порядка 200-от команд)
2) Внимательно перечитайте вторую часть предложения первого пункта предыдущего моего поста Вам - https://forumtv.org/threads/http-proksi-dlja-ace-stream.111/post-18871 Прочли ? Что мне написать в readme ? Что такого функционала нет и его надо ДОПИСАТЬ ?
1) ОСОЗНАВ предыдущий пункт данного поста , а затем пункт 2 предыдущего моего поста Вам - https://forumtv.org/threads/http-proksi-dlja-ace-stream.111/post-18871 Прочли ? Мне книжку по питону в виде инструкции выложить ?

p.s. Плейлист frytv - это элементарный json, никто его не скрывает и он общедоступен. Если у вас есть ЧАСТНАЯ задача, остро необходимая Вам в ЕДИНИЧНОМ экземпляре, то Вам как специалисту в smali/java, НИФИГА НЕ СОСТАВИТ трудностей парсить с заданной периодичностью json под свои хочухи и сохранять его локально. После чего данный json-файлик, отфильтрованный как вам хочется, подсовывать проксе .... Сложно правда ? Проще тут "фигню" запостить с индивидуальной "хочухой" и чтоб "кто-то" Вам ее реализовал по "щучьему велению и Вашему хотению", в то время как Вам - ДУМАТЬ НЕ ПРИСТАЛО !
 
Нет решения проблемы на Самсунг словакской сборки новая модель все время звук выходит вперёд изображения и в итоге вообще пропадает.
Аналогичная беда с самсой, но мне кажется проблема в Ott, на компе в VLC так не происходит, на андродной тв-приставке тоже без проблем со звуком. Но бывает другая проблема,на некоторых каналах появляется повторное воспроизведение 5-10 секунд (как бы перемотано назад)
 
Мужики, здорова. Настроил всё на VPS, теперь в логах вижу левые попытки подключения к веб интерфейсу. Гуглил, что за IP - порты сканирует. Оставить как есть или нет: я не знаю. Я с Linux пока на Вы, поэтому подскажите, куда капать, чтобы, допустим, ограничить заход на сервер только под моим IP ? Спасибо
h5zgAon.png
 
Мужики, здорова. Настроил всё на VPS, теперь в логах вижу левые попытки подключения к веб интерфейсу. Гуглил, что за IP - порты сканирует. Оставить как есть или нет: я не знаю. Я с Linux пока на Вы, поэтому подскажите, куда капать, чтобы, допустим, ограничить заход на сервер только под моим IP ? Спасибо
h5zgAon.png
aceconfig.py
Код:
    # Enable firewall                                                                                                                                        
    firewall = False                                                                                                                                         
    # Firewall mode. True for blackilst, False for whitelis                                                                                                  
    firewallblacklistmode = False                                                                                                                            
    # Network ranges. Please don't forget about comma in the end                                                                                             
    # of every range, especially if there is only one.                                                                                                       
    firewallnetranges = (                                                                                                                                    
        '127.0.0.1',                                                                                                                                         
        '192.168.0.0/16', )
 
Помогите разобраться. Торренты объемом 30+ гб не хочет воспроизводить. Пытается воспроизвести 30-60 сек. с картинкой, потом AceStream падает. Это из-за объема хранилища, или что еще может быть? Файлы до 20 гб DL 100 mbit/s грузит. Так что не думаю, что дело в скорости моей сети.
0FnLNLH.png
Gfavgb6.png

ЗЫ 5гб на VOD кеш, и 600мб на live кеш.
''' AceProxy configuration scrip Edit this file. '''

import acedefconfig, logging
from aceclient.acemessages import AceConst

class AceConfig(acedefconfig.AceDefConfig):
# ----------------------------------------------------
# Ace Stream Engine configuration
# ----------------------------------------------------
#
# Spawn Ace Stream Engine automatically
acespawn = True
# Ace Stream cmd line (use --log-file filepath to write log)
# You need to set it only on Linux based systems. Autodetect for Windows!
acecmd = '/opt/acestream/start-engine --bind-all --client-console --cache-limit 10 --live-buffer 30 --vod-buffer 30 --log-debug 3 --log-file /var/log/acestream.log --max-connections 1000 --max-upload-slots 1000 --max-peers-limit 1000 --core-sandbox-max-peers 50 --download-limit 0 --upload-limit 0 --live-cache-type disk --live-cache-size 629145600 --vod-cache-type disk --vod-cache-size 5368709120 --vod-drop-max-age 120 --cache-dir /mnt/cache'
# Ace Stream API key
# You probably shouldn't touch this
acekey = 'n51LvQoTlJzNGaFxseRK-uvnvX-sD4Vm5Axwmc4UcoD-jruxmKsuJaH0eVgE'
# By default Ace Stream Engine listens only Localhost IP, so if you want to use a running
# somewhere (remotely) AceEngine - start it with --bind-all parameter, set acespawn=False
# and enter your settings below
ace = { 'aceHostIP': '0.0.0.0', 'aceAPIport': '62062', 'aceHTTPport': '6878' }
# Ace Stream age parameter (LT_13, 13_17, 18_24, 25_34, 35_44, 45_54,
# 55_64, GT_65)
aceage = AceConst.AGE_35_44
# Ace Stream sex parameter (MALE or FEMALE)
acesex = AceConst.SEX_MALE
# Ace Stream Engine startup timeout
# On Windows Ace Engine refreshes acestream.port file only after loading GUI
# Loading takes about ~10-15 seconds and we need to wait before taking port out of it
# Set this to 0 if you don't use proxy at startup or don't need to wait
acestartuptimeout = 15
# Ace Stream Engine connection timeout
aceconntimeout = 5
# Ace Stream Engine authentication result & API port answers timeout
aceresulttimeout = 10.0
# ----------------------------------------------------
# Ace Stream Engine stream type hls or http
# ----------------------------------------------------
# For HLS transcode options is avalible:
# Transcode All audio to AAC (transcode_audio=1)
# Transcode MP3 (use only when transcode_audio=1)
# Transcode only AC3 to AAC (use only when transcode_audio=0)
acestreamtype = {'output_format': 'http'}
#acestreamtype = {'output_format': 'hls', 'transcode_audio': 0, 'transcode_mp3': 0, 'transcode_ac3': 0, 'preferred_audio_language': 'rus'}
# ----------------------------------------------------
# Seek back feature.
# Seeks stream back for specified amount of seconds.
# Greatly helps fighing AceSteam lags, but introduce video stream delay.
# Set it to 30 or so. Works only with the newest versions of AceEngine!
# !!!!! Don't use with streamtype = 'hls' !!!!!
videoseekback = 0
# Waiting time response in seconds from AceEngine server for playable url or data.
videotimeout = 60
# ----------------------------------------------------
# HTTP AceProxy configuration
# ----------------------------------------------------
#
# HTTP Server host.
# 'auto' - autodetect
# '0.0.0.0' - listen on all addresses
# Or change to whatever IP you want to listen on this IP only
httphost = 'auto'
# HTTP Server port (8081 is recommended when using the plugin p2pproxy with TTV widget on SmartTV)
httpport = 8000
# If started as root, drop privileges to this user.
# Leave empty to disable.
aceproxyuser = ''
# Enable firewall
firewall = False
# Firewall mode. True for blackilst, False for whitelis
firewallblacklistmode = False
# Network ranges. Please don't forget about comma in the end
# of every range, especially if there is only one.
firewallnetranges = (
'127.0.0.1',
'192.168.0.0/16',
'89.178.208.73',
)
# Maximum concurrent connections (video clients)
maxconns = 50
# Use 'Transfer-encoding: chunked' in HTTP AceProxy responses
use_chunked = True
#
# ----------------------------------------------------
# Transcoding configuration for HTTP AceProxy
# (Lnux based OS Only!!! This solution didn't work on Windows OS)
# !!!!!! Ffmpeg or VLC instaled is required !!!!!!
# ----------------------------------------------------
#
# Transcoding Dictionary with a set of transcoding commands. Transcoding command is an executable commandline expression
# that reads an input stream from STDIN and writes a transcoded stream to STDOUT. The commands are selected
# according to the value of the 'fmt' request parameter. For example, the following url:
# http://loclahost:8000/channels/?type=m3u&fmt=mp2
# contains the fmt=mp2. It means that the 'mp2' command will be used for transcoding. You may add any number
# of commands to this dictionary. Commands must have unique names in dictionary !
#
transcodecmd = {}
#-----------------------------------------------------
# Using ffmpeg
#-----------------------------------------------------
#transcodecmd['100k'] = 'ffmpeg -i - -c:a copy -b 100k -f mpegts -'.split()
#transcodecmd['mp2'] = 'ffmpeg -i - -c:a mp2 -c:v mpeg2video -f mpegts -qscale:v 2 -'.split()
#transcodecmd['mkv'] = 'ffmpeg -i - -map 0 -c:v copy -c:a copy -f matroska -'.split()
transcodecmd['default'] = 'ffmpeg -i - -map 0 -c:a copy -c:v copy -f mpegts -'.split()
#-----------------------------------------------------
# Using VLC (if cvlc is not installed use 'vlc -I dummy' instead)
#-----------------------------------------------------
#transcodecmd['mp4'] = 'cvlc --rc-fake-tty - --sout-all --sout=#transcode{vcodec=h264,vb=1024,acodec=mp4a,ab=192,channels=2,deinterlace}:std{access=file,mux=ts{use-key-frames},dst=-}'.split()
#transcodecmd['default'] = 'cvlc - --sout-all --sout=#std{access=file,mux=ts{use-key-frames},dst=-}'.split()
#
# ----------------------------------------------------
# Other settings
# ----------------------------------------------------
#
# Logging configuration
#
# Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
loglevel = logging.DEBUG
# Log message format
logfmt = '%(filename)-15.15s [LINE:%(lineno)-4s]# %(levelname)-8s [%(asctime)s] %(message)s'
#logfmt = '%(filename)s - %(name)s - %(threadName)s - [LINE:%(lineno)s]# - %(levelname)s - [%(asctime)s] - %(message)s' # for debug
#logfmt = '%(asctime)s{%(name)s}%(filename)s[line:%(lineno)d]<%(funcName)s> pid:%(process)d %(threadName)s %(levelname)s : %(message)s'
# Log date format
logdatefmt = '%d.%m %H:%M:%S'
# Full path to a log file
# For Windows OS something like that logfile = "c:\\Python27\\log_AceHttp.txt"
logfile = None
#
# This method is used to detect fake requests. Some players send such
# requests in order to detect the MIME type and/or check the stream availability.
# Some video players (mostly STBs and Smart TVs) can generate dummy requests
# to detect MIME-type or something before playing which Ace Stream handles badly.
# We send them 200 OK and do nothing.
# We add their User-Agents/query/path logic here
#
@staticmethod
def isFakeRequest(path, params, headers):
'''
Filter for client request path/query/headers
'''
useragent = headers.get('User-Agent')

if not useragent:
return False
# Samsung ES series
elif useragent == 'Lavf/55.33.100' and headers.get('Range') != 'bytes=0-':
return True
# Samsung H series
elif useragent == 'Lavf52.104.0' and headers.get('Range') != 'bytes=0-':
return True
# LG Netacast 2013 year series
elif useragent == 'GStreamer souphttpsrc (compatible; LG NetCast.TV-2013) libsoup/2.34.2' and headers.get('icy-metadata') != '1':
return True
# Samsung K series
elif useragent == 'Mozilla/5.0 (SMART-TV; Linux; Tizen 2.4.0) AppleWebKit/538.1 (KHTML, like Gecko) Version/2.4.0 TV Safari/538.1' and 'Range' in headers and not 'accept-encoding' in headers:
return True
elif useragent == 'samsung-agent/1.1' and 'Range' in headers and not 'accept-encoding' in headers:
return True
# Dune 301
elif useragent == 'DuneHD/1.0' and headers.get('Range') != 'bytes=0-':
return True
# MX Player 1.10.xx for Android
elif 'MXPlayer/1.10.' in useragent and 'Accept-Encoding' in headers:
return True
 
Последнее редактирование:
Назад
Сверху