KVM / qemu / libvirt Назначение домена PCI / шины / слота / функции с помощью virt-install

Я пытаюсь создать виртуальную машину с помощью утилиты virt-install, и хотя это достаточно легко сделать, то, что я хотел бы, оказалось довольно сложно.

Я хотел бы иметь возможность указать домен / шину / слот / функцию интерфейсов Ethernet, которые я добавляю. для потокового сервера вроде этого:

ffmpeg -i "http://ip/play/a03i" -vcodec copy -acodec copy -f flv "rtmp://ip:80/APP/Name"

Я использую модуль Nginx-rtmp для его запуска с помощью директивы exec_static но я не могу контролировать каждый канал или процесс, не могу остановить запуск, перезапустить, отредактировать любой поток без остановки всех каналов

любая идея Пожалуйста?

Best,

1
задан 20 February 2017 в 23:51
1 ответ

Попробуйте что-нибудь вроде (это в PHP, но вы можете использовать аналогичную процедуру из других скриптов):

                    $cmd = "ps aux | grep '-vcodec copy -acodec copy -f flv'";
                    exec($cmd, $output, $returnvalue);

                    $transcoders = 0;
                    foreach ($output as $line) if (strstr($line, "ffmpeg"))
                        {
                            $columns = preg_split('/\s+/',$line);

                            if ($kill) //customise this to kill a process
                            {
                                $kcmd = 'kill -KILL ' . $columns[1];
                                exec($kcmd, $koutput, $kreturnvalue);
                            }
                         }

Функциональность основана на плагине WP Videochat , который имеет бэкэнд-секция для мониторинга и остановки процессов FFMPEG (используется для транскодирования живых потоков для воспроизведения HLS и создания снимков из потоков).

0
ответ дан 4 December 2019 в 05:11

Теги

Похожие вопросы