Raspberry Pi,TVHeadend和Kodi如何说服我删除Plex

在周末,我设置了一个TVheadend服务器,以通过本地网络连接房屋中的OTA天线和服务器。 在凤凰城,我们拥有惊人的OTA覆盖率。 我一直试图关注的事情是,无论何时我设置新服务或新服务器时,我都问自己:“ Raspberry Pi可以做到吗?”使用RPI而不是在家庭实验室中的台式机或虚拟机上运行,​​这是理所当然的。 我喜欢设置这样的东西,其中之一就是随之带来的挑战。 从头开始设置RPI,然后在其上安装服务器似乎应该是一整天的任务,但这对于RPI生态系统的状态来说是可以说的。 多年来,建立RPI的原因已经不存在:—这是一个严肃的业余爱好者工具。 —这样,任何人都可以做到,但是您必须了解一点点。 —现在,在大多数这些应用程序中进行设置非常简单,小学生可以在放学后的课程中完成这些应用程序。 实际上,它是如此简单,我能够在大约20分钟内完成设置并使其运行。 这是我在该领域工作并提出辅助项目的最喜欢的事情之一。 通常,与刚开始阅读有关设置方法的说明相比,它们实际上要简单得多。 为了快速进行设置,您需要做的就是安装Raspbian或您的Raspberry Pi上运行的任何Linux版本。 然后用一些简短的命令设置TVheadend服务器,您就可以启动并运行了。 我的天线使用了SiliconDust HDHomerun…

媒体流入门

如今,内容消耗是互联网上最常见的用法之一。 无论是流广播和电视,还是按需提供视频和音频的服务,人们在线消费媒体的数量都比以往任何时候都要多。 因此,如果您要创建要在Internet上共享的内容,那么如何开始? 直播还是点播流? 首先要考虑的是您是实时流媒体还是按需流媒体。 假设您选择的任何一个都将最终占用大量带宽,这意味着您将需要能够满足带宽需求的托管提供商。 您选择的选项在存储配置要求和服务器的处理器使用方面将有很大的不同。 使用实时流传输时,通常所需的存储量非常少,因为一旦数据从流源中传入,数据流就会被传递到目标客户端。 在处理按需流媒体时,您将需要考虑流媒体内容的类型,因为您还需要存储该媒体。 在存储方面,取决于您是流音频还是视频,这对存储要求而言有很大的不同。 高清视频所需的空间需要您有更多的存储空间才能存储类似数量的媒体。 如果要处理用户生成的内容以及常规内容,则可能还需要更高的CPU性能,这是因为需要将上载的媒体转码为要用于流的格式。 如何流媒体 选择了计划使用的服务器后,下一个任务是确定如何流式传输媒体。 如果您打算使用专用的客户端应用程序或回放脚本,则需要选择一个具有匹配协议的兼容服务器端应用程序。 如果允许最终用户在他们选择的回放客户端中接受流,那么服务器的选择将取决于您希望达到多少客户端。 这在某种程度上取决于服务器使用的通信协议。 常用的协议是超文本传输​​协议(HTTP),实时流协议(RTSP)和实时消息协议(RTMP)。…

动态优化器-感知视频编码优化框架

在过去的25年中,视频编码推动了学术研究,并启用了引人注目的产品和服务。 许多公司都是围绕视频编码和传输而建立的-Netflix和Google的YouTube是以视频为中心的公司的两个主要示例。 这些年来,视频编码的基本原理一直没有改变,因为现代视频流使用的是与自MPEG-1 [1]开始使用的相同类型的编码参数:选择特定的帧分辨率以及一组-图像(GOP)结构,可施加周期性的帧内图像,并且输入视频帧上的单次通过或两次通过(近似)满足的目标比特率。 公司一直在努力调整视频编解码器中的其他参数,从而创建了业界通常所说的“食谱”。 这些配方通常是通过人工检查几个标题的选定集合上的结果编码来创建和定制的,并且已经很长时间保持固定。 同时,核心视频编解码器工具的改进已导致节省的比特率显着降低-使用HEVC [2]编码器可以达到相同的质量,而仅使用MPEG所需比特的一小部分(约30%) -1。 尽管一直使用均方误差(MSE)进行测量,但这种改进并不总是伴随着同样令人印象深刻的结果,而这种变化是在人类观察者对编码进行评估时得出的。 开发新编解码器时要声称的不可思议的数字是“ 50%”。 H264 / AVC [3]要求比MPEG-2 [4]少50%的比特,HEVC要求比AVC少50%的比特。 然而,在实际系统中,这些节省从未实现过-关于从视频编解码器增量变化中看到的好处的最佳估计接近40%[5]。…

使用ffmpeg和SRT将视频信号传输到云

将实时视频转码以在线分发到公共云需要一种将视频信号传输到云的方法。 有两种方法可以实现此目的,在本文中,我们将主要研究如何使用SRT(安全可靠传输)和ffmpeg来实现此目的。 在研究如何使用SRT之前,让我们看一下还有哪些其他选择。 今天最简单的选择是使用RTMP作为传输协议。 它是Adobe开发的协议,已经存在了一段时间。 今天,Wirecast,Teradek和OBS等许多生产工具都支持RTMP,这是YouTube,Facebook和Twitch支持的协议。 RTMP是基于TCP的协议,在该协议中,每个数据包均得到确认并保证被传递,这意味着底层协议确保接收端接收到位流中的所有位。 每个数据包的握手过程都会增加开销,并带来一些限制。 RTMP的另一个缺点是并非所有的Live Transcoding软件都支持现成的RTMP。 这限制了您选择正确的代码转换软件时可以使用的某些选项。 在许多情况下,您将需要通过UDP /组播从RTMP到MPEG-TS的“桥梁”。 这也可以使用ffmpeg来完成,我们将在另一篇文章中进行介绍。 同样,在生产方(发送者)不一定总是可以选择使用RTMP作为运输协议。 对于这些情况,有几种商业选择,例如紫溪,可以通过Internet传输MPEG-TS流。 商业协议和专有协议的一种选择是使用SRT(安全可靠传输)来传输信号,而我们将在ffmpeg中完成此操作。 安全可靠的运输…

进行OpenConfig流式遥测

流遥测一直是网络行业中的热门话题。 但是,仍然没有太多的工具和示例。 我希望这篇文章能弥补差距。 数据模型和YANG被有意地排除在外,并将在以后的文章中介绍。 我已经使用流式遥测技术已经有一段时间了,并且认为我可以向其他人提供有用的示例。 与我以前的文章一样,我将使用Go编程语言。 让我们看一下这与我们以前有什么不同。 我说的是SNMP等协议,并通过SSH屏幕抓取收集数据。 最重要的区别是,我们以前使用的是轮询模型,其中应用程序上的脚本会轮询设备以获取某些数据。 对于通过UDP运行的SNMP,没有内置的可靠性,因此我们永远不知道何时丢失数据,更不用说轮询间隔短于5分钟了几乎是不可能的。 SSH屏幕抓取完全是另一回事,因为CLI从来都不是为机器对机器的通信而设计的,因此解析所需的信息是一项挑战。 上面提到的协议还有许多其他缺点,但是由于已经讨论了很多次了,所以我不再赘述。 流遥测有多种实现方式,这里很少。 瞻博网络,思科和我认为Arista等厂商的第一种方法也是使用BSON,协议缓冲区和我所知的Apache Thrift等二进制格式通过UPD传输数据。 打开它很简单,然后设备开始流传输包含遥测数据的数据包。 收集器需要具有供应商提供的架构,然后它才能对数据进行解码。 第一个实现的缺点是它不是很灵活,因为收集器无法操纵订阅。…