Dumpstream for Stalker MW (Script for Astra)

4,709 views
Skip to first unread message

Andrey Dyldin

unread,
Jan 15, 2015, 9:29:28 AM1/15/15
to stalker-m...@googlegroups.com
Script and short manual is available here for free : http://info.cesbo.com/hc/articles/202195871
The main advantage of this script is a low consumption of the system resources.

---

Скрипт и краткая документация доступны тут бесплатно : http://info.cesbo.com/hc/articles/202195871
Основное преимущество данной версии скрипта - низкое потребление системных ресурсов.

Evaldas S

unread,
Jan 15, 2015, 9:53:41 AM1/15/15
to stalker-m...@googlegroups.com
is it possible with astra make recording from http sours not only from udp ? 
Message has been deleted

Andrey Dyldin

unread,
Jan 15, 2015, 9:56:44 AM1/15/15
to stalker-m...@googlegroups.com
Yes, any format supported by Astra. UDP,RTP,HTTP and RTSP for extended version. HLS will be in a short time

Evaldas S

unread,
Jan 15, 2015, 10:10:28 AM1/15/15
to stalker-m...@googlegroups.com
HLS will be in free or extended version only ? 
do we need to change lua script for support http input because i can see here "instance.input = udp_input(input_conf)" ?

Andrey Dyldin

unread,
Jan 15, 2015, 10:42:08 AM1/15/15
to stalker-m...@googlegroups.com
Yes, HLS will be in extended version only.
I made changes for script. Added -A option to set source address in URL format.
For example to receive UDP: -A udp://239.255.1.1:1234 ( this is same that -a 239.255.1.1 -p 1234 ), to receive HTTP: -A http://server:port/path

Evaldas S

unread,
Jan 15, 2015, 11:55:58 AM1/15/15
to stalker-m...@googlegroups.com
perfect, very useful.

Вячеслав Стерх

unread,
Jan 15, 2015, 3:50:57 PM1/15/15
to stalker-m...@googlegroups.com
Андрей, спасибо за альтернативный вариант записи архива :)

четверг, 15 января 2015 г., 17:29:28 UTC+3 пользователь Andrey Dyldin написал:

Anton Kov

unread,
Jan 17, 2015, 6:22:53 PM1/17/15
to stalker-m...@googlegroups.com
Андрей, нашел проблему. Если поставить запись еще не начавшейся программы  в планирование, то канал запишется, только в интерфейсе даже после окончания записи будет писать "запланировано" и записанную передачу нельзя будет просмотреть. Как я понял не проставляются поля started и ended. Для примера привожу 2 записи, первую можно просмотреть, т.к. она была записана и отановлена "онлайн", а вторая была "запланирована":


mysql
> select * from users_rec limit 10\G
*************************** 1. row ***************************
             id
: 15
          ch_id
: 30
        program
: Семейное сафари (Слонофобия) (12+)
     program_id
: 0
            uid
: 4
        file_id
: 12
        t_start
: 2015-01-17 14:59:56
         t_stop
: 2015-01-17 15:02:38
     end_record
: 0000-00-00 00:00:00
         atrack
:
         vtrack
:
         length
: 162
      last_play
: 0000-00-00 00:00:00
          ended
: 1
        started
: 1
program_real_id
:
         
local: 0
           file
:
    internal_id
:
*************************** 2. row ***************************
             id
: 22
          ch_id
: 30
        program
: В дебрях Африки (Намибия) (12+)
     program_id
: 29041
            uid
: 4
        file_id
: 19
        t_start
: 2015-01-17 18:15:00
         t_stop
: 2015-01-17 19:10:00
     end_record
: 0000-00-00 00:00:00
         atrack
:
         vtrack
:
         length
: 3300
      last_play
: 0000-00-00 00:00:00
          ended
: 0
        started
: 0
program_real_id
: 30_1421507700
         
local: 0
           file
:
    internal_id
:
2 rows in set (0.05 sec)


Konstantin

unread,
Jan 18, 2015, 5:59:24 AM1/18/15
to stalker-m...@googlegroups.com
Андрей, спасибо за альтернативный вариант записи архива :)

Но что надо сделать со сталкером, что-бы он не ругался на то что я ввожу не UDP a HTTP

Pasha_49

unread,
Jan 19, 2015, 9:10:21 AM1/19/15
to stalker-m...@googlegroups.com
Обновите скрипт на последнюю версию, там добавлен этот функционал.

воскресенье, 18 января 2015 г., 2:22:53 UTC+3 пользователь Dark написал:

Pasha_49

unread,
Jan 19, 2015, 9:12:40 AM1/19/15
to stalker-m...@googlegroups.com
Или прописывать ссылку в базу вручную в itv>mc_cmd
Или редактировать ограничение в /stalker_portal/server/administrator/add_itv.php:
if ((strpos($link['url'], 'rtp://') !== false || strpos($link['url'], 'udp://') !== false) && preg_match("/(\S+:\/\/\S+)/", $link['url'], $match)){
заменить на:
if ((strpos($link['url'], 'rtp://') !== false || strpos($link['url'], 'udp://') !== false || strpos($link['url'], 'http://') !== false) && preg_match("/(\S+:\/\/\S+)/", $link['url'], $match)){

и

if (eventObject.currentTarget.value.indexOf('rtp://') != -1 || eventObject.currentTarget.value.indexOf('udp://') != -1){
заменить на:
if (eventObject.currentTarget.value.indexOf('rtp://') != -1 || eventObject.currentTarget.value.indexOf('udp://') != -1 || eventObject.currentTarget.value.indexOf('http://') != -1){



воскресенье, 18 января 2015 г., 13:59:24 UTC+3 пользователь Konstantin написал:

Evaldas S

unread,
Jan 20, 2015, 2:53:38 AM1/20/15
to stalker-m...@googlegroups.com
not working with the last scripts, event udp streams, empty recording folder appear, pid file in tmp dir, but no stream records, how to find what is wrong ? 

Anton Kov

unread,
Jan 20, 2015, 3:15:28 AM1/20/15
to Stalker Middleware on behalf of Evaldas S
Evaldas S, see logs from storage  in web-interface, and watch  in console astra process.

To All: После обновления 3 файлов вообще не запускается процесс астры... видимо проблема где-то в php файлах, т.к. в логах хранилища никаких ошибок теперь нет.

20 января 2015 г., 10:53 пользователь Evaldas S, Stalker Middleware <stalker-middleware+APn2wQdzNk7J1...@googlegroups.com> написал:

--
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "Stalker Middleware".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/stalker-middleware/l75jQBKtZYQ/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес stalker-middlew...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес stalker-m...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/stalker-middleware/d90f57c9-d099-4343-859c-6341de3883a9%40googlegroups.com.

Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Evaldas S

unread,
Jan 20, 2015, 3:28:06 AM1/20/15
to stalker-m...@googlegroups.com
web interface don't show any errors in log, in console astra process don't start, maybe astra can't start with www-data user ? 


On Tuesday, January 20, 2015 at 10:15:28 AM UTC+2, Dark wrote:
Evaldas S, see logs from storage  in web-interface, and watch  in console astra process.

To All: После обновления 3 файлов вообще не запускается процесс астры... видимо проблема где-то в php файлах, т.к. в логах хранилища никаких ошибок теперь нет.

20 января 2015 г., 10:53 пользователь Evaldas S, Stalker Middleware <stalker-middleware+APn2wQdzNk7J1As2dhsty2_T-R3qsFTgjB1x3FlhOKkY6@googlegroups.com> написал:
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес stalker-middleware+unsub...@googlegroups.com.

Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес stalker-m...@googlegroups.com.

Pasha_49

unread,
Jan 20, 2015, 4:49:34 AM1/20/15
to stalker-m...@googlegroups.com
Попробуйте откатиться в php скриптах до commit ee35f78. т.е. используйте на оригинальных скриптах эти изменения: https://bitbucket.org/cesbo/dumpstream/commits/c239ae576327f84c2870428c7c8817489347e12f?at=master

вторник, 20 января 2015 г., 10:53:38 UTC+3 пользователь Evaldas S написал:

Evaldas S

unread,
Jan 20, 2015, 5:08:53 AM1/20/15
to stalker-m...@googlegroups.com
tak srabotala, no tolko udp.

Dark

unread,
Jan 20, 2015, 5:11:51 AM1/20/15
to stalker-m...@googlegroups.com
Замените в recorder.class.php:

        
        if (strpos($url, 'rtp://') !== false || strpos($url, 'udp://') !== false){


На:

       
if (strpos($url, 'rtp://') !== false ||
            strpos
($url, 'udp://') !== false ||
            strpos
($url, 'http://') !== false)
       
{


вторник, 20 января 2015 г., 13:08:53 UTC+3 пользователь Evaldas S написал:
Message has been deleted

Evaldas S

unread,
Jan 20, 2015, 5:25:06 AM1/20/15
to stalker-m...@googlegroups.com
error 
Fatal error: Uncaught exception 'RESTClientRemoteError' with message 'URL wrong format' in /var/www/html/stalker_portal/server/lib/restclient.class.php:132 Stack trace: #0 /var/www/html/stalker_portal/server/lib/restclient.class.php(32): RESTClient->execute() #1 /var/www/html/stalker_portal/server/lib/tvarchive.class.php(540): RESTClient->create(Array) #2 /var/www/html/stalker_portal/server/lib/tvarchive.class.php(488): TvArchive->createTask(9, 'bb3') #3 /var/www/html/stalker_portal/server/administrator/add_itv.php(464): TvArchive->createTasks(9, Array) #4 {main} thrown in /var/www/html/stalker_portal/server/lib/restclient.class.php on line 132

url

Pasha_49

unread,
Jan 20, 2015, 9:21:22 AM1/20/15
to stalker-m...@googlegroups.com
Для http:

tvarchiverecorder.class.php

        if (strpos($url, 'rtp://') !== false ||
            strpos($url, 'udp://') !== false ||
            strpos($url, 'http://') !== false)
        {
            $path = $this->getRecordsPath($task);

            if ($path && is_dir($path)){
                exec('astra '.PROJECT_PATH.'/dumpstream.lua'
                    .' -A'.$url
                    .' -d'.$path
                    .' -n'.intval($task['parts_number'])
                    .' > /dev/null 2>&1 & echo $!'
                    , $out);
Остальное в этом файле без изменений.


вторник, 20 января 2015 г., 13:25:06 UTC+3 пользователь Evaldas S написал:

Pasha_49

unread,
Jan 20, 2015, 9:23:58 AM1/20/15
to stalker-m...@googlegroups.com
Вернее так, (скопировал опечатку)



        if (strpos($url, 'rtp://') !== false ||
            strpos($url, 'udp://') !== false ||
            strpos($url, 'http://') !== false)
        {
            $path = $this->getRecordsPath($task);

            if ($path && is_dir($path)){
                exec('astra '.PROJECT_PATH.'/dumpstream.lua'
                    .' -A '.$url
                    .' -d '.$path
                    .' -n '.intval($task['parts_number'])
                    .' > /dev/null 2>&1 & echo $!'
                    , $out);
Не хватало пробелов после параметров.


вторник, 20 января 2015 г., 17:21:22 UTC+3 пользователь Pasha_49 написал:

Evaldas S

unread,
Jan 20, 2015, 9:41:53 AM1/20/15
to stalker-m...@googlegroups.com
nu vo pashit kak nada :) 
...

Dan

unread,
Jan 20, 2015, 11:21:19 AM1/20/15
to stalker-m...@googlegroups.com
Could anyone help me set this up? skype : daniel3719

Dark

unread,
Jan 21, 2015, 3:01:21 AM1/21/15
to stalker-m...@googlegroups.com
Please update files, Andrey renew lib* files 15 hours ago. Flies clone from:

git clone https://bitbucket.org/cesbo/dumpstream.git  

вторник, 20 января 2015 г., 19:21:19 UTC+3 пользователь Dan написал:

Dark

unread,
Jan 21, 2015, 7:06:54 AM1/21/15
to stalker-m...@googlegroups.com
На текущий момент имеются проблемы:

1. При записи текущего канала запись начинается, если еще раз нажать запись, всплывает меню, где можно указать продолжительность записи, после применения данного меню по кнопке ОК процесс астры завершается, в tmp пид-файд остается, в интерфейсе запись продолжается.
2. При планировании записи передачи из EPG процесс стартует как надо, по окончании записи не проставляется в бд rec_files.t_stop и users_rec.ended

среда, 21 января 2015 г., 11:01:21 UTC+3 пользователь Dark написал:
...

Вячеслав Стерх

unread,
Jan 22, 2015, 10:53:25 AM1/22/15
to stalker-m...@googlegroups.com
Алексей, спасибо за поддержку astra рекордера "из коробки" :)

https://github.com/azhurb/stalker_portal/commit/1b059002a017a488d7fa912fcc09044f8f1c09e8

Dan

unread,
Jan 22, 2015, 11:59:56 AM1/22/15
to stalker-m...@googlegroups.com
Time frame for when HLS will be supported?

Pikasoay

unread,
Jan 23, 2015, 3:18:35 PM1/23/15
to stalker-m...@googlegroups.com
Да, мне тоже интересно ... Может кто знает???

zoran...@gmail.com

unread,
Jan 24, 2015, 1:56:00 AM1/24/15
to stalker-m...@googlegroups.com
Recording channel on server work   problem with Timeshift 
time shift dont work

zoran...@gmail.com

unread,
Jan 24, 2015, 5:29:32 AM1/24/15
to stalker-m...@googlegroups.com
FIle storage/lib/tvarchiverecorder.class.php from ( https://github.com/azhurb/stalker_portal/commit/1b059002a017a488d7fa912fcc09044f8f1c09e8
<?php
class TvArchiveRecorder extends Storage
{
/**
* Start stream recording
*
* @param array $task
* @return bool
* @throws Exception
*/
public function start($task){
$url = $task['cmd'];
if (!preg_match('/:\/\//', $url, $arr)){
throw new Exception('URL wrong format');
}
$ip = $arr[1];
$port = $arr[2];
$task['ch_id'] = (int) $task['ch_id'];
$pid_file = $this->getRecPidFile($task['ch_id']);
if (file_exists($pid_file)){
if ($this->processExist($pid_file)){
return false;
}else{
unlink($pid_file);
}
}
if (strpos($url, 'rtp://') !== false || strpos($url, 'udp://') !== false){
$path = $this->getRecordsPath($task);
if ($path && is_dir($path)){
if (defined("ASTRA_RECORDER") && ASTRA_RECORDER){
exec('astra '.PROJECT_PATH.'/dumpstream.lua'
.' -A '.$url
.' -d '.$path
.' -n '.intval($task['parts_number'])
.' > /dev/null 2>&1 & echo $!'
, $out);
}else{
exec('nohup python '.PROJECT_PATH.'/dumpstream'
.' -a'.$ip
.' -p'.$port
.' -d'.$path
.' -n'.intval($task['parts_number'])
.' > /dev/null 2>&1 & echo $!'
, $out);
}
}else{
throw new Exception('Wrong archive path or permission denied for new folder');
}
}else{
throw new DomainException('Not supported protocol');
}
if (intval($out[0]) == 0){
$arr = explode(' ', $out[0]);
$pid = intval($arr[1]);
}else{
$pid = intval($out[0]);
}
if (empty($pid)){
throw new OutOfRangeException('Not possible to get pid');
}
if (!file_put_contents($pid_file, $pid)){
posix_kill($pid, 15);
throw new IOException('PID file is not created');
}
$archive = new TvArchiveTasks();
$archive->add($task);
return true;
}
/**
* Start all tasks
*
* @param array $tasks
* @return bool
*/
public function startAll($tasks){
if (!is_array($tasks)){
return false;
}
foreach($tasks as $task){
$this->start($task);
}
return true;
}
/**
* Stop stream recording
*
* @param int|string $ch_id
* @return bool
*/
public function stop($ch_id){
$pid_file = $this->getRecPidFile($ch_id);
if (!is_file($pid_file)){
return true;
}
$pid = intval(file_get_contents($pid_file));
unlink($pid_file);
$archive = new TvArchiveTasks();
$archive->del($ch_id);
return posix_kill($pid, 9);
}
/**
* Construct pid filename
*
* @param int $ch_id
* @return string
*/
private function getRecPidFile($ch_id){
return '/tmp/rec_archive_'.STORAGE_NAME.'_'.$ch_id.'.pid';
}
/**
* Return save dir for records
*
* @param array $task
* @return string|false
*/
private function getRecordsPath($task){
$dir = RECORDS_DIR.'/archive/'.$task['ch_id'].'/';
if (!is_dir($dir)){
umask(0);
if (!mkdir($dir, 0777, true)){
return false;
}
}
return $dir;
}
private function processExist($pid_file){
$pid = trim(file_get_contents($pid_file));
return posix_kill($pid, 0);
}
}
?>



have a bug timeshift dont work  manual recording channel work so i use file from ASTRA vor  storage/lib/tvarchiverecorder.class.php like this 

<?php

class TvArchiveRecorder extends Storage
{

    /**
     * Start stream recording
     *
     * @param array $task
     * @return bool
     * @throws Exception
     */
    public function start($task){

        $url = $task['cmd'];

        $task['ch_id'] = (int) $task['ch_id'];

        $pid_file = $this->getRecPidFile($task['ch_id']);

        if (file_exists($pid_file)){
            if ($this->processExist($pid_file)){
                return false;
            }else{
                unlink($pid_file);
            }
        }

        if (strpos($url, 'rtp://') !== false ||
            strpos($url, 'udp://') !== false ||
            strpos($url, 'http://') !== false)
        {
            $path = $this->getRecordsPath($task);

            if ($path && is_dir($path)){
                exec('astra '.PROJECT_PATH.'/dumpstream.lua'
                    .' -A '.$url
                    .' -d '.$path
                    .' -n '.intval($task['parts_number'])
                    .' > /dev/null 2>&1 & echo $!'
                    , $out);
            }else{
                throw new Exception('Wrong archive path or permission denied for new folder');
            }

        }else{
            throw new DomainException('Not supported protocol');
        }

        if (intval($out[0]) == 0){
            $arr = explode(' ', $out[0]);
            $pid = intval($arr[1]);
        }else{
            $pid = intval($out[0]);
        }

        if (empty($pid)){
            throw new OutOfRangeException('Not possible to get pid');
        }

        if (!file_put_contents($pid_file, $pid)){
            posix_kill($pid, 15);
            throw new IOException('PID file is not created');
        }

        $archive = new TvArchiveTasks();
        $archive->add($task);

        return true;
    }

    /**
     * Start all tasks
     *
     * @param array $tasks
     * @return bool
     */
    public function startAll($tasks){

        if (!is_array($tasks)){
            return false;
        }

        foreach($tasks as $task){
            $this->start($task);
        }

        return true;
    }

    /**
     * Stop stream recording
     *
     * @param int|string $ch_id
     * @return bool
     */
    public function stop($ch_id){

        $pid_file = $this->getRecPidFile($ch_id);

        if (!is_file($pid_file)){
            return true;
        }

        $pid = intval(file_get_contents($pid_file));

        unlink($pid_file);

        $archive = new TvArchiveTasks();
        $archive->del($ch_id);

        return posix_kill($pid, 9);
    }

    /**
     * Construct pid filename
     *
     * @param int $ch_id
     * @return string
     */
    private function getRecPidFile($ch_id){

        return '/tmp/rec_archive_'.STORAGE_NAME.'_'.$ch_id.'.pid';
    }

    /**
     * Return save dir for records
     *
     * @param array $task
     * @return string|false
     */
    private function getRecordsPath($task){

        $dir = RECORDS_DIR.'/archive/'.$task['ch_id'].'/';

        if (!is_dir($dir)){
            umask(0);

            if (!mkdir($dir, 0777, true)){
                return false;
            }
        }

        return $dir;
    }

    private function processExist($pid_file){

        $pid = trim(file_get_contents($pid_file));

        return posix_kill($pid, 0);
    }
}

?>

time shift work perfect

Aleksey Zhurbitsky

unread,
Jan 26, 2015, 9:11:40 AM1/26/15
to stalker-m...@googlegroups.com
Have you tried to add line
define('ASTRA_RECORDER', true);
to config.php on storage?

Gorance

unread,
Jan 26, 2015, 12:50:21 PM1/26/15
to stalker-m...@googlegroups.com
yes this is my config.php

<?php

define('VIDEO_STORAGE_DIR', '/media/storage/');
define('KARAOKE_STORAGE_DIR', '/media/karaoke/');
define('RECORDS_DIR', '/media/records/');
define('NFS_HOME_PATH', '/media/mac/');
// Use login and password from the configuration file. (api_auth_login and api_auth_password in server/custom.ini)
define('STORAGE_NAME', 'bb3');
define('ASTRA_RECORDER', true);

if i go EPG on STB and start record a channel starting record on server and its work only timeshift dont work on STB i see no file found
...

Aleksey Zhurbitsky

unread,
Jan 27, 2015, 9:45:02 AM1/27/15
to stalker-m...@googlegroups.com

Dark

unread,
Jan 29, 2015, 12:08:00 PM1/29/15
to stalker-m...@googlegroups.com
Алексей, после обновления на develop ветку сегодняшнюю сохраняются 2 проблемы с включенной опцией ASTRA_RECORDER:

Andrey Dyldin

unread,
Jan 29, 2015, 5:01:51 PM1/29/15
to stalker-m...@googlegroups.com
В задачи добавил, как будет время доработаю скрипт, вместо запуска/завершения процесса астра будет работать постоянно и принимать команды от сталкера по http.
Это решит проблему с rec_files.t_stop и users_rec.ended; также добавлю опцию для включения асинхронной записи (aio).

smirnof

unread,
Feb 27, 2015, 7:15:04 AM2/27/15
to stalker-m...@googlegroups.com
I installed astra on my stalker and getting it recording only the 1 multicast stream. all other streams are not recorded. don't know the reason, and can't find any logs on that.
in the process list i got astra /var/www/html/stalker_portal/storage/dumpstream.lua -A udp://239.1.1.2:1234 -d /media/raid0/records//archive/4/ -n
all other channels not there.

also when do a reset all tv archives i get error.
Fatal error: Uncaught exception 'RESTClientRemoteError' with message 'Not supported protocol' in /var/www/html/stalker_portal/server/lib/restclient.class.php:132 Stack trace: #0 /var/www/html/stalker_portal/server/lib/restclient.class.php(32): RESTClient->execute() #1 /var/www/html/stalker_portal/server/lib/tvarchive.class.php(550): RESTClient->create(Array) #2 /var/www/html/stalker_portal/server/lib/tvarchive.class.php(494): TvArchive->createTask(3, 'bb3') #3 /var/www/html/stalker_portal/server/administrator/add_itv.php(87): TvArchive->createTasks(3, Array) #4 {main} thrown in /var/www/html/stalker_portal/server/lib/restclient.class.php on line 132


Aleksey Zhurbitsky

unread,
Mar 5, 2015, 5:35:35 AM3/5/15
to stalker-m...@googlegroups.com
Please show your /storage/.tasks file.
May be you firgot to update stalker version on the storage?

Vladimir Hasko

unread,
Apr 20, 2015, 9:47:57 AM4/20/15
to stalker-m...@googlegroups.com
Hello,
thanks for nice option but we have little problem.
For example, we have set tv channels recording for 3 hours, with python is recorded 4 files and everything work ok.
Astra record only 3 files and when i click back timeshift by 2 and more hours, naturally file is missing.
Thank you.

Dne čtvrtek 15. ledna 2015 15:29:28 UTC+1 Andrey Dyldin napsal(a):

Pasha_49

unread,
May 14, 2015, 3:10:21 AM5/14/15
to stalker-m...@googlegroups.com
В последних демо или расширенных версиях появилась поддержка записи HLS.

Александр Майоров

unread,
Aug 5, 2015, 5:38:20 AM8/5/15
to Stalker Middleware

Пытаюсь внедрить скрипт астры для записи потоков, но не получается разрешить http в портале, версия портала 4.8.84

замену строки в add_itv.php сделал (https://github.com/azhurb/stalker_portal/commit/1b059002a017a488d7fa912fcc09044f8f1c09e8)

сейчас выглядит так:

    $mc_cmd = @$_POST['mc_cmd'];

   
if (empty($mc_cmd)){
       
foreach ($links  as $link){
   
if ((strpos($link['url'], 'rtp://') !== false || strpos($link['url'], 'udp://') !== false || strpos($link['url'], 'http://') !== false) && preg_match("/(\S+:\/\/\S+)/", $link['url'], $match)){
                $mc_cmd
= $match[1];
               
break;
           
}
       
}
   
}



но при попытке прописать адрес для записи http квадратик остается неподсвеченным, в чем может быть проблема? или версия портала несовместима? Какая ближайшая тогда совместимая версия?

Aleksey Zhurbitsky

unread,
Aug 20, 2015, 9:37:54 AM8/20/15
to Stalker Middleware
Нужно удалить проверку ввода в javascript, то есть строки

        $('#mc_cmd').on('input', null, null, function(eventObject){


           
if (eventObject.currentTarget.value.indexOf('rtp://') != -1 || eventObject.currentTarget.value.indexOf('udp://') != -1){
                $
('#enable_tv_archive').removeAttr('disabled');
                $
('#allow_pvr').removeAttr('disabled');
           
}else{
                $
('#enable_tv_archive').attr('disabled', 'disabled');
                $
('#allow_pvr').attr('disabled', 'disabled');
           
}
       
});


       
if ($('#mc_cmd').val().indexOf('rtp://') != -1 || $('#mc_cmd').val().indexOf('udp://') != -1){
            $
('#enable_tv_archive').removeAttr('disabled');
            $
('#allow_pvr').removeAttr('disabled');
       
}else{
            $
('#enable_tv_archive').attr('disabled', 'disabled');
            $
('#allow_pvr').attr('disabled', 'disabled');
       
}

Richard Lines

unread,
Jan 20, 2016, 1:41:52 PM1/20/16
to Stalker Middleware
Hello

I have setup Astra as I have approx 30 TVs channels for archive. I want to use Astra as udp streams clogg up my network and I have been told to change Astra from false to true in /storage/config.php after installing Astra and downloading dump stream.lua.

I have also changed the URL in tv channel from udp to http (http://8.8.8.8:8888) and I get the frescoes file created in /media/records/archive/1/ but it does it grow in size. It remains 0kb but each hour a new file is created.

Can anyone help please

Satis4action

unread,
Apr 25, 2016, 7:23:00 PM4/25/16
to Stalker Middleware
mozno silku obnovit ili dati puti k sushchestvuushchemu?
Spasibo zaranee!

demian

unread,
Apr 26, 2016, 5:02:59 AM4/26/16
to Stalker Middleware
Т.е. запись через астру включена по-умолчанию? Или же всё-таки, для включения записи через астру
define('ASTRA_RECORDER', true);

пятница, 20 февраля 2015 г., 18:13:06 UTC+3 пользователь Aleksey Zhurbitsky написал:
При установке в config.php на хранилище
define('ASTRA_RECORDER', false);
для архива и nPVR будет запускаться dumpstream.lua вместо родного dumpstream

Буду благодарен, если кто выложит содержание dumpstream.lua для образца и где он должен лежать? 

JDVU

unread,
Apr 26, 2016, 5:27:27 AM4/26/16
to Stalker Middleware
да выключена она по умолчанию.  false = нет, true = да.
файл брать тут https://bitbucket.org/cesbo/dumpstream.git

demian

unread,
Apr 26, 2016, 5:32:56 AM4/26/16
to Stalker Middleware
В 5ой версии портала нужно ещё где-то, что-то править или достаточно файлы эти подсунуть?

вторник, 26 апреля 2016 г., 12:27:27 UTC+3 пользователь JDVU написал:

JDVU

unread,
Apr 26, 2016, 5:43:09 AM4/26/16
to Stalker Middleware
достаточно lua и установить astra

вторник, 26 апреля 2016 г., 12:32:56 UTC+3 пользователь demian написал:

demian

unread,
Apr 27, 2016, 5:02:53 AM4/27/16
to Stalker Middleware
Вернее. Достаточно скачать бинарник астры и закинуть в /usr/bin к примеру, и дописать интерпретатор в dumpstream.lua, который в свою очередь положить в /stalker_portal/storage

вторник, 26 апреля 2016 г., 12:43:09 UTC+3 пользователь JDVU написал:

Сергей Абаленцев

unread,
Apr 30, 2016, 4:07:59 PM4/30/16
to Stalker Middleware
Какой такой интерпритатор дописать? Помоему достаточно просто наличия астры в системе и самого dumpstream.lua в системе чтобы все работало?

среда, 27 апреля 2016 г., 12:02:53 UTC+3 пользователь demian написал:

Михаил Михайлов

unread,
Jul 6, 2017, 12:53:01 AM7/6/17
to Stalker Middleware

Hi friends
I use ASTRA dumpstream.lua for tv archive and records.
TV Archive works fine.
But have issue with play records.
Record are correctly set in /media/raid0/records/  folder (see log -2-) but missing symlinks to them in /media/raid0/mac/00\:1A\:79\:14\:8F\:B6/ (see log -3-)
What can be reason for missing symlinks?
Who script should make symlinks?



root@dvb-stalker:~# tailf /var/log/apache2/access.log |grep rec

127.0.0.1 - - [06/Jul/2017:07:32:33 +0300] "PUT /stalker_portal/storage/rest.php?q=recorder/267 HTTP/1.0" 200 224 "-" "-"
127.0.0.1 - - [06/Jul/2017:07:32:33 +0300] "GET /stalker_portal/server/load.php?type=remote_pvr&action=stop_rec&rec_id=523&JsHttpRequest=1-xml HTTP/1.0" 200 472 "http://dtv.leaderbg.net/stalker_portal/c/index.html" "Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG200 stbapp ver: 4 rev: 2721 Mobile Safari/533.3"
127.0.0.1 - stalker [06/Jul/2017:07:32:33 +0300] "PUT /stalker_portal/api/stream_recorder/267 HTTP/1.0" 200 224 "-" "Astra"


---1-----

root@dvb-stalker:~# ps ax |grep astra
 8896 ?        S      0:00 astra /var/www/stalker_portal/storage/dumpstream.lua -A udp://239.255.0.2:3000 -s 0 -l 6918 -c http://stalker:secret_pass@IP/stalker_portal/api/stream_recorder/265 -o /media/raid0/records/265_20170706071224.mpg


---2----
root@dvb-stalker:~# ls -la /media/raid0/records/
загалом 967320
drwxrwxrwx 3 root     root          4096 лип  6 07:12 ./
drwxrwxrwx 6 root     root          4096 лип  3 21:25 ../
-rw-r--r-- 1 www-data www-data  12688872 лип  5 00:53 259_20170705005327.mpg
-rw-r--r-- 1 www-data www-data   5077128 лип  5 00:54 260_20170705005434.mpg
-rw-r--r-- 1 www-data www-data  33443508 лип  5 00:58 261_20170705005656.mpg
-rw-r--r-- 1 www-data www-data 893952220 лип  5 01:37 262_20170705010100.mpg
-rw-r--r-- 1 www-data www-data  12825736 лип  5 17:09 263_20170705170845.mpg
-rw-r--r-- 1 www-data www-data  26779284 лип  5 18:17 264_20170705181605.mpg
-rw-r--r-- 1 www-data www-data   5740392 лип  6 07:12 265_20170706071224.mpg
drwxrwxrwx 3 root     root          4096 кві  7 21:05 archive/

---3-----
root@dvb-stalker:~# ls -la /media/raid0/mac/00\:1A\:79\:14\:8F\:B6/
загалом 16
drwxrwxrwx 2 www-data www-data 4096 лип  5 01:02 ./
drwxrwxrwx 3 root     root     4096 лип  5 00:44 ../
lrwxrwxrwx 1 www-data www-data   97 лип  5 01:02 15.avi -> /media/raid0/storage/TheAssignment2016HDRipXviDAC3-EVO/The.Assignment.2016.HDRip.XviD.AC3-EVO.avi*
lrwxrwxrwx 1 www-data www-data   97 лип  5 01:02 The.Assignment.2016.HDRip.XviD.AC3-EVO.sub -> /media/raid0/storage/TheAssignment2016HDRipXviDAC3-EVO/The.Assignment.2016.HDRip.XviD.AC3-EVO.sub*

Reply all
Reply to author
Forward
0 new messages