尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

FFmpeg开发笔记(八十八)基于Compose的国产电视直播开源框架MyTV

FFmpeg开发笔记(八十八)基于Compose的国产电视直播开源框架MyTV
📅 发布时间:2026/6/19 12:59:10
​MyTV是一款使用Android原生开发的网络直播软件,它的原理是接入网络上的直播推流链接,通过Android提供的ExoPlayer来播放直播节目。有关网络推拉流的直播技术可参考《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2  FFmpeg推流和拉流”。

MyTV的源码托管地址为https://github.com/yaoxieyoulei/mytv-android(星星数0.7k),国内的镜像地址为https://gitcode.com/gh_mirrors/my/mytv-android。最新版本是2024年12月发布的tv2.2.7,可见该框架的源码更新十分及时,该版本的源码下载链接为https://github.com/yaoxieyoulei/mytv-android/archive/refs/tags/tv2.2.7.tar.gz。
MyTV的源码采用Kotlin+Compose编写,适合Android开发者用作进阶练习,不过由于MyTV引入了最新的Android开发技术,因此需要使用较新的Android Studio才能成功导入运行。
这里以Android Studio Ladybug(小瓢虫版本)为例,介绍如何在App工程中运行MyTV,详细的操作步骤如下。

一、导入MyTV源码

解压下载后的MyTV源码,打开settings.gradle.kts,在两处repositories节点下都增加以下仓库配置:

// 以下四行添加阿里云的仓库地址,方便国内开发者下载相关插件
maven { url = uri("https://maven.aliyun.com/repository/jcenter") }
maven { url = uri("https://maven.aliyun.com/repository/google")}
maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin")}
maven { url = uri("https://maven.aliyun.com/repository/public")}

增加以上配置的目的是引入国内的仓库地址,以便加快相关依赖包的下载速度。

二、配置直播源

因为MyTV的视频源来自网络上的直播推流链接,所以只有提供有效的直播地址才能正常观看。直播源地址来自下面源码里的IPTV_SOURCE_URL变量:app\src\main\java\top\yogiczy\mytv\data\utils\Constants.kt。

const val IPTV_SOURCE_URL =
    "https://mirror.ghproxy.com/https://raw.githubusercontent.com/fanmingming/live/main/tv/m3u/ipv6.m3u"

如果发现无法浏览直播画面,就得检查Constants.kt里面IPTV_SOURCE_URL配置的URL地址能否正常访问。如果不能访问,就要替换成有效可用的IPTV源地址文件。

三、运行MyTV

解决了直播源的链接问题之后,把MyTV安装到手机上,启动App的初始界面如下图所示:​

mytv11

可见MyTV默认播放网络上的直播节目。上下滑动屏幕,可以切换直播频道,也可以点击菜单按钮,屏幕会弹出详细的设置菜单列表如下图所示,方便用户快速修改相关的直播设置信息。

​mytv12

当然,你也可以把MyTV安装到基于Android系统的智能电视上,MyTV的遥控器操作方式与主流电视直播软件类似;
1、频道切换:使用上下方向键,或者数字键切换频道;屏幕上下滑动;
2、频道选择:OK键;单击屏幕;
3、设置页面:按下菜单、帮助键,长按OK键;双击、长按屏幕;
若想收藏某个直播频道,可以打开应用选台界面,选中某一频道,长按OK键、长按屏幕,将收藏或取消收藏该频道。若想切换显示收藏列表,首先移动到频道列表顶部,然后再次按下方向键上,将切换显示收藏列表。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

相关新闻

  • 要靠什么生存
  • ESP32红外控制WS2812B灯带全攻略 - 指南
  • 【网络诊断】UDS诊断之负响应码

最新新闻

  • 2026年6月最新浪琴中国官方售后网点客户电话服务热线地址 - 浪琴服务中心
  • 2026宁波废品回收排行榜TOP5,这些电话你打对了吗? - 速递信息
  • DeepSeek-V4推理效率革命:CSA+HCA混合注意力与mHC流形连接实战解析
  • ZenlessZoneZero-OneDragon:基于模块化架构的游戏自动化框架深度解析
  • 杭州营业性演出许可证代办公司推荐哪家靠谱 - 速递信息
  • 全家共用洗发水怎么选?蔚海棠大容量款实测体验 - 新闻快传

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号