【问题标题】:How to create a tv tuner library for android?如何为 android 创建一个电视调谐器库?
【发布时间】:2018-11-10 10:00:35
【问题描述】:

我有一个 K1 Plus android 盒子,里面有一个内置的 dvb-t2` 和 dvb-s2 调谐器。我想创建一个应用程序来获取并显示来自这些调谐器的频道。

起初,我发现了关于android的TV Input Framework(TIF)。示例应用程序通过调用获取设备可用输入的方法不断崩溃。然后,发现它只适用于真正的Android TVs。我为那个 android 盒子寻找 android 库,但没有找到任何东西。我寻找可以访问调谐器的 c 库,但也没有找到任何东西。我查找了有关如何访问 android 设备的硬件组件的代码,但没有找到任何东西。我最近发现了https://opencv.org/。我还没有阅读有关它的所有内容,所以我真的不知道如何使用它。

我从一个 SO question 的答案中发现了 https://git.linuxtv.org/v4l-utils.git,但它似乎只能在将其安装到操作系统后才能使用。我能够在 android 上使用 CMake 编译它,但它缺少头文件。 我还找到了http://android4tv.iwedia.com。不幸的是,它也在使用TIF

我正在尝试创建类似 kodi 的东西,但我发现它并不是真正获取频道的东西,而是 kodi 是从受支持的 iptv 盒子中获取的。我对编写C 的知识为零,但我会尝试编写代码。

顺便说一句,这是盒子。 http://www.videostrong.com/S905D+DVB(KI%20PLUS)/55.html

根据我的研究,我发现了 HAL(Hardware Abstraction Layer)。我需要它来制作我的C 代码吗?

更新:

经过数月的研究并没有找到任何快速的方法来实现电视调谐器库,我回到了以前研究的书签。其中之一是this。该 SO 答案的第一步是在设备上执行ls /dev/dvb/。因为我需要在android盒子本身上做,所以我研究了android终端应用程序并找到了Termux。然后我在 Termux 上执行了ls /dev/dvb/ 命令,它告诉我找不到该资源或它不存在。然后我尝试执行ls /dev/ 命令,幸运的是我得到了结果。其中有很多,我发现了一些与 dvb 相关的东西。

dvb相关结果为:

dvb0.demux0
dvb0.demux1
dvb0.demux2
dvb0.dsc0
dvb0.dsc1
dvb0.dvr0
dvb0.dvr1
dvb0.dvr2
dvb0.net0
dvb0.net1
dvb0.net2

我可以发布整个列表,但我会发布这个更相关(我认为)的结果。 结果与上面链接的示例完全不同,因为它们只使用了 dvb 而不是 dvb0。

更新:

根据对我的建议,我现在可能会使用 USB 电视调谐器。

更新:

是否有我可以查看的标准和电视调谐器相关的 USB 字节 [] 命令列表?我已经看到了一些,但它们主要用于 FTDI、串行或真正标准的命令,我真的没有任何用处。

【问题讨论】:

    标签: android c cmake


    【解决方案1】:

    可能需要大量的逆向工程或泄露的文档才能实现您想要做的事情。

    the one you are working 这样的设备通常使用专有硬件和专有驱动程序来实现 DVB 等功能,因此为电视调谐器制作第三方应用程序非常困难。

    首先,您需要了解这个Android盒子有什么样的DVB芯片/卡。 然后,您需要弄清楚它是如何(在什么样的 BUS 上)连接到系统的。

    如果它是通用的,您可以与它的驱动程序对话,如果不是,您需要编写自己的驱动程序。

    这太复杂了,无法在 SO 帖子中解释,但您可以先打开盒子查看组件,或通过 ADB 运行 lsusb 等命令来尝试识别 DVB 组件。

    如果设备已经有 DVB 应用程序,您可以尝试将其拆解,以了解其工作原理。

    祝你好运!

    【讨论】:

    • 哦,我明白了。我不知道这将是一项非常艰巨的任务。我知道我需要 c 但不知道我需要拆卸设备本身。
    • 您能通过电子邮件向我发送有关此问题的其他详细信息吗?所以我可以对如何做到这一点有更多的想法。我已经了解了我需要做的事情,但是了解更多关于我需要做的任务的信息也不错。
    • 您认为单个 DVB-T(2) 源代码可以在每个 DVB-T(2) 设备上运行吗?
    • @rminaj 这取决于这种硬件的标准化程度。可能会有一些相同或相似的部分,但更有可能其他部分会根据设备或芯片制造商而有所不同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多