【音视频】M3U8与HLS详解
创始人
2024-09-25 16:24:09
0

文章目录

  • 前言
    • M3U8详解
      • M3U8 是什么
      • M3U8 文件的组成部分
      • 示例 M3U8 文件
    • HLS
      • HLS(HTTP Live Streaming)视频封装格式
        • HLS 视频封装格式的主要组成部分
      • 示例 HLS 主播放列表文件(Master Playlist)
      • 示例 HLS 媒体播放列表文件(Media Playlist)
      • HLS 封装格式的特点
      • HSL(HTTP Stream Live)的视频封装格式
      • TS 文件介绍
      • TS 文件的优势
      • HLS 使用 TS 视频文件的原因
      • 示例 TS 文件结构
  • 总结


前言

M3U8 和 HLS 是音视频流媒体领域中常见的技术,广泛应用于在线视频点播(VOD)和直播(Live)场景。M3U8 是一种基于文本的播放列表文件格式,主要用于描述媒体文件的位置和顺序,而 HLS(HTTP Live Streaming)是一种流媒体传输协议,由 Apple 公司提出。HLS 使用 M3U8 文件来管理和播放流媒体内容,能够适应不同的网络环境,实现高质量、低延迟的流媒体传输。


M3U8详解

M3U8 是什么

M3U8 是一种基于文本的文件格式,用于描述音视频文件的播放列表。它是 M3U 文件的一种扩展,M3U 文件主要用于音频播放列表,而 M3U8 则用于音视频流媒体播放。M3U8 文件使用 UTF-8 编码,通常用于 HTTP Live Streaming (HLS) 协议中,作为媒体分片的索引文件。

M3U8 文件的组成部分

一个典型的 M3U8 文件包含多个标签,每个标签都以井号(#)开头。以下是 M3U8 文件的主要组成部分:

  1. 文件头

    • #EXTM3U:所有 M3U8 文件的起始标签,表明这是一个 M3U8 文件。
  2. 基本标签

    • #EXTINF:,</code>:描述媒体分片的信息。<code><duration></code> 是分片的时长(以秒为单位),<code><title></code> 是可选的分片标题。</li><li>URL:实际媒体文件的位置,通常紧跟在 <code>#EXTINF</code> 标签之后。</li></ul></li><li><p><strong>可选标签</strong></p><ul><li><code>#EXT-X-TARGETDURATION:<seconds></code>:指定媒体分片的最大时长。</li><li><code>#EXT-X-MEDIA-SEQUENCE:<number></code>:定义播放列表中第一个分片的序列号。</li><li><code>#EXT-X-VERSION:<number></code>:指定播放列表文件的协议版本。</li><li><code>#EXT-X-ALLOW-CACHE:<YES|NO></code>:指示客户端是否可以缓存播放列表文件。</li><li><code>#EXT-X-ENDLIST</code>:指示播放列表的结束,常用于点播流。</li><li><code>#EXT-X-KEY:<attributes></code>:描述用于解密媒体分片的密钥信息,包含多个属性(如方法、URI 等)。</li><li><code>#EXT-X-STREAM-INF:<attributes></code>:用于描述变码率(多码率)流信息,包含分辨率、带宽等属性。</li></ul></li></ol><h4>示例 M3U8 文件</h4> <pre><code class="prism language-plaintext">#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, http://example.com/segment0.ts #EXTINF:10.0, http://example.com/segment1.ts #EXTINF:10.0, http://example.com/segment2.ts #EXT-X-ENDLIST </code></pre> <p>以上示例展示了一个简单的 M3U8 文件,其中包含版本信息、目标时长、媒体序列号和三个媒体分片。每个分片的时长为 10 秒,URL 指向实际的媒体文件位置。最后,<code>#EXT-X-ENDLIST</code> 标签表示播放列表的结束。</p><h3>HLS</h3><h4>HLS(HTTP Live Streaming)视频封装格式</h4><p>HLS(HTTP Live Streaming)是由 Apple 公司开发的一种流媒体传输协议,广泛用于直播和点播视频流的传输。HLS 协议将视频文件分割成一系列较小的媒体文件(通常称为分片),通过 HTTP 进行传输,并使用 M3U8 播放列表文件来管理这些分片。</p><h5>HLS 视频封装格式的主要组成部分</h5><ol><li><p><strong>M3U8 播放列表文件</strong></p><ul><li><strong>Master Playlist(主播放列表)</strong>:用于描述不同比特率和分辨率的变码率流,每个流有一个相应的 Media Playlist。</li><li><strong>Media Playlist(媒体播放列表)</strong>:包含实际的媒体分片的 URL 和相关信息。每个分片的 URL 通常紧跟在 <code>#EXTINF</code> 标签之后。</li></ul></li><li><p><strong>媒体分片</strong></p><ul><li><strong>.ts 文件(MPEG-TS)</strong>:HLS 主要使用 MPEG-TS(MPEG Transport Stream)格式来封装视频和音频数据。每个 .ts 文件是一个视频分片,包含一段视频和音频数据。</li><li><strong>.aac 文件</strong>:在某些情况下,音频数据也可以单独存储为 .aac 文件。</li></ul></li></ol><h4>示例 HLS 主播放列表文件(Master Playlist)</h4> <pre><code class="prism language-plaintext">#EXTM3U #EXT-X-STREAM-INF:BANDWIDTH=1280000,RESOLUTION=640x360 http://example.com/low.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2560000,RESOLUTION=1280x720 http://example.com/mid.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=5120000,RESOLUTION=1920x1080 http://example.com/high.m3u8 </code></pre> <h4>示例 HLS 媒体播放列表文件(Media Playlist)</h4> <pre><code class="prism language-plaintext">#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, http://example.com/segment0.ts #EXTINF:10.0, http://example.com/segment1.ts #EXTINF:10.0, http://example.com/segment2.ts #EXT-X-ENDLIST </code></pre> <h4>HLS 封装格式的特点</h4><ul><li><strong>分段传输</strong>:将视频文件分割成小的分片文件,便于在不稳定的网络环境下进行传输。</li><li><strong>自适应比特率</strong>:支持不同比特率和分辨率的流,客户端可以根据网络状况动态选择合适的流进行播放。</li><li><strong>基于 HTTP 传输</strong>:使用标准的 HTTP 协议进行传输,兼容性强,易于通过 CDN(内容分发网络)进行分发。</li></ul><h4>HSL(HTTP Stream Live)的视频封装格式</h4><p>目前并没有广泛承认的 HSL(HTTP Stream Live)作为一种独立的流媒体传输协议,HLS(HTTP Live Streaming)是标准且被广泛应用的协议。HLS 已经被许多视频流媒体服务和播放器广泛支持。如果您指的是某种自定义或特定公司的流媒体技术,可能需要具体说明其详细信息。</p><p>总结而言,HLS 是一种成熟且广泛应用的流媒体传输协议,使用 M3U8 播放列表文件和 MPEG-TS 分片文件来实现稳定、高效的流媒体播放。</p><h4>TS 文件介绍</h4><p>TS(Transport Stream,传输流)文件是一种用于多媒体数据传输和存储的容器格式。TS 文件主要用于传输和存储视频、音频和数据,特别是在广播和流媒体应用中。MPEG-TS(MPEG Transport Stream)是 TS 文件的一个常见实现,它是一种标准化的数字容器格式,用于传输音频、视频和数据。TS 文件格式设计目的是在不可靠的传输介质(如广播网络或互联网)上提供可靠的传输。</p><h4>TS 文件的优势</h4><ol><li><p><strong>抗误码能力强</strong>:TS 文件设计用于在不可靠的传输介质上工作,具有很强的纠错能力,能够在传输过程中有效应对数据丢失和错误。</p></li><li><p><strong>实时传输</strong>:TS 文件支持实时数据流传输,适合用于直播和流媒体应用,能够保证数据的实时性。</p></li><li><p><strong>灵活的多路复用</strong>:TS 文件可以包含多个音视频流和数据流,并且可以灵活地进行多路复用和解复用,支持多种分辨率和比特率的组合。</p></li><li><p><strong>同步性好</strong>:TS 文件格式通过时间戳(PTS/DTS)保证了音频和视频流的同步,确保了播放过程中的同步性和一致性。</p></li><li><p><strong>标准化</strong>:MPEG-TS 是国际标准,得到广泛支持和应用,兼容性好,能够与多种硬件和软件设备配合使用。</p></li></ol><h4>HLS 使用 TS 视频文件的原因</h4><ol><li><p><strong>广泛支持</strong>:MPEG-TS 是一个成熟的国际标准,得到了广泛的支持。几乎所有的流媒体服务器和播放器都支持 TS 文件格式,使其成为流媒体传输的理想选择。</p></li><li><p><strong>分片传输</strong>:HLS 协议将视频流分割成多个小的 TS 分片,每个分片包含几秒钟的视频和音频数据。这样可以在网络环境不稳定的情况下,逐片传输和播放,减少播放中断的可能性。</p></li><li><p><strong>实时性</strong>:TS 文件格式支持实时流媒体传输,适合用于直播等需要实时传输的场景。HLS 使用 TS 文件可以保证数据的实时传输和播放。</p></li><li><p><strong>纠错能力</strong>:由于 TS 文件具有很强的纠错能力,能够在传输过程中应对数据丢失和错误,确保传输的可靠性和数据的完整性。</p></li><li><p><strong>多路复用和同步</strong>:TS 文件支持多路复用,可以在一个文件中同时包含多个音视频流和数据流。通过时间戳(PTS/DTS),TS 文件能够保证音视频的同步播放,提供良好的用户体验。</p></li></ol><h4>示例 TS 文件结构</h4><p>TS 文件由多个固定大小(188 字节)的数据包组成,每个数据包包含头部和有效负载。头部通常包含同步字节、标志和 PID(Packet Identifier),用于标识和管理不同的流。</p> <pre><code class="prism language-plaintext">| 188 bytes TS Packet | |----------------------| | Sync Byte | Header | Payload | </code></pre> <hr /><h2>总结</h2><p>M3U8 和 HLS 是现代流媒体技术的核心组成部分,它们通过简便的播放列表格式和高效的传输协议,实现了稳定、灵活的音视频播放体验。M3U8 文件提供了对媒体资源的详细描述,而 HLS 则通过分段传输和自适应比特率技术,保证了在各种网络条件下的流畅播放。随着流媒体应用的不断发展,M3U8 和 HLS 的使用场景将更加广泛,为用户提供更好的音视频服务。</p><link href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/markdown_views-f23dff6052.css" rel="stylesheet"><link href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/style-c216769e99.css" rel="stylesheet"> <!--end::Text--> </div> <!--end::Description--> <div class="mt-5"> <!--关键词搜索--> </div> <div class="mt-5"> <p class="fc-show-prev-next"> <strong>上一篇:</strong><a href="/dnzs/34418.html">Qt框架下实现商品库存管理系统</a><br> </p> <p class="fc-show-prev-next"> <strong>下一篇:</strong><a href="/dnzs/34420.html">4、设备树(DT)</a> </p> </div> <!--begin::Block--> <div class="d-flex flex-stack mb-2 mt-10"> <!--begin::Title--> <h3 class="text-dark fs-5 fw-bold text-gray-800">相关内容</h3> <!--end::Title--> </div> <div class="separator separator-dashed mb-9"></div> <!--end::Block--> <div class="row g-10"> </div> </div> <!--end::Table widget 14--> </div> <!--end::Col--> <!--begin::Col--> <div class="col-xl-4 mt-0"> <!--begin::Chart Widget 35--> <div class="card card-flush h-md-100"> <!--begin::Header--> <div class="card-header pt-5 "> <!--begin::Title--> <h3 class="card-title align-items-start flex-column"> <!--begin::Statistics--> <div class="d-flex align-items-center mb-2"> <!--begin::Currency--> <span class="fs-5 fw-bold text-gray-800 ">热门资讯</span> <!--end::Currency--> </div> <!--end::Statistics--> </h3> <!--end::Title--> </div> <!--end::Header--> <!--begin::Body--> <div class="card-body pt-3"> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250203.html" class="text-dark fw-bold text-hover-primary fs-6">科普教程!炸金花链接房卡怎么搞...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">微信游戏中心:新大海在哪里买打开微信,添加客服【8488009】,进入游戏中心或相关小程序,搜索“微...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250201.html" class="text-dark fw-bold text-hover-primary fs-6">玩家攻略,金花房卡制作链接大圣...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">微信游戏中心:大圣大厅/新西部房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('https://img.pic99.top/ittdroid/202509/c4c43bb8286e801.jpg')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250197.html" class="text-dark fw-bold text-hover-primary fs-6">安卓系统换苹果数据怎么,安卓到...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">你是不是也和我一样,从安卓系统跳到了苹果的怀抱?换系统后,是不是发现手机里的数据怎么也迁移不过来?别...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250199.html" class="text-dark fw-bold text-hover-primary fs-6">秒懂百科”牛牛是如何购买的“新...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">是如何购买的是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:113857776许多玩家在游戏中会购买...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250194.html" class="text-dark fw-bold text-hover-primary fs-6">科普教程!拼三张链接房卡怎么搞...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">微信游戏中心:新蛮王在哪里买打开微信,添加客服【33903369】,进入游戏中心或相关小程序,搜索“...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('https://img.pic99.top/ittdroid/202509/eee21d1417a8da6.jpg')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250193.html" class="text-dark fw-bold text-hover-primary fs-6">正规平台有哪些,金花房卡制作链...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">毛豆互娱房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250191.html" class="text-dark fw-bold text-hover-primary fs-6">一秒了解”新详心房卡客服“人海...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">一秒了解”新详心房卡客服“人海大厅房卡充值微信房卡充值 添加房卡批售商:微【113857776】复制...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250190.html" class="text-dark fw-bold text-hover-primary fs-6">我来教你/牛牛房卡制作链接嫦娥...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">微信游戏中心:嫦娥大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250186.html" class="text-dark fw-bold text-hover-primary fs-6">推荐一款!游戏推荐牛牛房卡出售...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">您好!微信烛龙大厅/新道游大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(烛龙大厅/新...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250185.html" class="text-dark fw-bold text-hover-primary fs-6">实测分享”新神牛房卡“先锋大厅...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">来教大家如何使用房卡充值房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添加房...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250184.html" class="text-dark fw-bold text-hover-primary fs-6">一分钟了解!斗牛房间怎么创建的...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">今 日消息,火神大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250179.html" class="text-dark fw-bold text-hover-primary fs-6">1分秒分析”新众亿怎么买房卡“...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">来教大家如何使用怎么买房卡房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添加...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250173.html" class="text-dark fw-bold text-hover-primary fs-6">玩家须知”新下游是如何购买的“...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">玩家须知”新下游是如何购买的“牛牛房卡充值游戏中心打开微信,添加客服【113857776】,进入游戏...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250174.html" class="text-dark fw-bold text-hover-primary fs-6">头条推荐!牛牛房卡代理火星大厅...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">今 日消息,火星大厅/新道游房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('https://img.pic99.top/ittdroid/202509/eee21d1417a8da6.jpg')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250172.html" class="text-dark fw-bold text-hover-primary fs-6">头条推荐!金花房卡批发价老神兽...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">老神兽/海贝大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250169.html" class="text-dark fw-bold text-hover-primary fs-6">科技实测!游戏推荐牛牛房卡出售...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">大众互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250168.html" class="text-dark fw-bold text-hover-primary fs-6">秒懂百科”黄帝大厅房卡购买“卡...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">来教大家如何使用房卡充值房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添加房...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250166.html" class="text-dark fw-bold text-hover-primary fs-6">头条推荐!游戏推荐牛牛房卡出售...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">头条推荐!游戏推荐牛牛房卡出售皇豪互娱/新道游/房卡怎么搞Sa9Ix苹果iPhone 17手机即将进...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('/static/assets/images/nopic.gif')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250164.html" class="text-dark fw-bold text-hover-primary fs-6">正规平台有哪些,金花房卡怎么购...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">您好!微信牛魔王/皇豪互娱大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(牛魔王/皇豪...</span> </div> <!--end::Title--> </div> <!--begin::Item--> <div class="d-flex flex-stack mb-7"> <!--begin::Symbol--> <div class="symbol symbol-60px symbol-2by3 me-4"> <div class="symbol-label" style="background-image: url('https://img.pic99.top/ittdroid/202509/ec8bc32e4d7296e.jpg')"></div> </div> <!--end::Symbol--> <!--begin::Title--> <div class="m-0"> <a href="/dnzs/250165.html" class="text-dark fw-bold text-hover-primary fs-6">安卓系统引导加载程序,揭秘启动...</a> <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">你有没有想过,当你打开手机的那一刻,安卓系统引导加载程序(Bootloader)是如何悄无声息地为你...</span> </div> <!--end::Title--> </div> </div> <!--end::Body--> </div> <!--end::Chart Widget 35--> </div> <!--end::Col--> </div> </div> <!--end::Content container--> </div> <!--end::Content--> </div> <!--end::Content wrapper--> <!--begin::Footer--> <div id="kt_app_footer" class="app-footer"> <!--begin::Footer container--> <div class="app-container container-xxl d-flex flex-column flex-md-row flex-center flex-md-stack py-3"> <!--begin::Copyright--> <div class="text-dark order-2 order-md-1"> <span class="text-muted fw-semibold me-1">2025 ©</span> 泰达科技网<a href="http://tansuo.caiding5.cn/">财丁探索</a><a href="http://www.hgjy100.com/">汉高教育网</a><a href="http://www.bitekongjian.com/">比特空间</a><a href="http://www.tdroid.net/">太卓网</a><a href="http://www.nengyuan100.com/">能源100</a><a href="http://www.gangyiku.com/">易库网</a><a href="http://www.hcygmm.com/">汇川网</a><a href="http://www.dcglq.cn/">电池功率网</a> </div> <!--end::Copyright--> <!--begin::Menu--> <ul class="menu menu-gray-600 menu-hover-primary fw-semibold order-1"> <li class="menu-item"> <a href="/news/" target="_blank" class="menu-link px-2">科技资讯</a> </li> <li class="menu-item"> <a href="/dnzs/" target="_blank" class="menu-link px-2">电脑知识</a> </li> </ul> <!--end::Menu--> </div> <!--end::Footer container--> </div> <!--end::Footer--> </div> <!--end:::Main--> </div> <!--end::Wrapper--> </div> <!--end::Page--> </div> <!--end::App--> <div id="kt_scrolltop" class="scrolltop" data-kt-scrolltop="true"> <!--begin::Svg Icon | path: icons/duotune/arrows/arr066.svg--> <span class="svg-icon"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect opacity="0.5" x="13" y="6" width="13" height="2" rx="1" transform="rotate(90 13 6)" fill="currentColor"></rect> <path d="M12.5657 8.56569L16.75 12.75C17.1642 13.1642 17.8358 13.1642 18.25 12.75C18.6642 12.3358 18.6642 11.6642 18.25 11.25L12.7071 5.70711C12.3166 5.31658 11.6834 5.31658 11.2929 5.70711L5.75 11.25C5.33579 11.6642 5.33579 12.3358 5.75 12.75C6.16421 13.1642 6.83579 13.1642 7.25 12.75L11.4343 8.56569C11.7467 8.25327 12.2533 8.25327 12.5657 8.56569Z" fill="currentColor"></path> </svg> </span> <!--end::Svg Icon--> </div> <!--begin::Javascript--> <script>var hostUrl = "/static/default/pc/";</script> <!--begin::Global Javascript Bundle(mandatory for all pages)--> <script src="/static/default/pc/plugins/global/plugins.bundle.js"></script> <script src="/static/default/pc/js/scripts.bundle.js"></script> <!--end::Global Javascript Bundle--> <!--end::Javascript--> </body> <!--end::Body--> </html>