Вверх ↑
Ответов: 264
Рейтинг: 36
#1: 2021-11-07 12:15:00 ЛС | профиль | цитата
egorhay, Мне кажется, что тебе стоит прислушаться к совету Netspirit и изучить документацию по ffmpeg.
Вот ссылки.
https://trac.ffmpeg.org/wiki/StreamingGuide
https://trac.ffmpeg.org/wiki/Capture/Desktop
Довольно внятные инструкции. Ничего сложного.
Пример
Строка для передатчика (Сервер):
ffmpeg -f gdigrab -framerate 30 -i desktop -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts udp://192.168.1.15:48550
Строка для приёмника (Клиент):
ffplay  -i udp://192.168.1.15:48550
Попробовал, всё передаётся и принимается. Исправь IP и порт приёмника на свои. И не запускай обе программы на одном ПК! Или ограничься трансляцией только одного окна.
Схемы элементарные, из одного компонента.
Сервер
Add(MainForm,2953706,105,126)
{
Point(onClose)
link(onCreate,15228189:doConsoleExec,[])
link(onClose,15228189:doConsoleTerminate,[])
}
Add(WinExec,15228189,161,126)
{
FileName="ffmpeg"
Param="-f gdigrab -framerate 30 -i desktop -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts udp://192.168.1.15:48550"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(doConsoleTerminate)
link(onConsoleResult,16718623:doWork2,[])
link(onConsoleError,16718623:doWork3,[(207,153)])
}
Add(Memo,10441065,287,140)
{
Left=550
Top=160
Align=5
ScrollBars=3
}
Add(HubEx,16718623,203,140)
{
link(onEvent,1602673:doCharset,[])
}
Add(Charset,1602673,231,140)
{
link(onCharset,10441065:doAdd,[])
}

Клиент
Add(MainForm,14700257,238,105)
{
Point(onClose)
link(onCreate,15228189:doConsoleExec,[])
link(onClose,15228189:doConsoleTerminate,[])
}
Add(WinExec,15228189,294,105)
{
FileName="ffplay"
Param="-i udp://192.168.1.15:48550"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(doConsoleTerminate)
}

карма: 6

0
Редактировалось 2 раз(а), последний 2021-11-07 12:19:40