我知道还有其他一些现代媒体播放器。但电影和电视在 HDR 方面表现相当不错。现在我发现它唯一的缺陷也许是缺少从链接播放视频。
例如,m3u8 链接。
我知道还有其他一些现代媒体播放器。但电影和电视在 HDR 方面表现相当不错。现在我发现它唯一的缺陷也许是缺少从链接播放视频。
例如,m3u8 链接。
在这篇文章中, slhck提到对于 VoD(不要与实时流媒体混淆),应该使用以下两种压缩方法之一:
我对理解这些方法有何不同感到非常有信心,但我真的不明白其中一种方法是否比另一种更好,如果是,为什么。
-maxrate
在我看来,将 Capped CRF 与(约束模式)一起使用是最有意义的。然后编码器将为我计算最佳比特率,如果该比特率高于我的上传速度,编码器将限制比特率。因此,-b:v 5000K
除非始终保持一定的比特率非常重要,否则使用像设置这样的固定比特率是没有意义的。但为什么会呢?
我在这里的假设错了吗?
我应该选择有上限的 CRF-maxrate
还是有我没有看到的缺点?
我希望能够将梯形失真校正应用于网络摄像头流。原始图像流包含一个矩形背景,我使用的是矩形覆盖,用户拖动角以匹配图像中的实际角。最后,用户单击将坐标发送到服务器的按钮。然后服务器更新过滤器参数并重新启动流。一切都可以用于ffmpeg
将 RTMP 流式传输到nginx
,但由滞后生成的 HLS 流nginx
不能令人满意和/或挂起。我使用过滤器如下:
-lavfi "perspective=x0=100:y0=20:x1=520:y1=20:x2=100:y2=380:x3=520:y3=380:interpolation=linear:sense=source"
切换到使用motion
流式传输图像具有更好的实时性能,我可以将图像嵌入到上面描述的 HTML 中。问题是我找不到将ffmpeg
过滤器插入motion
流的方法,我认为它仅适用于保存的文件。有可能吗?
我正在尝试构建一个设备,该设备通过多个数据计划进行 LTE 连接绑定,以用于实时流媒体。它需要低延迟,但我愿意发送重复的数据包/浪费数据。我想使用多个数据计划,因为我发现其中一个覆盖范围不是很好,而且我确实会丢失一些数据包。
请注意,因为它需要低延迟,所以故障转移/标准冗余对我不起作用。
还考虑到它是用于直播的,便携性是理想的。我想象的架构是:
我一直在寻找解决方案,目前LiveU提供商业硬件 + 软件解决方案,Speedify仅提供软件方面,但我是有进取心的黑客,我想弄清楚是否有可以使用的开源技术建立这个和玩?
据我所知,OpenWRT 似乎不支持这样的东西,而且我还没有发现任何其他有希望的东西。很想听听是否有人对可能实现此目的的工具有任何想法。
我有 5 个高清网络摄像头(Creative Live Cam Sync 1080p)并且想在 Debian Buster 4.19.0-11-amd64 上使用https://github.com/jacksonliam/mjpg-streamer流式传输图片。
如图所示,它们都支持 MJPG。
问题是由于带宽限制,我只能启动 3 mjpg-streamer。
kernel.log 说:
usb 3-2: Not enough bandwidth for new device state.
usb 3-2: Not enough bandwidth for altsetting 7
我正在使用命令启动网络摄像头
/usr/local/bin/mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -d /dev/video0 -n -f 5 -r 1920x1080" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 8085 -w /usr/local/share/mjpg-streamer/www"
usbtop输出:
Device ID 2 : 141.73 kb/s 15259.90 kb/s
这意味着一个网络摄像头正在使用 15Mb/s 或大约 2MB/s。我正在使用支持 5Gbit/s 的 USB 3.0。
我真的不明白问题出在哪里或出了什么问题。似乎 mjpeg-streamer 正在使用原始图像数据而不是 mjpeg 流。
我正在换一台新电脑。我的旧计算机上有 MPC-HC,但我知道该版本已弃用,因此我在新计算机上安装了 MPC-BE。但是,我发现 MPC-BE 无法播放 MPC-HC 能够播放的某些音频流。例如,WBUR 广播的这个流在 MPC-HC 上运行良好,但在 MPC-BE 上不行:
http://audio.wbur.org/stream/live_mp3.m3u
我知道我可能需要转到选项并添加一些外部过滤器,但我从来没有用 MPC-HC 这样做,我不知道如何。在 MPC-BE 中,有许多外部过滤器选项——我是否应该期望其中一个能够渲染 m3u 流,如果是,我如何确定哪一个?
我正在使用 Windows 10。
我正在寻找一种将 IP 摄像机的视频流单播到 Internet 上的 VPS 以进行录制和实时查看的方法。像在任何网络上一样,IP 摄像机位于防火墙后面,并且端口转发也不是这里的选项。有没有办法让我将 RTSP 流从相机转换并单播到服务器?我环顾四周,大多数流协议都需要流目标来连接到流源,但我需要它是相反的。是否有任何现有的软件或协议可以做这种事情?
AzuraCast 使用 Icecast(目前是 Icecast 2.4.0-kh10-ac4)进行广播直播。
Icecast 可以选择在新听众连接时将媒体文件添加到直播流中。
这就是Icecast 文档对<intro>
选项的看法(我的粗体字):
一个可选值,它将指定文件这些内容将在新侦听器连接时但在发送普通流之前发送给它们。确保指定文件的格式与流格式匹配。指定的文件在打开之前会附加到 webroot 。
为了绝对确保介绍文件与流具有完全相同的编码格式,我使用了流的简短转储 ( mplayer -dumpstream <mountpoint_url>
) 用作测试的介绍文件。
现在,站点的 Icecast 配置文件通常位于/var/azuracast/stations/<station_slug>/config/icecast.xml
运行 AzuraCast 的服务器上(使用默认设置)。
我遇到的第一个问题是AzuraCasticecast.xml
每次启动或重启Icecast都会覆盖文件,所以不能直接编辑。
幸运的是,我通过在自定义配置字段(位于Edit Profile > Broadcasting下)中输入 JSON 来覆盖(部分)Icecast 设置。这是一个例子:
{
"location" : "Overrides location",
"mount" : [{
"intro" : "/intro-128.mp3"
},{
"intro" : "/intro-64.aac"
}],
"paths" : {
"webroot" : "/usr/local/share/icecast/web"
},
"directory" : {
"yp-url-timeout" : "15",
"yp-url" : "http://dir.xiph.org/cgi-bin/yp-cgi"
}
}
当 Icecast 重新启动时,这成功地转换为 XML 内部icecast.xml
(只保留相关标签):
<icecast>
<location>Overrides location</location>
...
<mount type="normal">
<mount-name>/radio.mp3</mount-name>
...
<intro>/intro-128.mp3</intro>
</mount>
<mount type="normal">
<mount-name>/radio.aac</mount-name>
...
<intro>/intro-64.aac</intro>
</mount>
<paths>
<basedir>/usr/local/share/icecast</basedir>
<webroot>/usr/local/share/icecast/web</webroot>
...
</paths>
...
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
</icecast>
但我无法弄清楚使其工作的组合<intro>
和设置。<webroot>
奇怪的事情:<webroot>
服务器上甚至不存在默认值。我尝试创建路径并将介绍文件放在那里,但它不会播放(即使在重新启动 Icecast 之后),也不会在您http://<host:port>/intro-128.mp3
直接请求时显示(您会期望它位于 Web 根目录中)。
当我将值更改<webroot>
为另一个目录时,Icecast Web 前端停止工作(尽管流仍然有效),并且直接请求介绍文件也不起作用。
这让我怀疑 AzuraCast 以某种方式将 Icecast 的请求“重定向”到文件系统。
我的 AzuraCast 在 VPS 内的 Docker 安装中运行。当然,所有这些路径和文件都驻留在Docker 卷中。但可以肯定的是,我也尝试直接在主机服务器上创建路径,但到目前为止没有成功。
我确认更改icecast.xml
已生效,因为我可以在 Icecast 上看到被覆盖的位置,并且流已在dir.xiph.org上注册。