Я предполагаю, что 192.168.3.151 - это IP-адрес вашего компьютера с Linux, и с указанным URL (udp: //192.168.200.151: 1111) вы транслируете через порт 1111 на своем локальном компьютере, поэтому ожидается, что этот поток будет виден толькоit.
Прежде всего вы можете использовать многоадресный диапазон UDP ( Подробнее см. здесь ) для потоковой передачи экрана рабочего стола в локальную локальную сеть, например:
ffmpeg -f x11grab -r 1 -loglevel panic -s `xdpyinfo | grep 'dimensions:'|awk '{print $2}'` -i $DISPLAY -qscale 0 -f mpegts udp://239.0.0.1:1111
Вы можете видеть поток на других машинах в локальной сети.
Если вы хотите транслировать экран рабочего стола в Интернете, вы должны использовать подходящий кодек, такой как h264 (MP4), и использовать медиа-сервер , такой как Nginx, Wowza или что-то подобное, и транслируйте его с помощью этой команды:
ffmpeg -f x11grab -s `xdpyinfo | grep 'dimensions:'|awk '{print $2}'` -framerate 25 -i $DISPLAY -c:v h264 -preset ultrafast -tune zerolatency -qscale 0 -f mpegts rtmp://<Media_Server_Address>:1935/live/<stream_name>
Media_Server_Address - это домен вашего сервера или IP-адрес.Это может быть ваш веб-сервер или другой сервер, на котором установлен медиа-сервер.
live - это приложение, которое обрабатывает прямые трансляции.У него может быть другое имя, но по умолчанию его имя по умолчанию - live.
stream_name - произвольное имя для потока.
В этом сценарии вы отправляете поток через RTMP на медиасервере, а затем другие могут увидеть его, например, по протоколу HLS через приложение проигрывателя, такое как VLC player, или через тег HTML5 на веб-странице с этим URL:
http://<Media_Server_Address>:1935/live/<stream_name>/playlist.m3u8
Обновление:
Это пример использования Nginx в качестве медиа-сервера:
Конфигурация Nginx:
worker_processes 1;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4000;
application live {
live on;
allow publish all;
allow play all;
}
}
}
Команда FFmpeg должна выполняться на локальном ПК для потоковой передачи с рабочего стола локального ПК на медиасервер:
ffmpeg -f x11grab -s `xdpyinfo | grep 'dimensions:'|awk '{print $2}'` -framerate 25 -i $DISPLAY -c:v h264 -preset ultrafast -qscale 0 -f flv rtmp://<Media_Server_Address>:1935/live/localdesktop
Теперь пользователи могут воспроизводить поток на других ПК с использованием VLC с этим URL:
rtmp://<Media_Server_Address>/live/localdesktop
ЕслиТребуется воспроизведение HLS, только файл конфигурации hls должен быть добавлен в файл конфигурации Nginx.тогда пользователи могут использовать поток воспроизведения hls, просто используя этот URL с помощью VLC:
http://<Media_Server_Address>:1935/live/localdesktop/playlist.m3u8
Важно отметить, что в этом случае должна использоваться та же команда ffmpeg.