1. 主页 > 用户投稿

m3u8是什么文件(M3U8音视频流媒体文件格式剖析)

M3U8背景介绍

M3U8,用 UTF-8 编码。"M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础;是 Unicode 版本的 M3U。

M3U8文件是M3U文件的一种,只不过它的编码格式是UTF-8。M3U使用Latin-1字符集编码。M3U的全称是Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator,即mp3 URL。M3U是纯文本文件;

所以UTF-8编码的M3U文件也简称为 M3U8;

HLS 是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。M3U8只是它具体的表现形式,下面我们都称为HLS格式。

HLS 的工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的 extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。

HLS 只请求基本的 HTTP 报文,与实时传输协议(RTP)不同,HLS 可以穿过任何允许 HTTP 数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。这是HLS应用在直播上的一大优势。

如果在直播中使用HLS技术,那么执行流程如下:图片来源于苹果官网;

我们播放一个HLS,首先要对HLS流对应的M3U8文件进行解析,解析M3U8文件,首先要搞清楚M3U8的封装格式。

音视频开发资料包音视频流媒体高级开发
FFmpegWebRTCRTMPRTSPHLSRTP播放器

M3U8格式解析

HLS流可以用于直播,也可以用于点播;这点很重要,开头的那张图千万别让你误会,M3U8是可以用作点播的。

M3U8 文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。

1.M3U8类型

当 M3U8 文件作为媒体播放列表(Media Playlist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源。其格式如下所示:

#EXTM3U#EXT-X-TARGETDURATION:10#EXTINF:9.009,http://media.example.com/first.ts#EXTINF:9.009,http://media.example.com/second.ts#EXTINF:3.003,http://media.example.com/third.ts#EXT-X-ENDLIST

当 M3U8 作为主播放列表(Master Playlist)时,其内部提供的是同一份媒体资源的多份流列表资源。其格式如下所示:

#EXTM3U#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"http://example.com/low/index.m3u8#EXT-X-STREAM-INF:BANDWIDTH=240000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"http://example.com/lo_mid/index.m3u8#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"http://example.com/hi_mid/index.m3u8#EXT-X-STREAM-INF:BANDWIDTH=640000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"http://example.com/high/index.m3u8#EXT-X-STREAM-INF:BANDWIDTH=64000,CODECS="mp4a.40.5"http://example.com/audio/index.m3u8#EXT-X-ENDLIST

2.M3U8基本字段

#EXTM3U                    M3U8文件头,必须放在第一行;#EXT-X-MEDIA-SEQUENCE      第一个TS分片的序列号,一般情况下是0,但是在直播场景下,这个序列号标识直播段的起始位置; #EXT-X-MEDIA-SEQUENCE:0#EXT-X-TARGETDURATION      每个分片TS的最大的时长;   #EXT-X-TARGETDURATION:10     每个分片的最大时长是 10s#EXT-X-ALLOW-CACHE         是否允许cache;          #EXT-X-ALLOW-CACHE:YES      #EXT-X-ALLOW-CACHE:NO    默认情况下是YES#EXT-X-ENDLIST             M3U8文件结束符;#EXTINF                    extra info,分片TS的信息,如时长,带宽等;一般情况下是    #EXTINF:,[] 后面可以跟着其他的信息,逗号之前是当前分片的ts时长,分片时长 移动要小于 <span>#E</span>XT-X-TARGETDURATION 定义的值;<span>#E</span>XT-X-VERSION             M3U8版本号<span>#E</span>XT-X-DISCONTINUITY       该标签表明其前一个切片与下一个切片之间存在中断。下面会详解<span>#E</span>XT-X-PLAYLIST-TYPE       表明流媒体类型;<span>#E</span>XT-X-KEY                 是否加密解析,    <span>#E</span>XT-X-KEY:METHOD=AES-<span>128</span>,URI=<span>"https://priv.example.com/key.php?r=52"</span>    加密方式是AES-<span>128</span>,秘钥需要请求   https://priv.example.com/key.php?r=<span>52</span>  ,请求回来存储在本地;</code></pre><p><em><span>3.如何判断M3U8是否直播</span></em></p><ul><li data-track="21"><span>1.判断是否存在 #EXT-X-ENDLIST</span></li></ul><p><span>对于一个M3U8文件,如果结尾不存在 #EXT-X-ENDLIST,那么一定是 直播,不是点播;</span></p><ul><li data-track="23"><span>2.判断 #EXT-X-PLAYLIST-TYPE 类型</span></li></ul><p><span>'#EXT-X-PLAYLIST-TYPE' 有两种类型,</span></p><p><span>VOD 即 Video on Demand,表示该视频流为点播源,因此服务器不能更改该 M3U8 文件;</span></p><p><span>EVENT 表示该视频流为直播源,因此服务器不能更改或删除该文件任意部分内容(但是可以在文件末尾添加新内容)(注:VOD 文件通常带有 EXT-X-ENDLIST 标签,因为其为点播片源,不会改变;而 EVEVT 文件初始化时一般不会有 EXT-X-ENDLIST 标签,暗示有新的文件会添加到播放列表末尾,因此也需要客户端定时获取该 M3U8 文件,以获取新的媒体片段资源,直到访问到 EXT-X-ENDLIST 标签才停止)。</span></p><p><em><span>4.M3U8多码率</span></em></p><p><span>上面的Master Playlist 就是会提供 多码率的列表资源,如下:</span></p><pre class="syl-page-code hljs cs"><code><span>#EXTM3U</span><span>#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"</span>http:<span>//example.com/low/index.m3u8</span><span>#EXT-X-STREAM-INF:BANDWIDTH=240000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"</span>http:<span>//example.com/lo_mid/index.m3u8</span><span>#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"</span>http:<span>//example.com/hi_mid/index.m3u8</span><span>#EXT-X-STREAM-INF:BANDWIDTH=640000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"</span>http:<span>//example.com/high/index.m3u8</span><span>#EXT-X-STREAM-INF:BANDWIDTH=64000,CODECS="mp4a.40.5"</span>http:<span>//example.com/audio/index.m3u8</span><span>#EXT-X-ENDLIST</span></code></pre><p><span>'#EXT-X-STREAM-INF' 字段后面有:</span></p><p><span>BANDWIDTH 指定码率</span></p><p><span>RESOLUTION 分辨率</span></p><p><span>PROGRAM-ID 唯一ID</span></p><p><span>CODECS 指定流的编码类型</span></p><p><span>码率、码流是同一个概念,是数据传输时单位时间传送的数据量,一般用单位kbps表示。</span></p><p><span>视频码率就是指视频文件在单位时间内使用的数据量。简单理解就是要播放一秒的视频需要多少数据,从这个角度就不难理解通常码率越高视频质量也越好,相应的文件体积也会越大。码率、视频质量、文件体积是正相关的。但当码率超过一定数值后,对图像的质量影响就不大了。几乎所有的编码算法都在追求用最低的码率达到最少的失真(最好的清晰度)。</span></p><p><em><span>5.如何在M3U8中插入广告</span></em></p><p><span>M3U8文件中插入广告,要想灵活的控制广告,则广告可以插入任何视频中,那么无法保证广告的编码格式和码率等信息和原视频的编码格式等信息保持一致,就必须告知播放器,在插入广告的地方,ts片段发生的信息变更,需要播放器适配处理。</span></p><p><span>'#EXT-X-DISCONTINUITY' 该标签表明其前一个切片与下一个切片之间存在中断。说明有不连续的视频出现,这个视频绝大多数情况下就是广告; '#EXT-X-DISCONTINUITY' 这个字段就是来做这个事情的;</span></p><p><span>下面展示一个插入广告的例子:</span></p><pre class="syl-page-code hljs css"><code><span>#EXTM3U</span><span>#EXT-X-TARGETDURATION</span><span>:10</span><span>#EXT-X-VERSION</span><span>:4</span><span>#EXT-X-MEDIA-SEQUENCE</span><span>:0</span><span>#EXTINF</span><span>:10.0</span>,<span>movieA</span><span>.ts</span><span>#EXTINF</span><span>:10.0</span>,<span>movieB</span><span>.ts</span> ...<span>#EXT-X-ENDLIST</span></code></pre><p><span>想在开头插入广告:</span></p><pre class="syl-page-code hljs css"><code><span>#EXTM3U</span><span>#EXT-X-TARGETDURATION</span><span>:10</span><span>#EXT-X-VERSION</span><span>:4</span><span>#EXT-X-MEDIA-SEQUENCE</span><span>:0</span><span>#EXTINF</span><span>:10.0</span>,<span>ad0</span><span>.ts</span><span>#EXTINF</span><span>:8.0</span>,<span>ad1</span><span>.ts</span><span>#EXT-X-DISCONTINUITY</span><span>#EXTINF</span><span>:10.0</span>,<span>movieA</span><span>.ts</span><span>#EXTINF</span><span>:10.0</span>,<span>movieB</span><span>.ts</span>...<span>#EXT-X-ENDLIST</span></code></pre><p><span>当然你可以在任意位置插入广告。</span></p><p><span><span>HLS协议草案:HLS协议中还有很多字段,但是有些字段其实就是协议,在实际应用中并不大;大家可以参考看看;<br>https://tools.ietf.org/html/rfc8216</span></span></p><p><strong><span>M3U8实战</span></strong></p><p><span>将一个mp4视频转化为m3u8视频:</span></p><pre class="syl-page-code hljs css"><code><span>ffmpeg</span> <span>-re</span> <span>-i</span> <span>test</span><span>.mp4</span> <span>-c</span> <span>copy</span> <span>-f</span> <span>hls</span> <span>-bsf</span><span>:v</span> <span>h264_mp4toannexb</span> <span>test</span><span>.m3u8</span></code></pre><img src="https://oss.xajjn.com/article/2023/05/06/1654491383.jpg" /><p></p><p><span>生成了一个m3u8和很多ts分片:</span></p><img src="https://oss.xajjn.com/article/2023/05/06/1654491384.jpg" /><p></p><p><span>但是生成的test.m3u8发现了问题,如下,才有5个分片。这是因为ffmpeg 默认的list size 为5,所以只获得最后的5个片段。</span></p><img src="https://oss.xajjn.com/article/2023/05/06/1654491385.jpg" /><p></p><p><span>要想解决这个问题,需要指定参数-hls_list_size 0,这样就能包含所有的片段。加上 </span><em><span>-hls_list_size 0</span></em></p><pre class="syl-page-code hljs css"><code><span>ffmpeg</span> <span>-re</span> <span>-i</span> <span>test</span><span>.mp4</span> <span>-c</span> <span>copy</span> <span>-f</span> <span>hls</span> <span>-hls_list_size</span> 0  <span>-bsf</span><span>:v</span> <span>h264_mp4toannexb</span> <span>test</span><span>.m3u8</span></code></pre><p><span>为什么还要加上参数-bsf:v h264_mp4toannexb ?</span></p><p><span>这个参数的作用是将MP4中的H.264数据转换成为H.264 AnnexB标准的编码,AnnexB标准的编码常见于实时传输流中。如果源文件为FLV、TS等可以作为直播传输流的视频,则不需要这个参数。</span></p><p><em><strong><span>这也非常强烈地说明了MP4不是流式文件,不能作为直播使用。</span></strong></em></p><p><strong><span>学习思考</span></strong></p><p><strong><span>1.视频广告</span></strong></p><p><span>目前M3U8视频占我们线上视频的比例是近60%,量非常大,我们可以在M3U8视频中任意位置插入一些广告,为探索商业化开辟新的路。</span></p><p><strong><span>2.为什么M3U8中分片使用TS不用MP4</span></strong></p><p><span>这是因为两个 TS 片段可以无缝拼接,播放器能连续播放,而 MP4 文件由于编码方式的原因,两段 MP4 不能无缝拼接,播放器连续播放两个 MP4 文件会出现破音和画面间断,影响用户体验。而且如果要在一段长达一小时的视频中跳转,如果使用单个 MP4 格式的视频文件,如果也用 HTTP 协议,那么需要代理服务器支持 HTTP range request 获取大文件中的一部分。这样的话,对于代理服务器的性能来说要求较高。而 HTTP Live Streaming 则只需要根据列表文件中的时间轴找出对应的 TS 片段下载即可,不需要 range request,对代理服务器的要求小很多。</span><strong><span>所有代理服务器都支持小文件的高效缓存。</span></strong></p>            <div class="entry-copyright">
              <p>本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 203304862@qq.com </p>
              <p>本文链接:https://jinnalai.com/n/262860.html</p>
            </div>
          </div>
          <div class="entry-footer">
            <div class="entry-tag">  <a href='/tags/40664.html'>m3u8是什么文件</a>  <a href='/tags/40665.html'>M3U8音视频流媒体文件格式剖析</a>  </div>
            <div class="entry-bar">
              <div class="entry-bar-inner clearfix">
                <div class="info text-center">
                  <div class="info-item act"> <a href="javascript:;" id="j-reading"><i class="fa fa-file-text"></i></a> </div>
                </div>
              </div>
            </div>
            <div class="entry-page">               <div class="entry-page-prev j-lazy" style="background-image: url(/template/muban/pc/skin/images/lazy.png);"> <a href="/n/262859.html"><span>电脑怎么连接外放音箱(电脑配对蓝牙音箱的操作方法)</span></a>
                <div class="entry-page-info"> <span class="pull-left">« 上一篇</span> <span class="pull-right"></span> </div>
              </div>
                            <div class="entry-page-next j-lazy" style="background-image: url(/template/muban/pc/skin/images/lazy.png);"> <a href="/n/262861.html"><span>荣耀和华为的关系是什么(华为与荣耀联系)</span></a>
                <div class="entry-page-info"> <span class="pull-right">下一篇  »</span> <span class="pull-left"></span> </div>
              </div>
               </div>
            <h3 class="entry-related-title">相关推荐</h3>
            <ul class="entry-related clearfix">
                            <li><a href="/n/685899.html" title="让全球震惊的,不是微软这场“蓝屏故障”,而是中国去美化的成功">让全球震惊的,不是微软这场“蓝屏故障”,而是中国去美化的成功</a></li>
                            <li><a href="/n/685890.html" title="努比亚Z70 Note很慷慨:7.1英寸+24GB运存,颠覆认知">努比亚Z70 Note很慷慨:7.1英寸+24GB运存,颠覆认知</a></li>
                            <li><a href="/n/685885.html" title="小米推出49“空调鞋”,叫板阿迪:多一个logo,你就卖上千块?">小米推出49“空调鞋”,叫板阿迪:多一个logo,你就卖上千块?</a></li>
                            <li><a href="/n/685871.html" title="AMD AM5第一次平民化!锐龙3、速龙终于要回来了">AMD AM5第一次平民化!锐龙3、速龙终于要回来了</a></li>
                            <li><a href="/n/685865.html" title="想要五年不换机,推荐这四款16G+512G手机,高配低价,都是真香机">想要五年不换机,推荐这四款16G+512G手机,高配低价,都是真香机</a></li>
                            <li><a href="/n/685861.html" title="“遮羞布”被无情撕开!无视央视警告,外媒:比亚迪还是“下水”了">“遮羞布”被无情撕开!无视央视警告,外媒:比亚迪还是“下水”了</a></li>
                            <li><a href="/n/685855.html" title="亿欧创始人称携程大数据杀熟 携程回应:没有杀熟,国际机票价格浮动属正常情况">亿欧创始人称携程大数据杀熟 携程回应:没有杀熟,国际机票价格浮动属正常情况</a></li>
                            <li><a href="/n/685846.html" title="亿欧创始人称携程大数据杀熟 携程回应:没有杀熟,国际机票价格浮动属正常情况">亿欧创始人称携程大数据杀熟 携程回应:没有杀熟,国际机票价格浮动属正常情况</a></li>
                            <li><a href="/n/685834.html" title="华为Mate70Pro突破极限:椭圆四镜头+钛金机身,上来就是王炸">华为Mate70Pro突破极限:椭圆四镜头+钛金机身,上来就是王炸</a></li>
                            <li><a href="/n/685822.html" title="“遮羞布”被无情撕开!无视央视警告,外媒:比亚迪还是“下水”了">“遮羞布”被无情撕开!无视央视警告,外媒:比亚迪还是“下水”了</a></li>
                          </ul>
          </div>
        </div>
      </article>
    </div>
    <aside class="sidebar">
  <div id="search-7" class="widget widget_search">
    <h3 class="widget-title">搜索干货</h3>
        <form method="get" class="search-form" action="/search.html" onsubmit="return searchForm();">
      <input type="text" class="keyword" name="keywords" id="keywords" placeholder="输入关键词搜索..." value="">
      <input type="submit" class="submit" value="">
          </form>
     </div>
  <div id="wpcom-post-thumb-2" class="widget widget_post_thumb">
    <h3 class="widget-title">最新文章</h3>
    <ul>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/685899.html" title="让全球震惊的,不是微软这场“蓝屏故障”,而是中国去美化的成功"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="http://image.uc.cn/s/wemedia/s/upload/2024/17eea9bdbee516eb05d1141579c2b0ac.png" width="480" height="300" alt="让全球震惊的,不是微软这场“蓝屏故障”,而是中国去美化的成功"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/685899.html" title="让全球震惊的,不是微软这场“蓝屏故障”,而是中国去美化的成功">让全球震惊的,不是微软这场“蓝屏故障”,而是中国去美化的成功</a></p>
          <p class="item-date">2024年07月22日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/685890.html" title="努比亚Z70 Note很慷慨:7.1英寸+24GB运存,颠覆"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="http://image.uc.cn/s/wemedia/s/upload/2024/9150b0e55c87ee0c4e091b066d7adc9c.jpg" width="480" height="300" alt="努比亚Z70 Note很慷慨:7.1英寸+24GB运存,颠覆"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/685890.html" title="努比亚Z70 Note很慷慨:7.1英寸+24GB运存,颠覆">努比亚Z70 Note很慷慨:7.1英寸+24GB运存,颠覆</a></p>
          <p class="item-date">2024年07月22日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/685885.html" title="小米推出49“空调鞋”,叫板阿迪:多一个logo,你就卖上千"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="http://image.uc.cn/s/wemedia/s/upload/2024/28b1ab171dde639a4dc57e3f72c28973.jpg" width="480" height="300" alt="小米推出49“空调鞋”,叫板阿迪:多一个logo,你就卖上千"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/685885.html" title="小米推出49“空调鞋”,叫板阿迪:多一个logo,你就卖上千">小米推出49“空调鞋”,叫板阿迪:多一个logo,你就卖上千</a></p>
          <p class="item-date">2024年07月22日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/685871.html" title="AMD AM5第一次平民化!锐龙3、速龙终于要回来了"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="/uploads/thumb/300_300/not_adv.jpeg" width="480" height="300" alt="AMD AM5第一次平民化!锐龙3、速龙终于要回来了"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/685871.html" title="AMD AM5第一次平民化!锐龙3、速龙终于要回来了">AMD AM5第一次平民化!锐龙3、速龙终于要回来了</a></p>
          <p class="item-date">2024年07月22日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/685865.html" title="想要五年不换机,推荐这四款16G+512G手机,高配低价,都"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="http://image.uc.cn/s/wemedia/s/upload/2024/7f34faf30b83e7bff262232f896f6e14.png" width="480" height="300" alt="想要五年不换机,推荐这四款16G+512G手机,高配低价,都"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/685865.html" title="想要五年不换机,推荐这四款16G+512G手机,高配低价,都">想要五年不换机,推荐这四款16G+512G手机,高配低价,都</a></p>
          <p class="item-date">2024年07月22日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/685861.html" title="“遮羞布”被无情撕开!无视央视警告,外媒:比亚迪还是“下水”"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="http://image.uc.cn/s/wemedia/s/upload/2024/880ea8b505131ae152d04d912f99274d.png" width="480" height="300" alt="“遮羞布”被无情撕开!无视央视警告,外媒:比亚迪还是“下水”"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/685861.html" title="“遮羞布”被无情撕开!无视央视警告,外媒:比亚迪还是“下水”">“遮羞布”被无情撕开!无视央视警告,外媒:比亚迪还是“下水”</a></p>
          <p class="item-date">2024年07月22日</p>
        </div>
      </li>
          </ul>
  </div>
  <div id="wpcom-post-thumb-8" class="widget widget_post_thumb">
    <h3 class="widget-title">推荐文章</h3>
    <ul>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/121184.html" title="经典名著索亚历险记主要内容(汤姆索亚历险记作者简介)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://img.fajihao.com/article/2022/10/07/4752.jpg" width="480" height="300" alt="经典名著索亚历险记主要内容(汤姆索亚历险记作者简介)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/121184.html" title="经典名著索亚历险记主要内容(汤姆索亚历险记作者简介)">经典名著索亚历险记主要内容(汤姆索亚历险记作者简介)</a></p>
          <p class="item-date">2022年10月07日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/121182.html" title="一问一答的超甜撩人套路(哪些甜到炸的句子整理)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://img.fajihao.com/article/2022/10/07/4757.jpg" width="480" height="300" alt="一问一答的超甜撩人套路(哪些甜到炸的句子整理)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/121182.html" title="一问一答的超甜撩人套路(哪些甜到炸的句子整理)">一问一答的超甜撩人套路(哪些甜到炸的句子整理)</a></p>
          <p class="item-date">2022年10月07日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/121181.html" title="2022全网最火的十大伤感歌曲(撕心裂肺十大催泪情歌排名)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://img.fajihao.com/article/2022/10/07/4761.jpg" width="480" height="300" alt="2022全网最火的十大伤感歌曲(撕心裂肺十大催泪情歌排名)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/121181.html" title="2022全网最火的十大伤感歌曲(撕心裂肺十大催泪情歌排名)">2022全网最火的十大伤感歌曲(撕心裂肺十大催泪情歌排名)</a></p>
          <p class="item-date">2022年10月07日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/121179.html" title="两种方法轻松制作二寸证件照(标准2寸照片图片大小)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://img.fajihao.com/article/2022/10/07/4768.jpg" width="480" height="300" alt="两种方法轻松制作二寸证件照(标准2寸照片图片大小)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/121179.html" title="两种方法轻松制作二寸证件照(标准2寸照片图片大小)">两种方法轻松制作二寸证件照(标准2寸照片图片大小)</a></p>
          <p class="item-date">2022年10月07日</p>
        </div>
      </li>
          </ul>
  </div>
  <div id="wpcom-post-thumb-3" class="widget widget_post_thumb">
    <h3 class="widget-title">本类排行</h3>
    <ul>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/166619.html" title="吕知樾张津瑜 落地窗事件(张津瑜落地窗9分多钟哪里可以看)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://oss.fajihao.com/article/2022/12/11/23363056990.jpg" width="480" height="300" alt="吕知樾张津瑜 落地窗事件(张津瑜落地窗9分多钟哪里可以看)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/166619.html" title="吕知樾张津瑜 落地窗事件(张津瑜落地窗9分多钟哪里可以看)">吕知樾张津瑜 落地窗事件(张津瑜落地窗9分多钟哪里可以看)</a></p>
          <p class="item-date">2022年12月11日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/129829.html" title="世界上最不安人1—3纪录片内容(世界上最不安的纪录片解说)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="/uploads/thumb/300_300/not_adv.jpeg" width="480" height="300" alt="世界上最不安人1—3纪录片内容(世界上最不安的纪录片解说)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/129829.html" title="世界上最不安人1—3纪录片内容(世界上最不安的纪录片解说)">世界上最不安人1—3纪录片内容(世界上最不安的纪录片解说)</a></p>
          <p class="item-date">2022年10月17日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/165244.html" title="废都中性描写的句子庄之蝶和唐婉儿页(贾平凹小说《废都》)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://oss.fajihao.com/article/2022/12/09/21385245567.jpg" width="480" height="300" alt="废都中性描写的句子庄之蝶和唐婉儿页(贾平凹小说《废都》)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/165244.html" title="废都中性描写的句子庄之蝶和唐婉儿页(贾平凹小说《废都》)">废都中性描写的句子庄之蝶和唐婉儿页(贾平凹小说《废都》)</a></p>
          <p class="item-date">2022年12月09日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/162507.html" title="外网浏览网站推荐(10个值得一去的国外神器网站)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://oss.fajihao.com/article/2022/12/06/12401329449.png" width="480" height="300" alt="外网浏览网站推荐(10个值得一去的国外神器网站)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/162507.html" title="外网浏览网站推荐(10个值得一去的国外神器网站)">外网浏览网站推荐(10个值得一去的国外神器网站)</a></p>
          <p class="item-date">2022年12月06日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/165876.html" title="亚洲日式二本三本的区别在哪(日本一本二本三本的区别)"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://oss.fajihao.com/article/2022/12/10/20372249299.jpg" width="480" height="300" alt="亚洲日式二本三本的区别在哪(日本一本二本三本的区别)"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/165876.html" title="亚洲日式二本三本的区别在哪(日本一本二本三本的区别)">亚洲日式二本三本的区别在哪(日本一本二本三本的区别)</a></p>
          <p class="item-date">2022年12月10日</p>
        </div>
      </li>
            <li class="item">
        <div class="item-img"> <a class="item-img-inner" href="/n/75367.html" title="2022青岛市高中排名及录取分数线一览表(青岛最好的高中排名"> <img class="j-lazy" src="/template/muban/pc/skin/images/lazy.png" data-original="https://www.jinnalai.com/uploads/article/2022/06/30/18778.jpg" width="480" height="300" alt="2022青岛市高中排名及录取分数线一览表(青岛最好的高中排名"> </a> </div>
        <div class="item-content">
          <p class="item-title"><a href="/n/75367.html" title="2022青岛市高中排名及录取分数线一览表(青岛最好的高中排名">2022青岛市高中排名及录取分数线一览表(青岛最好的高中排名</a></p>
          <p class="item-date">2022年06月30日</p>
        </div>
      </li>
          </ul>
  </div>
  <div id="tag_cloud-3" class="widget widget_tag_cloud">
    <h3 class="widget-title">热门标签</h3>
    <div class="tagcloud">  <a href="/tags/29756.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="解决DNS解析错误的小技巧">解决DNS解析错误的小技巧</a>  <a href="/tags/15738.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="手机服务密码是啥">手机服务密码是啥</a>  <a href="/tags/15829.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="电脑蓝屏故障解决方法">电脑蓝屏故障解决方法</a>  <a href="/tags/15820.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="文件被删四种恢复方法">文件被删四种恢复方法</a>  <a href="/tags/14528.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="苹果x绿屏是要换内屏了吗">苹果x绿屏是要换内屏了吗</a>  <a href="/tags/15834.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="充电宝一买来要不要马上充电">充电宝一买来要不要马上充电</a>  <a href="/tags/15815.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="更改输入法切换快捷键方法">更改输入法切换快捷键方法</a>  <a href="/tags/14423.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="极品飞车14赛事介绍">极品飞车14赛事介绍</a>  <a href="/tags/14482.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="iPhone手机设置来电显示全面屏教程">iPhone手机设置来电显示全面屏教程</a>  <a href="/tags/16051.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="手机降温小妙招">手机降温小妙招</a>  <a href="/tags/5095.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="拜亚动力IMPACTO体验">拜亚动力IMPACTO体验</a>  <a href="/tags/14524.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="荣耀x10手机参数价格的介绍">荣耀x10手机参数价格的介绍</a>  <a href="/tags/14223.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="怎么查自己的wifi密码是多少">怎么查自己的wifi密码是多少</a>  <a href="/tags/15733.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="4招中秋手机拍月亮的方法">4招中秋手机拍月亮的方法</a>  <a href="/tags/14442.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="HP打印机连接电脑教程">HP打印机连接电脑教程</a>  <a href="/tags/29548.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="小米8se参数详细参数">小米8se参数详细参数</a>  <a href="/tags/16118.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="流程图工具软件推荐">流程图工具软件推荐</a>  <a href="/tags/46938.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="手把手教你win10家庭版升级win10专业版的最新密钥和方法">手把手教你win10家庭版升级win10专业版的最新密钥和方法</a>  <a href="/tags/15801.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="键盘无法使用解决方法">键盘无法使用解决方法</a>  <a href="/tags/14207.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="找回网易邮箱账号教程">找回网易邮箱账号教程</a>  <a href="/tags/15861.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="ddr4和ddr5的性能差距大吗">ddr4和ddr5的性能差距大吗</a>  <a href="/tags/4726.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="王者荣耀女英雄本子 女英雄邪恶去衣图">王者荣耀女英雄本子 女英雄邪恶去衣图</a>  <a href="/tags/46963.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="华为的前车之鉴!日本东芝差点扳倒英特尔">华为的前车之鉴!日本东芝差点扳倒英特尔</a>  <a href="/tags/15753.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="关电脑八种方法分析">关电脑八种方法分析</a>  <a href="/tags/14337.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="kirin985是什么处理器怎么样">kirin985是什么处理器怎么样</a>  <a href="/tags/29462.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="苹果手表表带脏了怎么清洗">苹果手表表带脏了怎么清洗</a>  <a href="/tags/15866.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="罗技蓝牙鼠标怎么连接电脑没反应">罗技蓝牙鼠标怎么连接电脑没反应</a>  <a href="/tags/16184.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="小爱音箱接入到家庭背景音响系统步骤">小爱音箱接入到家庭背景音响系统步骤</a>  <a href="/tags/46964.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="却最终被美方搞垮">却最终被美方搞垮</a>  <a href="/tags/29305.html" class="tag-cloud-link tag-link-66 tag-link-position-1" style="font-size: 22pt;" aria-label="oppor15配置参数介绍">oppor15配置参数介绍</a>  </div>
  </div>
</aside>
 </div>
</div>
<footer class="footer">
  <div class="container">
    <div class="clearfix">
      <div class="footer-col footer-col-copy">
        <ul class="footer-nav hidden-xs">
          <li id="menu-item-109589" class="menu-item current-menu-item current_page_item menu-item-109589"><a href="https://www.jinnalai.com" aria-current="page">首页</a></li>
                    <li class="menu-item menu-item-373"><a href="/jiaodian/">社会焦点</a></li>
                    <li class="menu-item menu-item-373"><a href="/fenxiang/">分享干货</a></li>
                    <li class="menu-item menu-item-373"><a href="/yunying/">产品运营</a></li>
                    <li class="menu-item menu-item-373"><a href="/tuiguang/">引流推广</a></li>
                    <li class="menu-item menu-item-373"><a href="/wenda/">问答栏目</a></li>
                    <li class="menu-item menu-item-373"><a href="/jingyan/">生活经验</a></li>
                    <li class="menu-item menu-item-373"><a href="/h/">网红之窗</a></li>
                    <li class="menu-item menu-item-373"><a href="/edu/">高考资讯</a></li>
                    <li class="menu-item menu-item-373"><a href="/car/">汽车百科</a></li>
                    <li class="menu-item menu-item-373"><a href="/yule/">娱乐资讯</a></li>
                  </ul>
        <div class="copyright">
          <p>Copyright © 2010-2021 金纳莱网 版权所有  网站备案号:<a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">沪ICP备2022027351号-15</a></p>
        </div>
      </div>
      <div class="footer-col footer-col-sns">
        <div class="footer-sns"> </div>
      </div>
    </div>
  </div>
</footer>
<div class="action" style="top:50%;">
  <div class="a-box contact">
    <div class="contact-wrap">
      <h3 class="contact-title">联系我们</h3>
      <p>在线咨询:<a href="http://wpa.qq.com/msgrd?v=3&uin=1217266901&site=qq&menu=yes" target="_blank" rel="noopener"><img class="alignnone" title="点击这里给我发消息" src="/template/muban/pc/skin/images/button_111.gif" alt="点击这里给我发消息" width="79" height="25" border="0" /></a></p>
      <p>微信号:</p>
      <p>工作日:9:30-18:30,节假日休息</p>
    </div>
  </div>
  <div class="a-box wechat">
    <div class="wechat-wrap"> <img src="/uploads/allimg/20211126/1-211126103J4394.jpg"> </div>
  </div>
  <div class="a-box gotop" id="j-top" style="display: none;"></div>
</div>
<style>
.footer{padding-bottom: 20px;}
</style>
<script type='text/javascript'>
/* <![CDATA[ */
var _wpcom_js = {"slide_speed":"4000","video_height":"482","TCaptcha":{"appid":"2003622980"},"errors":{"require":"\u4e0d\u80fd\u4e3a\u7a7a","email":"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u7535\u5b50\u90ae\u7bb1","pls_enter":"\u8bf7\u8f93\u5165","password":"\u5bc6\u7801\u5fc5\u987b\u4e3a6~32\u4e2a\u5b57\u7b26","passcheck":"\u4e24\u6b21\u5bc6\u7801\u8f93\u5165\u4e0d\_wpcom_jsu4e00\u81f4","phone":"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u624b\u673a\u53f7\u7801","sms_code":"\u9a8c\u8bc1\u7801\u9519\u8bef","captcha_verify":"\u8bf7\u70b9\u51fb\u6309\u94ae\u8fdb\u884c\u9a8c\u8bc1","captcha_fail":"\u70b9\u51fb\u9a8c\u8bc1\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5","nonce":"\u968f\u673a\u6570\u6821\u9a8c\u5931\u8d25","req_error":"\u8bf7\u6c42\u5931\u8d25"}};
/* ]]> */
</script> 
<script type='text/javascript' src='/template/muban/pc/skin/js/main.js'></script> 
<script type='text/javascript' src='/template/muban/pc/skin/js/wp-embed.js'></script> 
<!-- 应用插件标签 start --> 
  
<!-- 应用插件标签 end -->
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?ef0ea2614c7a4f32c29099e2c62c4db5";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
<script type="text/javascript">var root_dir="";var ey_u_switch=1;var ey_aid=262860;</script>
<script language="javascript" type="text/javascript" src="/public/static/common/js/ey_footer.js?t=v1.6.1"></script>
</body>
</html>