问题标签 [dvb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ffmpeg - TVHeadend 不在 IPTV 流上使用编解码器副本?
因此,我使用了出色的 TVHeadend,在我的情况下,它是一个 DVB-T 或 IPTV 服务器,可以大量记录一些输入。这是一款很棒的软件,我非常推荐。
但是我在这里有点困惑。所以我在树莓派 4 上设置了一个电视前端,因为我的工作需要录制很多电视节目。我非常感谢 TVheadend 在其他安装上的使用,我的同事也需要使用它,而不是仅使用 CLI 界面(你会看到这很相关)。
因此,当我使用这样的简单 ffmpeg 命令时:
我的 cpu 使用率大约为 1% 或 2%。但是当我试图在 tvheadend 中复制它时,cpu 达到 400%,显然这不是相同的行为。
这是我的流配置:
这是 ffmpeg 编解码器复制的结果:
结果与 tvheadend :
如您所见,Tvheadend 正在制作一个可变比特率和可变帧率文件,这对 Premiere Pro 来说真的很糟糕(这是所有这一切的主要目标)。显然,它正在以对我的工作流程最不利的格式对其进行转码,而我不需要这种格式。
我的 Pi4 在 Raspbian Buster 上,但我也在 libreelec 上尝试过同样不幸的结果。
有人知道吗?
linux - 在 iptv 服务中提供多渠道服务
我应该在 IPTV 系统上工作,现在我必须弄清楚提供商如何可以同时从卫星广播多个频道,它是由特殊接收器等硬件还是软件管理的!如果有关于这个主题的研究或论文,我将非常感谢你提前谢谢你
matlab - 实现 DVBS2 的 BaseBand 加扰器的正确方法是什么?
我正在尝试实现基于 DVBS2 标准的发射器。指南文档显示了一个反馈移位寄存器,其输入不依赖于发送的消息
而 MATLAB 的 comm.Scrambler 对象确实将消息与寄存器的输出混合在一起。
就加扰器的目的而言,正确的方法是什么?两种实现之间的区别是什么?
提前致谢!
math - LDPC 码的 DVB-S2 标准中描述的编码过程的基本原理是什么?
我还没有找到解释为什么累积给定的奇偶校验地址然后对累积的值进行异或运算得到 LDPC 码的码字。关闭它得到“示例编码器”的维基百科解释,但它恰好没有参考。它与它的 Tanner 图表示有关吗?也许与理查森和厄本克有关?在我访问过的每本书中,该过程都是通常的矩阵乘法和两步Richardson-Urbanke过程。
需要明确的是,标准给出了地址数组,其中包含在奇偶校验位中累积传入位的位置(类似于维基百科的重复累积)。最后一位用完后,整个奇偶校验位向量与自身异或(再次参见维基百科的图片)。
我的问题是为什么?它从何而来?
ffmpeg - tsduck 合并两个 SPTS
我正在使用 tsduck 工具合并两个 SPTS。但似乎它合并了 A/V pid,但没有使用新添加的流流的信息更新 PSI 表。
有人可以向我提供将两个记录的 SPTS 与 tsduck 合并的命令吗?如果不是tsduck,这里还能用什么?
ffmpeg - FFMPEG mpeg2_qsv 编码器 idr_interval 属性未通过 av_set_opt 公开
我通过 FFMPEG 的 libav* api 使用 ffmpeg-4.4-full_build-shared 从我的应用程序生成符合 DVB 的多播 rtp 流。当我使用 mpeg2video 编码器和 h264_qsv 时,一切似乎都正常。但是 mpeg2_qsv 编码器没有设置默认为 0 的 idr_interval 属性。根据 Intel 的 Media SDK 文档,0 意味着 IDR 帧将仅在开始时发送。
如果我在流开始之前启动 VLC,它会在 VLC 获取 IDR 帧时正常工作,但如果我在流启动后启动 VLC,VLC 调试会显示 - mpegvide : waiting for sequence start。
我尝试深入研究 ffmpeg 源代码,据我所知,qsvenc_mpeg2.c 文件中没有启用 idr_interval
https://github.com/Vincit/ffmpeg/blob/master/libavcodec/qsvenc_mpeg2.c#L65
就像在 qsvenc_h264.c 中启用一样
https://github.com/Vincit/ffmpeg/blob/master/libavcodec/qsvenc_h264.c#L69
谢谢你的病人。任何指导将不胜感激。
PS:我真的很害怕自己编译ffmpeg的想法。试过一次,但性能并不是那么好。如果需要的话,也许 Gyan 先生可以在这里帮助我。
python - 如何通过 ffmpeg-python 获取 service_name 和程序列表
我有一个“.ts”文件。它是已记录的 DVBS 信号的基带帧。它有一些程序和流。我使用 FFmpeg 来重建流。当我使用 FFmpeg 时,会显示包含 service_name 的上下文。如何导出程序列表(不是流)和服务名称?ffmpeg.exe -i '.\log_dvbs.ts'
我可以使用 ffmpeg-python 来做到这一点吗?FFmpeg 中是否有任何直接命令来显示这些标签,或者我必须编写代码来分析“cmd JSON 日志”?
wireshark - 如何在 Wireshark 3.4.6 中分析 DVBS2 数据包?
我在 Wireshark 3.4.6 中导入dvb-s2_bb_example.pcap(已由 wireshark.org 发布)。它没有被正确解释。我已经在分析->启用的协议中启用了所有协议
通过使用 Wireshark 1.10.0 可以正确解释,但我想使用 3.4.6 版本。
如何在 3.4.6 或更新版本中执行此操作?
ffmpeg - 使用 ffmpeg 重定向 DVB-S2 MPTS 流
我试图找到一种解决方案,将卫星 DVB-S2 MPTS 流从(Sat2IP)多路复用到同一流中,而无需使用 ffmpeg 进行任何修改。它只是应该将相同的输入重定向或复制到输出中,而 PMT/PAT/SDT/NIT 表保持不变。我设法复制了所有编解码器,但 ffmpeg 更改了 PID 和 PNR 编号。我的目标是将这些流导入我的 IPTV 面板,该面板使用 ffmpeg 进行进一步处理。(限制连接,身份验证...)
是否可以保持相同的流或只复制所有数据信息,如 PMT/PAT/SDT/NIT 所有 PSI 表等?