如何使用 FFMPEG 流式传输桌面,并将输出设置为 http://127.0.0.1:8080

问题描述 投票:0回答:3

我正在尝试在 Windows 上使用 FFMPEG 通过本地主机地址流式传输我的整个桌面: 127.0.0.1:8080 ,并且可以从同一网络中的另一台计算机访问它,使用 vlc 打开网络 url,或将其嵌入例如源视频文件。 我在这里尝试了命令:

ffmpeg -f gdigrab -framerate 6 -i desktop output.mp4  

但这会记录整个桌面(我想做的)并将其存储在 ouput.mp4 文件中,我尝试将其更改为:

    ffmpeg -f gdigrab -framerate 6 -i desktop http://127.0.0.1:8080

但我收到此错误:

[gdigrab @ 0000023b7ee4e540] 在 (0,0) 处捕获整个桌面为 1920x1080x32 [gdigrab @ 0000023b7ee4e540] Stream #0:没有足够的帧来估计速率;考虑增加探针大小 从“桌面”输入#0,gdigrab: 持续时间:N/A,开始:1625841636.774340,比特率:398133 kb/s 流 #0:0:视频:bmp、bgra、1920x1080、398133 kb/s、6 fps、1000k tbr、1000k tbn [NULL @ 0000023b7ee506c0] 无法找到“http://127.0.0.1:8080”的合适输出格式 http://127.0.0.1:8080:参数无效

但我想将输出设置为:http://127.0.0.1:8080 我该怎么做?

更新: 我找到了这个命令:

ffmpeg -f gdigrab -framerate 30 -i 桌面-vcodec mpeg4 -q 12 -f mpegts http://127.0.0.1:8080

它似乎在流式传输,但我无法从 vlc 或媒体播放器打开它

windows ffmpeg stream
3个回答
0
投票

我使用 HLS 与 ffmpeg 进行 HTTP Live Stream,用于录制屏幕并将 .ts 和 .m3u8 文件存储在本地计算机的文件夹中。 然后使用 NancyServer 自托管应用程序(指定根目录),指向 .m3u8 文件。 每次本地机器开始直播时,该文件夹都会被清除。


0
投票

改编自这篇有用的post,我能够将我的服务器 Win10 计算机的桌面共享到我的客户端 Win10 计算机。

Win10机器流/服务器:

ffmpeg -f gdigrab -framerate 60 -i desktop -vcodec mpeg4 -q 12 -f mpegts udp://20.20.5.5:6666

Win10机玩/客户端:

ffplay -f mpegts udp://127.0.0.1:6666

我的流媒体/服务器IP地址的Win10机器是

20.20.5.111
,而接收/播放/客户端的Win10机器是
20.20.5.5

正如另一篇post中提到的,使用 localhost/

127.0.0.1
是让客户端流式传输视频的方法。


0
投票

概述。 首先,您需要一个本地服务器来托管您的流。 其次,您开始直播。

详情

  1. 启动本地服务器:使用MediaMTX独立版

  2. 发布直播:

    ffmpeg -re -stream_loop -1 -i ANY-FILE.mp4 -c 复制 -f rtsp rtsp://localhost:8554/mystream

© www.soinside.com 2019 - 2024. All rights reserved.