问题标签 [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.

0 投票
1 回答
651 浏览

ffmpeg - FFMpeg DVB 字幕内存泄漏

从 mpegts udp 多播流解码字幕轨道时,我使用 avcodec_decode_subtitle2 出现内存泄漏。音频和视频流都很好。并且所有三个流都是通过预先分配所有缓冲区来手动管理内存的。

关于的信息很少,但我相信某处有补丁。

我目前正在使用为 armv7-a 编译的 ffmpeg 2.0.4 for android。

在此过程中,我发现视频流具有不同的分辨率,即 720x576 或 576x576,这并不重要,因为我将字幕单独渲染为视频的叠加层。我的原始解码功能(正在更改以呈现单独的叠加层)是:

任何信息将不胜感激,或者我是否必须升级到更高版本的 ffmpeg?

0 投票
1 回答
2151 浏览

linux - 我可以选择哪个 DVB-T 音频通道 VLC 流吗?

在 Debian Wheezy 上使用 DVB-T 棒,我正在尝试使用 VLC 流式传输 DVB-T 频道。

服务器端的流式传输运行良好。在客户端上,我可以使用 URL http://my_ip:8080/tv_channel打开一个流,然后立即获得视频。

然而,问题在于音轨。在服务器端,VLC 流式传输 2 个音轨,其中第二个是我想听的。但是在客户端上,VLC 始终默认为第一个音轨。

有没有办法强制服务器 VLC 只流式传输第二个轨道,或者通过 URL 告诉客户端使用第二个轨道?

我试图实现的是在客户端打开一个链接并使用正确的轨道,而无需手动将其从第一个更改为第二个。另外,我的移动客户端无法选择音频流,它总是使用第一个。

请注意,有些 DVB-T 频道只有一个音轨,而另一些则有两个。这意味着在 VLC 客户端中将第二个轨道设置为默认值会导致其他通道禁用音频。

我的服务器端 VLC 配置文件:

注意:我已经尝试pid-audio通过将其添加到配置文件来手动选择,但这实际上什么也没做。

0 投票
1 回答
553 浏览

mux - 在 TS 文件中添加 SDT PSI/SI 信息

是否有任何软件可以在已经混合的 ts 文件上添加 SDT 信息?我可以再次将 mpeg 文件重新混合到 TS,但我找不到任何指导我如何添加 sdt 表的东西,我能找到的只是 DVB 分析器,他们无法将 sdt 表添加到 ts 文件甚至 mux它与桌子。也许我的 google-fu 生锈了...谁能指出我正确的方向?

0 投票
1 回答
387 浏览

android - v4l2 mpeg-ts 流到 android 上的 http 流

我正在尝试读取 v4l2 流并通过 android 上的 http 流重新流式传输。

首先我没有任何代码,但我认为这个问题是关于编码的,我找不到更好的地方来发布它......

我曾尝试使用 mumudvb、tvheadend 和 dvblast android 端口,但我的 v4l2 API 有点奇怪(来自芯片组供应商的专有调用,我有适当的 API 来调用它们(类似于 v4l2))但它们根本不起作用。

事实是我不知道如何在概念上实现它,我的意思是,我想我必须从 /dev/dvb0.dvr0 设备读取缓冲区数据并将其写入 tcp 套接字。

问题是:

什么时候需要编写 http 标头?

有没有人做过这样的东西?

有任何想法吗?

谢谢

0 投票
1 回答
548 浏览

stream - 传输流提取ES视频/音频数据并播放

我正在做一些事情,但我发现我无法通过在互联网上进一步搜索找到有用的东西。

我为 dvbs2 csa 写了一个解扰器,现在我想用真实数据来试试。我有一个 .ts 文件,我有密钥。我要做的就是检查我的代码是否可以解扰,即使单帧对我来说也足够了。我可以通过使用软件跟踪 PID 来获取 ES 位,但是当我逐位直接复制粘贴到文件上时,VLC 或任何其他播放器都不会播放它。

我该怎么办?如何可视化 ES 数据?

如果您能帮助我,我将不胜感激。

0 投票
1 回答
643 浏览

vlc - 从 .TS 文件批量获取电视节目名称

有没有办法从.TS格式的DVB录制中获取当前播放节目的名称?

VLC中,我可以在 Tile Bar 和“正在播放”中看到它,但在 MediaInfo 中,它显示了许多小时和节目,而不仅仅是正在播放的内容。

是否可以从VLC CLI获取该 Title ,并将其传递给BATCH文件中的 var ?

我使用Mediainfo CLI传递其他参数,但如果我在“菜单”部分查找它:

没有显示,我找不到正确的参数来获取电视节目的标题(尽管它可能会显示所有的时间和节目,而不是当前的)。

所以,我想知道我是否可以使用VLC CLIMediaInfo CLI或其他CLI软件来做到这一点。

谢谢!

0 投票
1 回答
1865 浏览

dvb - 为什么在 DVB-T 中同时使用 Viterbi 和 Reed-Solomon?

据我了解,DVB-T数据包通过两个FEC系统,分别是Viterbi,数据丢失高达50%,RS,数据丢失高达10%。这些被称为外部和内部编码。

我无法理解第二个 RS 编码的必要性(在这种情况下,188 字节长的 MPEG-TS 数据包会额外增加 20 个字节)。

更具体地说,损坏的数据包会发生什么,例如 55%?50% 的错误是否由 Viterbi 解码器修复,剩余的 5% 由 RS 修复?

对不起我的愚蠢。

0 投票
1 回答
299 浏览

udp - GnuTV:无法通过 rtp/udp 流式传输视频

在我试过的服务器上:

但在客户端我无法接收流!

0 投票
1 回答
101 浏览

header - Mac 上的 DVB 标头

我试图在 Mac OS X 上安装一些适用于 Linux 的 DVB 电视软件。我有一些电视调谐器,它们在 Linux Ubuntu 上的工作比在带有 The Tube 应用程序的 Mac OS X 上工作得更好。MacPorts 或 Homebrew 上没有端口,我尝试安装 w_scan,但它需要安装 Linux DVB Headers。有没有办法构建和安装它们?谢谢

0 投票
0 回答
207 浏览

linux - 如何查询 Linux DVB 内核解复用缓冲区中的可用数据大小?

我正在使用 Linux-DVB 前端/解复用驱动程序对来获取从直播 TS 重新混合到用户空间的程序流。但是,我正在使用轮询/读取组合,以将上下文切换和内核到用户空间的复制惩罚保持在最低限度,我只想读取大于特定大小的数据。

我找不到任何方法来查询 demux 缓冲区中的可用数据大小,也找不到任何选项来指定轮询通知大小。

有人知道这样的功能吗?如果没有,在DVB api上有这样的功能要求是不是很不合理?

问候,