<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>EFV智能云转码切片系统 – 文档目录</title>
    <link>https://docs.efvcms.com/docs/</link>
    <description>Recent content in 文档目录 on EFV智能云转码切片系统</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    
	  <atom:link href="https://docs.efvcms.com/docs/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: API配置和使用教程</title>
      <link>https://docs.efvcms.com/docs/efv-separation-system-setup-tutorial/cms-details-introduction-and-demo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/efv-separation-system-setup-tutorial/cms-details-introduction-and-demo/</guid>
      <description>
        
        
        &lt;p&gt;开启采集&lt;code&gt;api&lt;/code&gt;之后，可提供给海洋&lt;code&gt;CMS&lt;/code&gt;采集已发布的视频和剧集，包括视频标签、简介等在&lt;code&gt;EFV&lt;/code&gt;编辑的所有视频信息。&lt;/p&gt;
&lt;p&gt;且后面新增的、或修改过相关信息的视频和剧集均可以自动同步更新到海洋&lt;code&gt;CMS&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;即在海洋&lt;code&gt;CMS&lt;/code&gt;配置好&lt;code&gt;EFV&lt;/code&gt;采集&lt;code&gt;api&lt;/code&gt;后，视频上传，标签、简介等数据编辑可全在&lt;code&gt;EFV&lt;/code&gt;后台通过豆瓣获取或自行编辑。&lt;/p&gt;
&lt;h2 id=&#34;采集步骤&#34;&gt;采集步骤&lt;/h2&gt;
&lt;h3 id=&#34;开启efv的采集api并配置正确的域名&#34;&gt;开启EFV的采集api并配置正确的域名&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：转码设置的第一个设置域名选项一定要填写正确，也就是采集过去的M3U8和封面域名。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们先去&lt;code&gt;EFV&lt;/code&gt;后台，前往左侧转码相关，找到&lt;code&gt;对接海洋CMS&lt;/code&gt;，点进去可设置采集&lt;code&gt;api&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;建议设置&lt;code&gt;采集key&lt;/code&gt;，如果你只想给某些人采集，那么还可以设置&lt;code&gt;采集ip白名单&lt;/code&gt;，多个&lt;code&gt;ip&lt;/code&gt;使用&lt;code&gt;$&lt;/code&gt;隔开，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#只给ip为123.23.123.123的海洋CMS采集
123.23.123.123

#只给ip为123.23.123.123和132.132.43.12的海洋CMS采集
123.23.123.123$132.132.43.12

#只给ip为123.23.123.123、132.132.43.12和143.154.34.23的海洋CMS采集
123.23.123.123$132.132.43.12$143.154.34.23
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后再前往转码设置，找到最上面的设置域名，填入你&lt;code&gt;EFV&lt;/code&gt;绑定的域名地址，也就是采集接口显示的&lt;code&gt;M3U8&lt;/code&gt;、截图等域名。&lt;/p&gt;
&lt;h3 id=&#34;前往海洋cms后台调整采集参数配置&#34;&gt;前往海洋CMS后台调整采集参数配置&lt;/h3&gt;
&lt;p&gt;先进入到海洋&lt;code&gt;CMS&lt;/code&gt;后台，点击最上面导航的&lt;code&gt;系统&lt;/code&gt;栏目，再找到&lt;code&gt;采集工具设置&lt;/code&gt;，可根据自己需求自行调整，也可默认。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/sea1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;前往海洋cms后台设置采集接口&#34;&gt;前往海洋CMS后台设置采集接口&lt;/h3&gt;
&lt;p&gt;先进入到海洋&lt;code&gt;CMS&lt;/code&gt;后台，点击最上面导航的&lt;code&gt;采集&lt;/code&gt;栏目，在左侧找到&lt;code&gt;资源库管理&lt;/code&gt;，添加&lt;code&gt;资源库&lt;/code&gt;，设置如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：接口地址为 EFV绑定域名 + /seacms/vod/xml，如设置了采集key，且key值为12a3b45，则采集地址为 EFV绑定域名 + /seacms/vod/xml/12a3b45。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/sea2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;添加好&lt;code&gt;资源库&lt;/code&gt;后，再点击左侧的&lt;code&gt;资源库列表&lt;/code&gt;，找到刚刚添加好的接口资源，再点击资源标题，进去后会看到如下图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/sea3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;点进去后，在最上面我们会看到&lt;code&gt;EFV&lt;/code&gt;的分类信息，然后点击分类旁边的绑定，选择海洋&lt;code&gt;CMS&lt;/code&gt;的分类，这样就可以将&lt;code&gt;EFV&lt;/code&gt;的分类视频同步到海洋&lt;code&gt;CMS&lt;/code&gt;指定分类下了。&lt;/p&gt;
&lt;p&gt;最后就可以采集了，等待采集完，EFV全部的已发布视频和剧集都会被同步到海洋&lt;code&gt;CMS&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;相关说明&#34;&gt;相关说明&lt;/h2&gt;
&lt;h3 id=&#34;注意事项&#34;&gt;注意事项&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;EFV&lt;/code&gt;的视频和剧集一定要设置好分类，且配置接口的时候，&lt;code&gt;EFV&lt;/code&gt;分类一定要绑定好海洋&lt;code&gt;CMS&lt;/code&gt;的分类，不然未设置或未绑定好分类的视频无法被海洋&lt;code&gt;CMS&lt;/code&gt;采集。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;EFV&lt;/code&gt;默认只有已发布的视频和剧集才能被采集，可先对已转码完成的视频和剧集进行相关编辑后再发布出去；如果你不需要给视频或剧集编辑相关信息，可直接在采集配置页面打开&lt;code&gt;展示有效数据&lt;/code&gt;开关即可，就不需要发布了，会自动将转码完成和有集数的剧集发送到接口提供采集。&lt;/p&gt;
&lt;p&gt;如果有剧集，建议不要在&lt;code&gt;EFV&lt;/code&gt;给剧集的单集设置分类，防止单集被误操作发布出去了，这样海洋&lt;code&gt;CMS&lt;/code&gt;会当电影采集下来，不绑定分类，就不会采集误发布的单集&lt;/p&gt;
&lt;h3 id=&#34;发布视频和剧集的多种方法&#34;&gt;发布视频和剧集的多种方法&lt;/h3&gt;
&lt;p&gt;视频发布分为单个视频发布、批量发布和全部发布，可前往&lt;code&gt;EFV&lt;/code&gt;后台 ⇒ 进入视频管理，进行相关操作，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/10q.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;剧集发布，发布剧集之前，请提前将剧集里面的单集添加到剧集里面，然后找到想要发布的剧集右侧操作选项，点击正式发布即可。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: APP详情介绍及演示</title>
      <link>https://docs.efvcms.com/docs/app-building-and-usage-tutorial/app-details-introduction-and-demo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/app-building-and-usage-tutorial/app-details-introduction-and-demo/</guid>
      <description>
        
        
        &lt;h2 id=&#34;特别提示&#34;&gt;特别提示&lt;/h2&gt;
&lt;p&gt;如果你只想使用&lt;code&gt;app&lt;/code&gt;，不想用内置&lt;code&gt;cms&lt;/code&gt;，可以关闭内置&lt;code&gt;cms&lt;/code&gt;，且用户组等设置依旧在后台&lt;code&gt;cms&lt;/code&gt;相关栏进行设置。&lt;/p&gt;
&lt;h2 id=&#34;相关说明&#34;&gt;相关说明&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;APP&lt;/code&gt;为免费赠送品，累计购买高级版高阶授权以上的用户可免费领取，后期也免费更新。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;APP&lt;/code&gt;为&lt;code&gt;Ios/Android&lt;/code&gt;双端源码，使用&lt;code&gt;Flutter&lt;/code&gt;开发，非&lt;code&gt;h5&lt;/code&gt;和&lt;code&gt;weex&lt;/code&gt;构建可比拟，&lt;code&gt;60&lt;/code&gt;帧顺滑，打包&lt;code&gt;app&lt;/code&gt;体积小，兼容性高，体验效果极佳。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;APP&lt;/code&gt;源码开源，有开发经验、或喜欢折腾的，可自行对&lt;code&gt;APP&lt;/code&gt;源码进行各种修改定制，二次开发打包。&lt;/p&gt;
&lt;h2 id=&#34;功能介绍&#34;&gt;功能介绍&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;如德芙般丝滑的用户体验，采用&lt;code&gt;flutter&lt;/code&gt;开发，双端通用，并且都测试通过。&lt;/li&gt;
&lt;li&gt;几乎完美的广告嵌入，支持固定位广告，开屏广告，信息流广告，播放前强制广告，后续还会增加更多广告类型。&lt;/li&gt;
&lt;li&gt;全面对接谷歌&lt;code&gt;firebase&lt;/code&gt;统计，无论&lt;code&gt;ios&lt;/code&gt;还是安卓都能完美统计，甚至进入过哪些页面都有详细统计。&lt;/li&gt;
&lt;li&gt;支持更新检测，自行编写实现了延时版本检测，每次打开&lt;code&gt;app&lt;/code&gt;，会延时&lt;code&gt;10s&lt;/code&gt;检测是否有最新版本，如果有就会弹窗提醒下载更新。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;b&lt;/code&gt;站同款互动开屏广告，滑动查看广告内容。&lt;/li&gt;
&lt;li&gt;独立且醒目的推广页面，推广中广告随机展示，每个月可根据广告收入情况淘汰末尾，以达到最佳收入组合。&lt;/li&gt;
&lt;li&gt;完美支持视频和剧集的播放，无论视频还是剧集，都采用预加载数据的方式，打开播放页面即开始播放，体验极佳！&lt;/li&gt;
&lt;li&gt;播放器支持倍速播放，支持分辨率切换，支持外挂srt字幕，支持投屏，投屏功能在``ios和安卓都得到完美测试，完美兼容苹果和安卓所有机型！&lt;/li&gt;
&lt;li&gt;独立求片和反馈页面，支持用户发布意见反馈或求片，第一时间知道用户真实使用情况。&lt;/li&gt;
&lt;li&gt;支持签到获得积分，后续会增加点击广告增加积分的功能，鼓励用户点击广告，获取更高收益。&lt;/li&gt;
&lt;li&gt;b站同款展开功能，播放页的标题和简介的展开功能，为了做这个功能翻阅了大量资料！&lt;/li&gt;
&lt;li&gt;对接支付系统，支持&lt;code&gt;vip&lt;/code&gt;购买，支持了试看，支持了会员播放完整视频，&lt;/li&gt;
&lt;li&gt;&lt;code&gt;app&lt;/code&gt;采用&lt;code&gt;api&lt;/code&gt;系统的方式，实现了从内存中介服务器直接获取数据的能力，采用&lt;code&gt;redis&lt;/code&gt;进行内存缓存管理，达到访问&lt;code&gt;app&lt;/code&gt;的人数越多，越流畅！&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;相关演示&#34;&gt;相关演示&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：竖屏app偏向于番剧，横屏app偏向通用，且功能更多，自行选择。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;竖屏海报演示app&#34;&gt;竖屏海报演示APP&lt;/h3&gt;
&lt;p&gt;适用于动漫、美剧等有影视海报做封面；且海报主要来源于后台豆瓣接口获取、或自己从其他网站找海报上传。&lt;/p&gt;
&lt;p&gt;竖屏海报演示&lt;code&gt;app&lt;/code&gt;：&lt;a href=&#34;https://down.querydata.org/down/android-poster.apk&#34;&gt;点击下载&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/62567b0dfb27ed094830b5f4-6241c61d704a493b2d8e8ba7-111.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;横屏海报类app漫画&#34;&gt;横屏海报类APP+漫画&lt;/h3&gt;
&lt;p&gt;适用于短视频、或无影视海报做封面；且海报主要由程序自动生成、或自己上传；并带图集板块。&lt;/p&gt;
&lt;p&gt;横屏海报演示&lt;code&gt;app&lt;/code&gt;：&lt;a href=&#34;https://down.querydata.org/down/android.apk&#34;&gt;点击下载&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/6267c41cfb27ed094830b60b-622e0bf359c3895c5f178f53-asdad1.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: CMS布局说明及相关设置</title>
      <link>https://docs.efvcms.com/docs/cms-function-details/cms-layout-explanation-and-related-modifications/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/cms-function-details/cms-layout-explanation-and-related-modifications/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：目前默认关闭后台的cms导航及功能项，可点击左下角侧栏开关，开启cms导航即可。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以前的几套旧模板已弃用，现在只使用一套&lt;code&gt;projectz&lt;/code&gt;模板，且所有页面的封面都是用的&lt;code&gt;封面2&lt;/code&gt;，演示站可参考相关布局：&lt;a href=&#34;https://www.leimulamu.com/&#34;&gt;点击查看&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;下面只列举一些需要注意的板块，其它就不说了。&lt;/p&gt;
&lt;h2 id=&#34;首页顶部板块&#34;&gt;首页顶部板块&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cmscs.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;左上角标题和logo&#34;&gt;左上角标题和logo&lt;/h3&gt;
&lt;p&gt;左上角标题直接在后台&lt;code&gt;CMS设置&lt;/code&gt;，填入站点名称即可；&lt;code&gt;logo&lt;/code&gt;修改需要编辑模板文件&lt;code&gt;views/projectz/cmslayout.jade&lt;/code&gt;，修改以下代码：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#自行找到以下代码，/img/uikit-logo.svg为显示的log
img.uk-margin-small-right(uk-svg=&#39;&#39;, src=&#39;https://docs.efvcms.com/img/uikit-logo.svg&#39;, hidden=&#39;true&#39;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意制作&lt;code&gt;logo&lt;/code&gt;需要用&lt;code&gt;svg&lt;/code&gt;图片，自行百度制作方法，然后替换&lt;code&gt;public/img/uikit-logo.svg&lt;/code&gt;文件即可。&lt;/p&gt;
&lt;h3 id=&#34;首页导航板块&#34;&gt;首页导航板块&lt;/h3&gt;
&lt;p&gt;导航除了几个固定的，其它都可以自定义，导航文件默认路径&lt;code&gt;config/navbar.js&lt;/code&gt;，参考示例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#比如我们可以将几个重要的分类、标签放到板块
module.exports = {
    navbar: [{
    entitle: &#39;Home&#39;,
    cntitle: &#39;首页&#39;,
    tctitle: &#39;首頁&#39;,
    href: &#39;/&#39;
    }, {
    entitle: &#39;Anime&#39;,
    cntitle: &#39;动漫&#39;,
    tctitle: &#39;動漫&#39;,
    href: &#39;/category/动漫&#39;
}, {
    cntitle: &#39;剧集&#39;,
    entitle: &#39;Tvs&#39;,
    tctitle: &#39;劇集&#39;,
    href: &#39;/category/剧集&#39;
}]
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;多个导航之间用英文逗号&lt;code&gt;,&lt;/code&gt;分开，格式和上方一样，模仿下就行了，参数详解：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;英文导航名称变量entitle如：entitle: &#39;Home&#39;,
简体导航名称变量cntitle如：cntitle: &#39;首页&#39;,
繁体导航名称变量tctitle如：tctitle: &#39;首頁&#39;,
导航所指向的访问路径变量href，如：href: &#39;/&#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;修改后，使用命令&lt;code&gt;pm2 reload efvcms&lt;/code&gt;重启生效。&lt;/p&gt;
&lt;h3 id=&#34;首页顶部公告板块&#34;&gt;首页顶部公告板块&lt;/h3&gt;
&lt;p&gt;公告前往&lt;code&gt;CMS相关&lt;/code&gt;的&lt;code&gt;公告管理&lt;/code&gt;设置就行了，如果不设置则不会显示公告；设置多个会轮流滚动。&lt;/p&gt;
&lt;h3 id=&#34;首页幻灯片推荐板块&#34;&gt;首页幻灯片推荐板块&lt;/h3&gt;
&lt;p&gt;电影推荐可前往&lt;code&gt;转码相关&lt;/code&gt;的&lt;code&gt;视频管理&lt;/code&gt;，操作全部选项的推荐即可；剧集推荐可前往&lt;code&gt;CMS相关&lt;/code&gt;的&lt;code&gt;剧集管理&lt;/code&gt;，操作选项的推荐即可。&lt;/p&gt;
&lt;p&gt;最少需要推荐&lt;code&gt;8&lt;/code&gt;个以上的视频才能铺满幻灯片推荐板块，且会优先显示最新的推荐数据。&lt;/p&gt;
&lt;h2 id=&#34;页脚板块&#34;&gt;页脚板块&lt;/h2&gt;
&lt;p&gt;底部也就是页脚，分&lt;code&gt;3&lt;/code&gt;部分，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/6280ec5cfb27ed094830b64c-798798.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;最左侧是站点名称和站点描述，在&lt;code&gt;EFV&lt;/code&gt;高级版后台，&lt;code&gt;CMS&lt;/code&gt;设置那里填写。&lt;/p&gt;
&lt;p&gt;中间和右侧，分别为相关(友情)链接和联系方式，可修改&lt;code&gt;views/projectz/cmslayout.jade&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;div(style=&amp;quot;max-width: 500px;&amp;quot;)
    h5 #{__(&#39;link type&#39;)}
    div.uk-flex.uk-flex-wrap
        a.uk-padding-small.uk-padding-remove-left(href=&amp;quot;/sitemap.xml&amp;quot; target=&amp;quot;_blank&amp;quot;) #{__(&#39;Sitemap&#39;)}
        a.uk-padding-small.uk-padding-remove-left(href=&amp;quot;#&amp;quot;) URL
        a.uk-padding-small.uk-padding-remove-left(href=&amp;quot;#&amp;quot;) URL
        a.uk-padding-small.uk-padding-remove-left(href=&amp;quot;#&amp;quot;) URL
div
    h5 #{__(&#39;contact type&#39;)}
    p email:#@gmail.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;#&lt;/code&gt;改成友情链接的域名、&lt;code&gt;URL&lt;/code&gt;等为网站名称，如果你觉得友情链接过多或者过少，还有联系方式过少，可以进行删除或者复制增加，可自行修改，且第一行&lt;code&gt;Sitemap&lt;/code&gt;为站点地图，可以不用改。&lt;/p&gt;
&lt;p&gt;如果你想更改&lt;code&gt;相关链接&lt;/code&gt;和&lt;code&gt;联系我们&lt;/code&gt;的文字，可以编辑语言文件夹，简体中文&lt;code&gt;locales/cn.json&lt;/code&gt;，英文&lt;code&gt;locales/en.json&lt;/code&gt;，繁体&lt;code&gt;locales/tc.json&lt;/code&gt;，搜索修改：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#中文
&amp;quot;link type&amp;quot;: &amp;quot;相关链接&amp;quot;,
&amp;quot;contact type&amp;quot;: &amp;quot;联系我们&amp;quot;

#英文
&amp;quot;link type&amp;quot;: &amp;quot;Related Links&amp;quot;,
&amp;quot;contact type&amp;quot;: &amp;quot;Contact Us&amp;quot;

#繁体
&amp;quot;link type&amp;quot;: &amp;quot;相關鏈接&amp;quot;,
&amp;quot;contact type&amp;quot;: &amp;quot;聯繫我們&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;修改后面的描述，然后使用命令&lt;code&gt;pm2 reload efvcms&lt;/code&gt;重启生效。&lt;/p&gt;
&lt;h2 id=&#34;播放页视频推荐&#34;&gt;播放页视频推荐&lt;/h2&gt;
&lt;p&gt;播放页面视频推荐板块是根据分类标签进行推荐，如果你的视频都没有设置过分类标签，则不会推荐相关视频，推荐算法如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：推荐会根据当前观看的视频和全部视频的分类标签、地区、演员、导演、编剧综合命中数排序，命中率越高，也就是越接近当前播放的视频；然后依次排序推荐展示出来，方便用户选择自己感兴趣的视频。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;展示图如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cmszs.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;封面展示尺寸说明&#34;&gt;封面展示尺寸说明&lt;/h2&gt;
&lt;p&gt;目前所有页面的封面都是用的&lt;code&gt;封面2&lt;/code&gt;，默认使用横屏尺寸展示，效果图如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/fengmian2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;如果你的视频都是美剧，韩剧，动漫，也就是有这些视频的海报图，也可通过详情编辑的豆瓣接口获取，可前往&lt;code&gt;CMS设置&lt;/code&gt;将使用竖屏封面开关打开，竖屏展示图如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/fengmian1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;最后没有海报的，就直接默认横屏尺寸即可，有海报的，可根据实际情况开启竖屏封面。&lt;/p&gt;
&lt;h2 id=&#34;修改模板默认显示语言&#34;&gt;修改模板默认显示语言&lt;/h2&gt;
&lt;p&gt;目前安装的时候，默认使用简体中文，还可以修改成繁体、英文，修改方法如下：&lt;/p&gt;
&lt;p&gt;编辑&lt;code&gt;config/auth.js&lt;/code&gt;文件，修改该参数&lt;code&gt;defaultlocale: &amp;quot;cn&amp;quot;&lt;/code&gt;，&lt;code&gt;cn&lt;/code&gt;为简体中文，&lt;code&gt;en&lt;/code&gt;为英文，&lt;code&gt;tc&lt;/code&gt;为繁体，语言文件夹为&lt;code&gt;locales&lt;/code&gt;，最后使用命令&lt;code&gt;pm2 reload efvcms&lt;/code&gt;重启程序生效。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 安装和使用教程</title>
      <link>https://docs.efvcms.com/docs/efv-upload-client/getting-started/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/efv-upload-client/getting-started/</guid>
      <description>
        
        
        &lt;p&gt;该客户端为&lt;code&gt;EFV&lt;/code&gt;上传视频专用，可同时自动监听不同的本地文件夹视频，并将指定后缀的视频自动传到&lt;code&gt;1&lt;/code&gt;到多个&lt;code&gt;EFV&lt;/code&gt;系统。&lt;/p&gt;
&lt;p&gt;如果你觉得上传客户端功能太少，不是很好用，那么推荐使用&lt;code&gt;FTP多用户上传功能&lt;/code&gt; ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/ftp_multiple_user_upload/&#34;&gt;传送门&lt;/a&gt; 或 &lt;code&gt;服务器入库功能&lt;/code&gt; ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/transcode-server-files-for-ingestion/&#34;&gt;传送门&lt;/a&gt;，支持分类、封面、截图、剧集、详情信息等更多入库功能。&lt;/p&gt;
&lt;h2 id=&#34;安装客户端&#34;&gt;安装客户端&lt;/h2&gt;
&lt;p&gt;目前只有&lt;code&gt;Windows&lt;/code&gt;安装包，下载地址 ⇒ &lt;a href=&#34;https://down.querydata.org/down/efv-upload-client.exe&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;配置客户端&#34;&gt;配置客户端&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：目前仅支持一级文件夹，也就是最多检测到监控文件夹里面的一级文件夹里的视频。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;先点击右上角添加&lt;code&gt;EFV&lt;/code&gt;配置，一般你有多个&lt;code&gt;EFV&lt;/code&gt;系统就可以添加多少个，不限制添加数。&lt;/p&gt;
&lt;p&gt;添加的时候会自动进入到该配置页面，然后点击&lt;code&gt;展开设置&lt;/code&gt;，进行相关设置，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/efv-upload-client2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;设置好&lt;code&gt;EFV&lt;/code&gt;绑定域名(这里也可以填入&lt;code&gt;ip:3000&lt;/code&gt;，即安装初始地址，且地址最后面不能带&lt;code&gt;/&lt;/code&gt;)和&lt;code&gt;API&lt;/code&gt;密匙，&lt;code&gt;API&lt;/code&gt;密匙也就是转码设置最下方的&lt;code&gt;APIKEY&lt;/code&gt;，记得打开&lt;code&gt;API&lt;/code&gt;开关。&lt;/p&gt;
&lt;p&gt;至于其它上传参数，如&lt;code&gt;监听文件夹&lt;/code&gt;、&lt;code&gt;监听时间&lt;/code&gt;、&lt;code&gt;指定上传后缀&lt;/code&gt;、&lt;code&gt;上传是否删除&lt;/code&gt;，自行根据需求进行设置，然后保存设置后，点击&lt;code&gt;收起设置&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;接下来再点击右上角&lt;code&gt;开始/关闭监听上传&lt;/code&gt;即可触发自动上传，且视频管理和硬盘信息的数据会每&lt;code&gt;1&lt;/code&gt;分钟更新一次，所以更新可能不是很及时，开启后的效果如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/efv-upload-client3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;最后如果你添加多个&lt;code&gt;EFV&lt;/code&gt;配置，那么请设置好&lt;code&gt;标签名称&lt;/code&gt;，方便你更快的找到指定&lt;code&gt;EFV&lt;/code&gt;配置，且每一个&lt;code&gt;EFV&lt;/code&gt;配置都需要单独点击&lt;code&gt;开始/关闭监听上传&lt;/code&gt;触发各自的上传监听。&lt;/p&gt;
&lt;h3 id=&#34;上传自动分类&#34;&gt;上传自动分类&lt;/h3&gt;
&lt;p&gt;首先需要在监控文件夹，按格式新建分类文件夹，命名要求：&lt;code&gt;categories分类名&lt;/code&gt;，如&lt;code&gt;categories教育片&lt;/code&gt;，然后将视频存放到该文件夹即可，里面视频会自动上传并分类到教育片，且分类不存在会自动创建。&lt;/p&gt;
&lt;h3 id=&#34;封面自动入库&#34;&gt;封面自动入库&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：封面文件需同时和视频一起在监听文件夹才能入库。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;需要将封面文件的名称修改成对应的视频名称，存放到同一文件夹，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#监听文件夹根目录
西游记.mp4
西游记.jpg

#监听文件夹里的分类文件夹
categories神话片/西游记.mp4
categories神话片/西游记.jpg
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;且后缀不用管，前面名称一样就行，且封面仅支持&lt;code&gt;jpg&lt;/code&gt;、&lt;code&gt;jpeg&lt;/code&gt;、&lt;code&gt;png&lt;/code&gt;、&lt;code&gt;webp&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;上传自动命名&#34;&gt;上传自动命名&lt;/h3&gt;
&lt;p&gt;适用于单集名称均为集数命名的剧集，如&lt;code&gt;01&lt;/code&gt;、&lt;code&gt;02&lt;/code&gt;；首先需要在监控文件夹，按格式新建一个文件夹，命名要求：&lt;code&gt;rename剧集名称&lt;/code&gt;，如&lt;code&gt;rename西游记&lt;/code&gt;，然后将所有单集存放到该文件夹即可，里面视频会自动上传并加上剧集名称前缀，如&lt;code&gt;01&lt;/code&gt;会命名成&lt;code&gt;西游记 01&lt;/code&gt;，&lt;code&gt;02&lt;/code&gt;会命名成&lt;code&gt;西游记 02&lt;/code&gt;，方便视频管理区分。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 采集API配置教程</title>
      <link>https://docs.efvcms.com/docs/iy-cms-publishing-tutorial/api-collection-configuration-tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/iy-cms-publishing-tutorial/api-collection-configuration-tutorial/</guid>
      <description>
        
        
        &lt;p&gt;开启采集&lt;code&gt;api&lt;/code&gt;之后，可提供给爱影&lt;code&gt;CMS&lt;/code&gt;采集已发布的视频和剧集，包括视频标签、简介等在&lt;code&gt;EFV&lt;/code&gt;编辑的所有视频信息。&lt;/p&gt;
&lt;p&gt;且后面新增的、或修改过相关信息的视频和剧集均可以自动同步更新到爱影&lt;code&gt;CMS&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;即在爱影&lt;code&gt;CMS&lt;/code&gt;配置好&lt;code&gt;EFV&lt;/code&gt;采集&lt;code&gt;api&lt;/code&gt;后，视频上传，标签、简介等数据编辑可全在&lt;code&gt;EFV&lt;/code&gt;后台通过豆瓣获取或自行编辑。&lt;/p&gt;
&lt;h2 id=&#34;采集步骤&#34;&gt;采集步骤&lt;/h2&gt;
&lt;h3 id=&#34;开启efv的采集api并配置正确的域名&#34;&gt;开启EFV的采集api并配置正确的域名&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：转码设置的第一个设置域名选项一定要填写正确，也就是采集过去的M3U8和封面域名。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们先去&lt;code&gt;EFV&lt;/code&gt;后台，前往左侧转码相关，找到&lt;code&gt;对接爱影CMS&lt;/code&gt;，点进去可设置采集&lt;code&gt;api&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;建议设置&lt;code&gt;采集key&lt;/code&gt;，如果你只想给某些人采集，那么还可以设置&lt;code&gt;采集ip白名单&lt;/code&gt;，多个&lt;code&gt;ip&lt;/code&gt;使用&lt;code&gt;$&lt;/code&gt;隔开，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#只给ip为123.23.123.123的爱影CMS采集
123.23.123.123

#只给ip为123.23.123.123和132.132.43.12的爱影CMS采集
123.23.123.123$132.132.43.12

#只给ip为123.23.123.123、132.132.43.12和143.154.34.23的爱影CMS采集
123.23.123.123$132.132.43.12$143.154.34.23
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后再前往转码设置，找到最上面的设置域名，填入你&lt;code&gt;EFV&lt;/code&gt;绑定的域名地址，也就是采集接口显示的&lt;code&gt;M3U8&lt;/code&gt;、截图等域名。&lt;/p&gt;
&lt;h3 id=&#34;前往爱影cms后台调整采集参数配置&#34;&gt;前往爱影CMS后台调整采集参数配置&lt;/h3&gt;
&lt;p&gt;先进入到爱影&lt;code&gt;CMS&lt;/code&gt;后台，点击右侧导航的&lt;code&gt;数据采集&lt;/code&gt;栏目，找到&lt;code&gt;采集配置&lt;/code&gt;，大致需要调整的地方如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/iycms1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;配置说明：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、豆瓣评分，如果你在EFV的视频或剧集都有编辑豆瓣评分，则需要开启该选项，不然豆瓣评分无法被爱影CMS采集过来。
2、二次更新规则，也就是你在EFV修改过视频和剧集的相关信息的会不会再次同步更新到爱影CMS，可自行设置，也可默认。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;前往爱影cms后台设置采集接口&#34;&gt;前往爱影CMS后台设置采集接口&lt;/h3&gt;
&lt;p&gt;先进入到爱影&lt;code&gt;CMS&lt;/code&gt;后台，点击右侧导航的&lt;code&gt;数据采集&lt;/code&gt;栏目，找到&lt;code&gt;采集管理&lt;/code&gt;，点击&lt;code&gt;新增资源库&lt;/code&gt;，设置如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：接口地址为 EFV绑定域名 + /api/iycms/vod，如设置了采集key，且key值为12a3b45，则采集地址为/api/iycms/vod/12a3b45
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/iycms2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;接口类型选择&lt;code&gt;JSON&lt;/code&gt;，采集来源选择爱影&lt;code&gt;CMS&lt;/code&gt;即可，其它和上面截图一样即可，采集详细教程 ⇒ &lt;a href=&#34;https://www.iycms.com/documents/5.html&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;注意采集数据的时候，&lt;code&gt;采集选中&lt;/code&gt;暂时不会生效，请通过&lt;code&gt;采集当天&lt;/code&gt;、&lt;code&gt;采集本周&lt;/code&gt;、&lt;code&gt;采集所有&lt;/code&gt;的方式进行采集。&lt;/p&gt;
&lt;h2 id=&#34;相关说明&#34;&gt;相关说明&lt;/h2&gt;
&lt;h3 id=&#34;注意事项&#34;&gt;注意事项&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;EFV&lt;/code&gt;的视频和剧集一定要设置好分类，且配置接口的时候，&lt;code&gt;EFV&lt;/code&gt;分类一定要绑定好爱影&lt;code&gt;CMS&lt;/code&gt;的分类，不然未设置或未绑定好分类的视频无法被爱影&lt;code&gt;CMS&lt;/code&gt;采集。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;EFV&lt;/code&gt;只有已发布的视频和剧集才能被采集，可先对已转码完成的视频和剧集进行相关编辑后再发布出去。&lt;/p&gt;
&lt;p&gt;如果有剧集，建议不要在&lt;code&gt;EFV&lt;/code&gt;给剧集的单集设置分类，防止单集被误操作发布出去了，这样爱影&lt;code&gt;CMS&lt;/code&gt;会当电影采集下来，不绑定分类，就不会采集误发布的单集。&lt;/p&gt;
&lt;h3 id=&#34;发布视频和剧集的多种方法&#34;&gt;发布视频和剧集的多种方法&lt;/h3&gt;
&lt;p&gt;视频发布分为单个视频发布、批量发布和全部发布，可前往&lt;code&gt;EFV&lt;/code&gt;后台 ⇒ 进入视频管理，进行相关操作，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/10q.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;剧集发布，发布剧集之前，请提前将剧集里面的单集添加到剧集里面，然后找到想要发布的剧集右侧操作选项，点击正式发布即可。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 采集API配置教程</title>
      <link>https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/api-collection-configuration-tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/api-collection-configuration-tutorial/</guid>
      <description>
        
        
        &lt;p&gt;开启采集&lt;code&gt;api&lt;/code&gt;之后，可提供给苹果&lt;code&gt;CMS&lt;/code&gt;采集已发布的视频和剧集，包括视频标签、简介等在&lt;code&gt;EFV&lt;/code&gt;编辑的所有视频信息。&lt;/p&gt;
&lt;p&gt;且后面新增的、或修改过相关信息的视频和剧集均可以自动同步更新到苹果&lt;code&gt;CMS&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;即在苹果&lt;code&gt;CMS&lt;/code&gt;配置好&lt;code&gt;EFV&lt;/code&gt;采集&lt;code&gt;api&lt;/code&gt;后，视频上传，标签、简介等数据编辑可全在&lt;code&gt;EFV&lt;/code&gt;后台通过豆瓣获取或自行编辑。&lt;/p&gt;
&lt;h2 id=&#34;采集步骤&#34;&gt;采集步骤&lt;/h2&gt;
&lt;h3 id=&#34;开启efv的采集api并配置正确的域名&#34;&gt;开启EFV的采集api并配置正确的域名&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：转码设置的第一个设置域名选项一定要填写正确，也就是采集过去的M3U8和封面域名。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们先去&lt;code&gt;EFV&lt;/code&gt;后台，前往左侧转码相关，找到&lt;code&gt;对接苹果CMS&lt;/code&gt;，点进去可设置采集&lt;code&gt;api&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;建议设置&lt;code&gt;采集key&lt;/code&gt;，如果你只想给某些人采集，那么还可以设置&lt;code&gt;采集ip白名单&lt;/code&gt;，多个&lt;code&gt;ip&lt;/code&gt;使用&lt;code&gt;$&lt;/code&gt;隔开，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#只给ip为123.23.123.123的苹果CMS采集
123.23.123.123

#只给ip为123.23.123.123和132.132.43.12的苹果CMS采集
123.23.123.123$132.132.43.12

#只给ip为123.23.123.123、132.132.43.12和143.154.34.23的苹果CMS采集
123.23.123.123$132.132.43.12$143.154.34.23
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后再前往转码设置，找到最上面的设置域名，填入你&lt;code&gt;EFV&lt;/code&gt;绑定的域名地址，也就是采集接口显示的&lt;code&gt;M3U8&lt;/code&gt;、截图等域名。&lt;/p&gt;
&lt;h3 id=&#34;前往苹果cms后台调整采集参数配置&#34;&gt;前往苹果CMS后台调整采集参数配置&lt;/h3&gt;
&lt;p&gt;先进入到苹果&lt;code&gt;CMS&lt;/code&gt;后台，点击最上面导航的&lt;code&gt;系统&lt;/code&gt;栏目，在左侧找到&lt;code&gt;采集参数配置&lt;/code&gt;，大致需要调整的地方如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cjapi.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;配置说明：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、入库重复规则，该处默认就行了；注意如果老用户此前使用过第三方CMS发布系统，建议取消掉演员和导演，不然采集数据可能会和发布系统重复。
2、二次更新规则，也就是你在EFV修改过视频和剧集的相关信息的会不会再次同步更新到苹果CMS，可自行设置，也可默认；如果你有剧集，请把连载数、备注和总集数选上。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;前往苹果cms后台设置采集接口&#34;&gt;前往苹果CMS后台设置采集接口&lt;/h3&gt;
&lt;p&gt;先进入到苹果&lt;code&gt;CMS&lt;/code&gt;后台，点击最上面导航的&lt;code&gt;采集&lt;/code&gt;栏目，在左侧找到&lt;code&gt;自定义接口&lt;/code&gt;，点击&lt;code&gt;添加&lt;/code&gt;，设置如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：接口地址为 EFV绑定域名 + /api/provider/vod/?ac=detail&amp;amp;apiKey=yourkey，yourkey为采集key；如未设置key，则接口地址为/api/provider/vod/?ac=detail
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cjapi1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;资源名称和接口地址自行设置，接口类型选择&lt;code&gt;JSON&lt;/code&gt;，其它和上面截图一样即可，添加好&lt;code&gt;自定义接口&lt;/code&gt;后，再点击接口列表已添加的&lt;code&gt;接口地址&lt;/code&gt;，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cjapi2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;点进去后，在最上面我们会看到&lt;code&gt;EFV&lt;/code&gt;的分类信息，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cjapi3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;然后点击分类旁边的绑定，选择苹果&lt;code&gt;CMS&lt;/code&gt;的分类，这样就可以将&lt;code&gt;EFV&lt;/code&gt;的分类视频同步到苹果&lt;code&gt;CMS&lt;/code&gt;指定分类下了。&lt;/p&gt;
&lt;p&gt;最后回到&lt;code&gt;自定义接口&lt;/code&gt;列表，点击右侧的&lt;code&gt;采集全部&lt;/code&gt;即可，等待采集完，&lt;code&gt;EFV&lt;/code&gt;全部的已发布视频和剧集都会被同步到苹果&lt;code&gt;CMS&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cjapi4.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;相关说明&#34;&gt;相关说明&lt;/h2&gt;
&lt;h3 id=&#34;注意事项&#34;&gt;注意事项&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;EFV&lt;/code&gt;的视频和剧集一定要设置好分类，且配置接口的时候，&lt;code&gt;EFV&lt;/code&gt;分类一定要绑定好苹果&lt;code&gt;CMS&lt;/code&gt;的分类，不然未设置或未绑定好分类的视频无法被苹果&lt;code&gt;CMS&lt;/code&gt;采集。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;EFV&lt;/code&gt;默认只有已发布的视频和剧集才能被采集，可先对已转码完成的视频和剧集进行相关编辑后再发布出去；如果你不需要给视频或剧集编辑相关信息，可直接在采集配置页面打开&lt;code&gt;展示有效数据&lt;/code&gt;开关即可，就不需要发布了，会自动将转码完成和有集数的剧集发送到接口提供采集。&lt;/p&gt;
&lt;p&gt;如果有剧集，建议不要在&lt;code&gt;EFV&lt;/code&gt;给剧集的单集设置分类，防止单集被误操作发布出去了，这样苹果&lt;code&gt;CMS&lt;/code&gt;会当电影采集下来，不绑定分类，就不会采集误发布的单集&lt;/p&gt;
&lt;h3 id=&#34;发布视频和剧集的多种方法&#34;&gt;发布视频和剧集的多种方法&lt;/h3&gt;
&lt;p&gt;视频发布分为单个视频发布、批量发布和全部发布，可前往&lt;code&gt;EFV&lt;/code&gt;后台 ⇒ 进入视频管理，进行相关操作，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/10q.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;剧集发布，发布剧集之前，请提前将剧集里面的单集添加到剧集里面，然后找到想要发布的剧集右侧操作选项，点击正式发布即可。&lt;/p&gt;
&lt;h3 id=&#34;如何给采集接口设置不同的图片和m3u8域名&#34;&gt;如何给采集接口设置不同的图片和m3u8域名&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：如果给图片或M3U8单独设置域名，则会覆盖转码设置的设置域名参数，即优先使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一般采集接口的&lt;code&gt;M3U8&lt;/code&gt;和&lt;code&gt;图片&lt;/code&gt;域名默认为&lt;code&gt;转码设置&lt;/code&gt;的第一个&lt;code&gt;设置域名&lt;/code&gt;参数，如果你有特殊需求，是可以单独进行设置的。&lt;/p&gt;
&lt;h4 id=&#34;单独设置图片域名&#34;&gt;单独设置图片域名&lt;/h4&gt;
&lt;p&gt;可直接在&lt;code&gt;EFV&lt;/code&gt;后台的&lt;code&gt;对接苹果CMS&lt;/code&gt;功能设置页面，找到相关设置项进行设置。&lt;/p&gt;
&lt;h4 id=&#34;单独设置m3u8域名&#34;&gt;单独设置M3U8域名&lt;/h4&gt;
&lt;p&gt;目前最新版支持自定义&lt;code&gt;M3U8&lt;/code&gt;域名，需要直接在采集接口使用参数传递，使用方法如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#直接在采集接口后面添加m3u8url参数即可，比如我要指定m3u8域名为https://cdn1.com
/api/provider/vod/?ac=detail&amp;amp;m3u8url=https://cdn1.com

/api/provider/vod/?ac=detail&amp;amp;apiKey=yourkey&amp;amp;m3u8url=https://cdn1.com

#然后你可以浏览器访问接口，检查m3u8域名是否变成了你传入的参数，如不生效则需更新最新版
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后将带&lt;code&gt;M3U8&lt;/code&gt;域名参数的接口地址填入到苹果接口配置项即可，且目前图片域名可以直接在后台单独设置。&lt;/p&gt;
&lt;h3 id=&#34;全英文数据api采集接口&#34;&gt;全英文数据api采集接口&lt;/h3&gt;
&lt;p&gt;目前提供一个输出英文数据的苹果采集&lt;code&gt;api&lt;/code&gt;接口，可用来做纯英文站点，地址：&lt;code&gt;/api/provider/vod/en/?ac=detail&lt;/code&gt;，用法参考上面，只需要改一下采集地址即可，英文信息可使用&lt;code&gt;AI&lt;/code&gt;进行自动翻译，可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/ai-add-english-traditional-chinese-content/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;最后该英文接口优先显示英文数据，如果部分字段没填充英文数据，则会使用默认的中文数据，推荐结合苹果&lt;code&gt;cms&lt;/code&gt;的纯英文模板一起使用。&lt;/p&gt;
&lt;h3 id=&#34;多语言数据api采集接口&#34;&gt;多语言数据api采集接口&lt;/h3&gt;
&lt;p&gt;目前提供一个输出中英繁数据的苹果采集&lt;code&gt;api&lt;/code&gt;接口，可用来做多语言站点，地址：&lt;code&gt;/api/provider/vod/intl/?ac=detail&lt;/code&gt;，用法参考上面，只需要改一下采集地址即可，多语言信息可使用&lt;code&gt;AI&lt;/code&gt;进行自动翻译，可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/ai-add-english-traditional-chinese-content/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;最后该接口会同时输出中英繁信息，需结合苹果&lt;code&gt;CMS&lt;/code&gt;的多语言模板一起使用，并自行入库多语言数据。&lt;/p&gt;
&lt;h3 id=&#34;xml类型的采集api接口&#34;&gt;XML类型的采集api接口&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：如打开采集接口显示404，需更新到最新版再使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前还提供给&lt;code&gt;苹果CMS&lt;/code&gt;采集的&lt;code&gt;XML&lt;/code&gt;接口，地址：&lt;code&gt;/api/provider/vod/xml/&lt;/code&gt; 或 &lt;code&gt;/api/provider/vod/xml/?apiKey=yourkey&lt;/code&gt;，优先推荐使用上面的&lt;code&gt;JSON&lt;/code&gt;接口，支持更多参数采集，如截图等。&lt;/p&gt;
&lt;p&gt;或者你如果使用其它兼容苹果&lt;code&gt;XML&lt;/code&gt;采集接口的&lt;code&gt;CMS&lt;/code&gt;也可以拿来直接使用。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 发布详细步骤</title>
      <link>https://docs.efvcms.com/docs/wordpress-publishing-tutorial/detailed-publishing-steps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/wordpress-publishing-tutorial/detailed-publishing-steps/</guid>
      <description>
        
        
        &lt;h2 id=&#34;准备工作&#34;&gt;准备工作&lt;/h2&gt;
&lt;p&gt;如果你使用的模板没有&lt;code&gt;m3u8&lt;/code&gt;播放器，那么需安装&lt;code&gt;m3u8&lt;/code&gt;播放器，比如&lt;code&gt;Wideo&lt;/code&gt;视频播放器，或其它播放器，能播放&lt;code&gt;m3u8&lt;/code&gt;就行。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/wp2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;模板有播放器的可以跳过安装。&lt;/p&gt;
&lt;h2 id=&#34;导出xml文件&#34;&gt;导出XML文件&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：转码设置的第一个设置域名选项一定要填写正确，也就是导出的M3U8和封面域名。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;首先我们需要前往&lt;code&gt;WordPress&lt;/code&gt;程序，添加一个视频，并编辑好该视频的相关信息，包括使用的主题在文章编辑页面的关键设置项，然后找到左侧工具的导出，选择导出的内容，一般默认只需要导出&lt;code&gt;文章&lt;/code&gt;就行了，有些主题会使用其它的文章类型，可以根据导航标题进行判断。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/7878.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;导出并下载&lt;code&gt;XML&lt;/code&gt;文件，再用浏览器打开该&lt;code&gt;XML&lt;/code&gt;文件，我添加的内容参考：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;item&amp;gt;
    &amp;lt;title&amp;gt;天元突破剧场版：螺岩篇&amp;lt;/title&amp;gt;
    &amp;lt;link&amp;gt;&amp;lt;/link&amp;gt;
    &amp;lt;pubDate&amp;gt;&amp;lt;/pubDate&amp;gt;
    &amp;lt;dc:creator&amp;gt;
        &amp;lt;![CDATA[admin]]&amp;gt;
    &amp;lt;/dc:creator&amp;gt;
    &amp;lt;guid isPermaLink=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/guid&amp;gt;
    &amp;lt;description&amp;gt;
        &amp;lt;![CDATA[]]&amp;gt;
    &amp;lt;/description&amp;gt;
    &amp;lt;content:encoded&amp;gt;
        &amp;lt;![CDATA[ガイナックスによる人気ロボットアニメの劇場版「天元突破グレンラガン／紅蓮篇」に続く第2弾。大グレン団は螺旋族王四天王を撃破し、王都テッペリンにて螺旋王ロージェノムとの壮絶な一騎打ちを制したシモン。王都...]]&amp;gt;
    &amp;lt;/content:encoded&amp;gt;
    &amp;lt;excerpt:encoded&amp;gt;
        &amp;lt;![CDATA[]]&amp;gt;
    &amp;lt;/excerpt:encoded&amp;gt;
    &amp;lt;wp:post_id&amp;gt;603748954&amp;lt;/wp:post_id&amp;gt;
    &amp;lt;wp:post_date&amp;gt;
        &amp;lt;![CDATA[]]&amp;gt;
    &amp;lt;/wp:post_date&amp;gt;
    &amp;lt;wp:comment_status&amp;gt;
        &amp;lt;![CDATA[open]]&amp;gt;
    &amp;lt;/wp:comment_status&amp;gt;
    &amp;lt;wp:ping_status&amp;gt;
        &amp;lt;![CDATA[open]]&amp;gt;
    &amp;lt;/wp:ping_status&amp;gt;
    &amp;lt;wp:post_name&amp;gt;
        &amp;lt;![CDATA[天元突破剧场版：螺岩篇]]&amp;gt;
    &amp;lt;/wp:post_name&amp;gt;
    &amp;lt;wp:status&amp;gt;
        &amp;lt;![CDATA[publish]]&amp;gt;
    &amp;lt;/wp:status&amp;gt;
    &amp;lt;wp:post_parent&amp;gt;0&amp;lt;/wp:post_parent&amp;gt;
    &amp;lt;wp:menu_order&amp;gt;0&amp;lt;/wp:menu_order&amp;gt;
    &amp;lt;wp:post_type&amp;gt;
        &amp;lt;![CDATA[post]]&amp;gt;
    &amp;lt;/wp:post_type&amp;gt;
    &amp;lt;wp:post_password&amp;gt;
        &amp;lt;![CDATA[]]&amp;gt;
    &amp;lt;/wp:post_password&amp;gt;
    &amp;lt;wp:is_sticky&amp;gt;0&amp;lt;/wp:is_sticky&amp;gt;
    &amp;lt;category domain=&amp;quot;movie_bt_series&amp;quot; nicename=&amp;quot;其它动漫&amp;quot;&amp;gt;
        &amp;lt;![CDATA[其它动漫]]&amp;gt;
    &amp;lt;/category&amp;gt;
    &amp;lt;category domain=&amp;quot;movie_bt_tags&amp;quot; nicename=&amp;quot;剧情&amp;quot;&amp;gt;
        &amp;lt;![CDATA[剧情]]&amp;gt;
    &amp;lt;/category&amp;gt;
    &amp;lt;category domain=&amp;quot;movie_bt_tags&amp;quot; nicename=&amp;quot;动画&amp;quot;&amp;gt;
        &amp;lt;![CDATA[动画]]&amp;gt;
    &amp;lt;/category&amp;gt;
    &amp;lt;category domain=&amp;quot;movie_bt_year&amp;quot; nicename=&amp;quot;2009&amp;quot;&amp;gt;
        &amp;lt;![CDATA[2009]]&amp;gt;
    &amp;lt;/category&amp;gt;
    &amp;lt;category domain=&amp;quot;movie_bt_cat&amp;quot; nicename=&amp;quot;日本&amp;quot;&amp;gt;
        &amp;lt;![CDATA[日本]]&amp;gt;
    &amp;lt;/category&amp;gt;
    &amp;lt;wp:postmeta&amp;gt;
        &amp;lt;wp:meta_key&amp;gt;
            &amp;lt;![CDATA[_thumbnail_id]]&amp;gt;
        &amp;lt;/wp:meta_key&amp;gt;
        &amp;lt;wp:meta_value&amp;gt;
            &amp;lt;![CDATA[2361609315]]&amp;gt;
        &amp;lt;/wp:meta_value&amp;gt;
    &amp;lt;/wp:postmeta&amp;gt;
    &amp;lt;wp:postmeta&amp;gt;
        &amp;lt;wp:meta_key&amp;gt;
            &amp;lt;![CDATA[years_mi_value]]&amp;gt;
        &amp;lt;/wp:meta_key&amp;gt;
        &amp;lt;wp:meta_value&amp;gt;
            &amp;lt;![CDATA[2009]]&amp;gt;
        &amp;lt;/wp:meta_value&amp;gt;
    &amp;lt;/wp:postmeta&amp;gt;
    &amp;lt;wp:postmeta&amp;gt;
        &amp;lt;wp:meta_key&amp;gt;
            &amp;lt;![CDATA[performer_mi_value]]&amp;gt;
        &amp;lt;/wp:meta_key&amp;gt;
        &amp;lt;wp:meta_value&amp;gt;
            &amp;lt;![CDATA[佐藤利奈,伊藤静,桧山修之,小西克幸,柿原彻也,本田贵子,植田佳奈,菅生隆之,上川隆也,井上麻里奈,谷山纪章,阿澄佳奈,斋贺光希,堂坂晃三,宫坂俊藏,池田成志,小野坂昌也,四宫豪,福井裕佳梨,水岛大宙,近藤隆,中村大树,七绪春日,桐井大介,金光宣明,石上裕一,逢坂力,川上贵史,大林隆介,日野未步,大原崇,金野润,疋田高志,相马幸人]]&amp;gt;
        &amp;lt;/wp:meta_value&amp;gt;
    &amp;lt;/wp:postmeta&amp;gt;
    &amp;lt;wp:postmeta&amp;gt;
        &amp;lt;wp:meta_key&amp;gt;
            &amp;lt;![CDATA[Director_mi_value]]&amp;gt;
        &amp;lt;/wp:meta_key&amp;gt;
        &amp;lt;wp:meta_value&amp;gt;
            &amp;lt;![CDATA[今石洋之]]&amp;gt;
        &amp;lt;/wp:meta_value&amp;gt;
    &amp;lt;/wp:postmeta&amp;gt;
    &amp;lt;wp:postmeta&amp;gt;
        &amp;lt;wp:meta_key&amp;gt;
            &amp;lt;![CDATA[scenarist_mi_value]]&amp;gt;
        &amp;lt;/wp:meta_key&amp;gt;
        &amp;lt;wp:meta_value&amp;gt;
            &amp;lt;![CDATA[中岛一基]]&amp;gt;
        &amp;lt;/wp:meta_value&amp;gt;
    &amp;lt;/wp:postmeta&amp;gt;
    &amp;lt;wp:postmeta&amp;gt;
        &amp;lt;wp:meta_key&amp;gt;
            &amp;lt;![CDATA[brief_introduction_mi_value]]&amp;gt;
        &amp;lt;/wp:meta_key&amp;gt;
        &amp;lt;wp:meta_value&amp;gt;
            &amp;lt;![CDATA[ガイナックスによる人気ロボットアニメの劇場版「天元突破グレンラガン／紅蓮篇」に続く第2弾。大グレン団は螺旋族王四天王を撃破し、王都テッペリンにて螺旋王ロージェノムとの壮絶な一騎打ちを制したシモン。王都...]]&amp;gt;
        &amp;lt;/wp:meta_value&amp;gt;
    &amp;lt;/wp:postmeta&amp;gt;
    &amp;lt;wp:postmeta&amp;gt;
        &amp;lt;wp:meta_key&amp;gt;
            &amp;lt;![CDATA[drama_url_mi_value]]&amp;gt;
        &amp;lt;/wp:meta_key&amp;gt;
        &amp;lt;wp:meta_value&amp;gt;
            &amp;lt;![CDATA[http://localhost:3000/videos/202509/01/68b4fa98fc3d78683e40c48b/a72gf2/index.m3u8]]&amp;gt;
        &amp;lt;/wp:meta_value&amp;gt;
    &amp;lt;/wp:postmeta&amp;gt;
    &amp;lt;wp:postmeta&amp;gt;
        &amp;lt;wp:meta_key&amp;gt;
            &amp;lt;![CDATA[videojj_api_value]]&amp;gt;
        &amp;lt;/wp:meta_key&amp;gt;
        &amp;lt;wp:meta_value&amp;gt;
            &amp;lt;![CDATA[1]]&amp;gt;
        &amp;lt;/wp:meta_value&amp;gt;
    &amp;lt;/wp:postmeta&amp;gt;
&amp;lt;/item&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;随着主题不一样，内容也会稍有差异，但是整体差不多，接下来我们就看该&lt;code&gt;XML&lt;/code&gt;内容进行相关设置。&lt;/p&gt;
&lt;h3 id=&#34;文章设置&#34;&gt;文章设置&lt;/h3&gt;
&lt;h5 id=&#34;文章类型&#34;&gt;文章类型&lt;/h5&gt;
&lt;p&gt;我们从&lt;code&gt;XML&lt;/code&gt;文件获取到&lt;code&gt;post_type&lt;/code&gt;信息，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;wp:post_type&amp;gt;
    &amp;lt;![CDATA[post]]&amp;gt;
&amp;lt;/wp:post_type&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;填入&lt;code&gt;CDATA&lt;/code&gt;里面的参数值，一般默认为&lt;code&gt;post&lt;/code&gt;。&lt;/p&gt;
&lt;h5 id=&#34;简介写入文章内容&#34;&gt;简介写入文章内容&lt;/h5&gt;
&lt;p&gt;如你需要将视频简介写入到文章内容，则开启。&lt;/p&gt;
&lt;h5 id=&#34;播放器写入文章内容&#34;&gt;播放器写入文章内容&lt;/h5&gt;
&lt;p&gt;有些主题不带播放器，可能配合播放器插件，将播放代码写进文章，达到播放目的，如果你是这种情况，则开启，然后再设置&lt;code&gt;播放器代码&lt;/code&gt;即可。&lt;/p&gt;
&lt;h5 id=&#34;播放器代码设置&#34;&gt;播放器代码设置&lt;/h5&gt;
&lt;p&gt;先查看&lt;code&gt;WordPress&lt;/code&gt;里使用的播放器在文章中的调用代码，如&lt;code&gt;Wideo&lt;/code&gt;视频播放器，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/wp6.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;具体调用代码，以你使用的播放器为准，然后修改播放器设置项参考如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#Wideo播放器的调用代码
[wideo]https://test.efv.com/movie/auto/61b3420ed5b39400f73217ff.m3u8[/wideo]
#播放器设置项
[wideo]m3u8url[/wideo]

#Dplayer播放器的调用代码
[dplayer url=&amp;quot;https://test.efv.com/movie/auto/61b3420ed5b39400f73217ff.m3u8&amp;quot; pic=&amp;quot;https://test.efv.com/61b3420ed5b39400f73217ff.jpg&amp;quot;/]
#播放器设置项
[dplayer url=&amp;quot;m3u8url&amp;quot; pic=&amp;quot;poster2url&amp;quot; /]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;且设置项里面，需使用&lt;code&gt;m3u8url&lt;/code&gt;代替&lt;code&gt;m3u8&lt;/code&gt;链接，&lt;code&gt;poster1url&lt;/code&gt;代替&lt;code&gt;封面1链接&lt;/code&gt;，&lt;code&gt;poster2url&lt;/code&gt;代替&lt;code&gt;封面2链接&lt;/code&gt;，你只需要根据播放器的调用代码，用变量替换下相关链接，其它代码都不要变，然后填入播放器设置项即可。&lt;/p&gt;
&lt;h5 id=&#34;使用封面2作为文章封面&#34;&gt;使用封面2作为文章封面&lt;/h5&gt;
&lt;p&gt;默认使用&lt;code&gt;封面1&lt;/code&gt;作为文章封面，开启则会使用&lt;code&gt;封面2&lt;/code&gt;；区别就是&lt;code&gt;封面1&lt;/code&gt;会根据转码设置的自定义长宽进行裁剪，&lt;code&gt;封面2&lt;/code&gt;不会裁剪，并自适应宽高比例，适用于相关影视海报图片，自行根据需求选择。&lt;/p&gt;
&lt;h3 id=&#34;分类标签的domain参数&#34;&gt;分类/标签的domain参数&lt;/h3&gt;
&lt;p&gt;我们从&lt;code&gt;XML&lt;/code&gt;文件获取到&lt;code&gt;category domain&lt;/code&gt;信息，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;category domain=&amp;quot;movie_bt_series&amp;quot; nicename=&amp;quot;其它动漫&amp;quot;&amp;gt;
    &amp;lt;![CDATA[其它动漫]]&amp;gt;
&amp;lt;/category&amp;gt;
&amp;lt;category domain=&amp;quot;movie_bt_tags&amp;quot; nicename=&amp;quot;剧情&amp;quot;&amp;gt;
    &amp;lt;![CDATA[剧情]]&amp;gt;
&amp;lt;/category&amp;gt;
&amp;lt;category domain=&amp;quot;movie_bt_tags&amp;quot; nicename=&amp;quot;动画&amp;quot;&amp;gt;
    &amp;lt;![CDATA[动画]]&amp;gt;
&amp;lt;/category&amp;gt;
&amp;lt;category domain=&amp;quot;movie_bt_year&amp;quot; nicename=&amp;quot;2009&amp;quot;&amp;gt;
    &amp;lt;![CDATA[2009]]&amp;gt;
&amp;lt;/category&amp;gt;
&amp;lt;category domain=&amp;quot;movie_bt_cat&amp;quot; nicename=&amp;quot;日本&amp;quot;&amp;gt;
    &amp;lt;![CDATA[日本]]&amp;gt;
&amp;lt;/category&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;上方的信息中，&lt;code&gt;分类&lt;/code&gt;是&lt;code&gt;其它动漫&lt;/code&gt;，&lt;code&gt;分类标签&lt;/code&gt;是&lt;code&gt;剧情&lt;/code&gt;、&lt;code&gt;动画&lt;/code&gt;，&lt;code&gt;年份&lt;/code&gt;是&lt;code&gt;2009&lt;/code&gt;，&lt;code&gt;国家&lt;/code&gt;是&lt;code&gt;日本&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;这里我拿&lt;code&gt;分类&lt;/code&gt;举例，分类对应的&lt;code&gt;domain&lt;/code&gt;为&lt;code&gt;movie_bt_series&lt;/code&gt;，也就是我们需要设置参数；&lt;code&gt;分类标签&lt;/code&gt;、&lt;code&gt;年份&lt;/code&gt;、&lt;code&gt;国家&lt;/code&gt;的&lt;code&gt;domain&lt;/code&gt;设置都差不多。&lt;/p&gt;
&lt;h5 id=&#34;相关提示&#34;&gt;相关提示&lt;/h5&gt;
&lt;p&gt;有些主题，会只使用&lt;code&gt;分类&lt;/code&gt;、和&lt;code&gt;分类标签&lt;/code&gt;，&lt;code&gt;年份&lt;/code&gt;和&lt;code&gt;国家&lt;/code&gt;用不到，那么设置项可以留空。&lt;/p&gt;
&lt;p&gt;也有的主题会同时使用&lt;code&gt;系统标签&lt;/code&gt;和&lt;code&gt;自带的标签&lt;/code&gt;，也就会出现&lt;code&gt;2&lt;/code&gt;个不同的&lt;code&gt;domain&lt;/code&gt;，同时使用一个&lt;code&gt;标签&lt;/code&gt;，比如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;category domain=&amp;quot;movie_bt_tags&amp;quot; nicename=&amp;quot;剧情&amp;quot;&amp;gt;
    &amp;lt;![CDATA[剧情]]&amp;gt;
&amp;lt;/category&amp;gt;
&amp;lt;category domain=&amp;quot;movie_bt_tags&amp;quot; nicename=&amp;quot;动画&amp;quot;&amp;gt;
    &amp;lt;![CDATA[动画]]&amp;gt;
&amp;lt;/category&amp;gt;
&amp;lt;category domain=&amp;quot;movie_bt_view_cat&amp;quot; nicename=&amp;quot;剧情&amp;quot;&amp;gt;
    &amp;lt;![CDATA[剧情]]&amp;gt;
&amp;lt;/category&amp;gt;
&amp;lt;category domain=&amp;quot;movie_bt_view_cat&amp;quot; nicename=&amp;quot;动画&amp;quot;&amp;gt;
    &amp;lt;![CDATA[动画]]&amp;gt;
&amp;lt;/category&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这就是&lt;code&gt;movie_bt_view_cat&lt;/code&gt;和&lt;code&gt;movie_bt_tags&lt;/code&gt;同时使用一个&lt;code&gt;分类标签&lt;/code&gt;，那么我设置的时候，就设置&lt;code&gt;movie_bt_view_cat,movie_bt_tags&lt;/code&gt;，即多个&lt;code&gt;domian&lt;/code&gt;参数之间使用英文逗号&lt;code&gt;,&lt;/code&gt;分开即可。&lt;/p&gt;
&lt;h3 id=&#34;信息字段的meta_key参数&#34;&gt;信息字段的meta_key参数&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：如果你Wordpress使用了特色图片插件，那么直接在封面选项填入对应的meta_key参数，否则封面会默认使用WordPress媒体库附件机制。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们从&lt;code&gt;XML&lt;/code&gt;文件获取到&lt;code&gt;meta_key&lt;/code&gt;信息，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;wp:postmeta&amp;gt;
    &amp;lt;wp:meta_key&amp;gt;
        &amp;lt;![CDATA[performer_mi_value]]&amp;gt;
    &amp;lt;/wp:meta_key&amp;gt;
    &amp;lt;wp:meta_value&amp;gt;
        &amp;lt;![CDATA[佐藤利奈,伊藤静,桧山修之,小西克幸,柿原彻也,本田贵子,植田佳奈,菅生隆之,上川隆也,井上麻里奈,谷山纪章,阿澄佳奈,斋贺光希,堂坂晃三,宫坂俊藏,池田成志,小野坂昌也,四宫豪,福井裕佳梨,水岛大宙,近藤隆,中村大树,七绪春日,桐井大介,金光宣明,石上裕一,逢坂力,川上贵史,大林隆介,日野未步,大原崇,金野润,疋田高志,相马幸人]]&amp;gt;
    &amp;lt;/wp:meta_value&amp;gt;
&amp;lt;/wp:postmeta&amp;gt;
&amp;lt;wp:postmeta&amp;gt;
    &amp;lt;wp:meta_key&amp;gt;
        &amp;lt;![CDATA[brief_introduction_mi_value]]&amp;gt;
    &amp;lt;/wp:meta_key&amp;gt;
    &amp;lt;wp:meta_value&amp;gt;
        &amp;lt;![CDATA[ガイナックスによる人気ロボットアニメの劇場版「天元突破グレンラガン／紅蓮篇」に続く第2弾。大グレン団は螺旋族王四天王を撃破し、王都テッペリンにて螺旋王ロージェノムとの壮絶な一騎打ちを制したシモン。王都...]]&amp;gt;
    &amp;lt;/wp:meta_value&amp;gt;
&amp;lt;/wp:postmeta&amp;gt;
&amp;lt;wp:postmeta&amp;gt;
    &amp;lt;wp:meta_key&amp;gt;
        &amp;lt;![CDATA[drama_url_mi_value]]&amp;gt;
    &amp;lt;/wp:meta_key&amp;gt;
    &amp;lt;wp:meta_value&amp;gt;
        &amp;lt;![CDATA[http://localhost:3000/videos/202509/01/68b4fa98fc3d78683e40c48b/a72gf2/index.m3u8]]&amp;gt;
    &amp;lt;/wp:meta_value&amp;gt;
&amp;lt;/wp:postmeta&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里只列举一部分，基本上每段&lt;code&gt;&amp;lt;wp:postmeta&amp;gt;&lt;/code&gt;到&lt;code&gt;&amp;lt;/wp:postmeta&amp;gt;&lt;/code&gt;之间都包含一个字段信息，比如我&lt;code&gt;主演信息&lt;/code&gt;对应的&lt;code&gt;meta_key&lt;/code&gt;参数为&lt;code&gt;performer_mi_value&lt;/code&gt;，&lt;code&gt;简介信息&lt;/code&gt;对应的&lt;code&gt;meta_key&lt;/code&gt;参数为&lt;code&gt;brief_introduction_mi_value&lt;/code&gt;，&lt;code&gt;m3u8链接&lt;/code&gt;对应的&lt;code&gt;meta_key&lt;/code&gt;参数为&lt;code&gt;drama_url_mi_value&lt;/code&gt;，其它信息对应的&lt;code&gt;meta_key&lt;/code&gt;参数也找出来，然后填入到对应的设置项即可。&lt;/p&gt;
&lt;h5 id=&#34;其它自定义字段说明&#34;&gt;其它自定义字段说明&lt;/h5&gt;
&lt;p&gt;有些主题会在文章编辑页面下方，加一些重要的功能设置项，这些设置项也有对应的&lt;code&gt;meta_key&lt;/code&gt;参数，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;wp:postmeta&amp;gt;
    &amp;lt;wp:meta_key&amp;gt;
        &amp;lt;![CDATA[videojj_api_value]]&amp;gt;
    &amp;lt;/wp:meta_key&amp;gt;
    &amp;lt;wp:meta_value&amp;gt;
        &amp;lt;![CDATA[1]]&amp;gt;
    &amp;lt;/wp:meta_value&amp;gt;
&amp;lt;/wp:postmeta&amp;gt;
&amp;lt;wp:postmeta&amp;gt;
    &amp;lt;wp:meta_key&amp;gt;
        &amp;lt;![CDATA[flowplay_api_value]]&amp;gt;
    &amp;lt;/wp:meta_key&amp;gt;
    &amp;lt;wp:meta_value&amp;gt;
        &amp;lt;![CDATA[0]]&amp;gt;
    &amp;lt;/wp:meta_value&amp;gt;
&amp;lt;/wp:postmeta&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;即&lt;code&gt;meta_key&lt;/code&gt;参数为&lt;code&gt;videojj_api_value&lt;/code&gt;对应值为&lt;code&gt;1&lt;/code&gt;，&lt;code&gt;meta_key&lt;/code&gt;参数为&lt;code&gt;flowplay_api_value&lt;/code&gt;对应值为&lt;code&gt;0&lt;/code&gt;，那么我们就在&lt;code&gt;其它自定义字段&lt;/code&gt;设置&lt;code&gt;videojj_api_value:1|flowplay_api_value:0&lt;/code&gt;即可。&lt;/p&gt;
&lt;p&gt;注意这里只设置重要的设置项就行了，很多主题设置项是不需要设置的，所以不要全部添加，只添加必要的设置项。&lt;/p&gt;
&lt;h5 id=&#34;相关提示-1&#34;&gt;相关提示&lt;/h5&gt;
&lt;p&gt;一般&lt;code&gt;m3u8播放地址&lt;/code&gt;对应的&lt;code&gt;meta_key&lt;/code&gt;输出的是纯&lt;code&gt;m3u8链接&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;wp:postmeta&amp;gt;
    &amp;lt;wp:meta_key&amp;gt;
        &amp;lt;![CDATA[drama_url_mi_value]]&amp;gt;
    &amp;lt;/wp:meta_key&amp;gt;
    &amp;lt;wp:meta_value&amp;gt;
        &amp;lt;![CDATA[http://localhost:3000/videos/202509/01/68b4fa98fc3d78683e40c48b/a72gf2/index.m3u8]]&amp;gt;
    &amp;lt;/wp:meta_value&amp;gt;
&amp;lt;/wp:postmeta&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;也就是里面只有一个&lt;code&gt;m3u8链接&lt;/code&gt;，有些主题的&lt;code&gt;m3u8 meta_key&lt;/code&gt;信息，需要的并不是纯&lt;code&gt;m3u8链接&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;wp:postmeta&amp;gt;
    &amp;lt;wp:meta_key&amp;gt;
        &amp;lt;![CDATA[drama_url_mi_value]]&amp;gt;
    &amp;lt;/wp:meta_key&amp;gt;
    &amp;lt;wp:meta_value&amp;gt;
        &amp;lt;![CDATA[{s:11:&amp;quot;paly_url_mi&amp;quot;;s:78:&amp;quot;http://localhost:3000/videos/202509/01/68b4fa98fc3d78683e40c48b/a72gf2/index.m3u8&amp;quot;;s:15:&amp;quot;episodes_num_mi&amp;quot;;s:1:&amp;quot;1&amp;quot;;s:11:&amp;quot;subtitle_mi&amp;quot;;s:0:&amp;quot;&amp;quot;;}]]&amp;gt;
    &amp;lt;/wp:meta_value&amp;gt;
&amp;lt;/wp:postmeta&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;比如这里需要的&lt;code&gt;m3u8&lt;/code&gt;信息如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{s:11:&amp;quot;paly_url_mi&amp;quot;;s:78:&amp;quot;http://localhost:3000/videos/202509/01/68b4fa98fc3d78683e40c48b/a72gf2/index.m3u8&amp;quot;;s:15:&amp;quot;episodes_num_mi&amp;quot;;s:1:&amp;quot;1&amp;quot;;s:11:&amp;quot;subtitle_mi&amp;quot;;s:0:&amp;quot;&amp;quot;;}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;那么此时我们需要配合上方的&lt;code&gt;播放器代码设置&lt;/code&gt;一起使用，可参考上方的文档说明 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/wordpress-publishing-tutorial/detailed-publishing-steps/#%E6%92%AD%E6%94%BE%E5%99%A8%E4%BB%A3%E7%A0%81%E8%AE%BE%E7%BD%AE&#34;&gt;传送门&lt;/a&gt;，这里我们使用&lt;code&gt;m3u8url&lt;/code&gt;代替&lt;code&gt;m3u8链接&lt;/code&gt;，那么我们在&lt;code&gt;播放器代码设置&lt;/code&gt;设置如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{s:11:&amp;quot;paly_url_mi&amp;quot;;s:78:&amp;quot;m3u8url&amp;quot;;s:15:&amp;quot;episodes_num_mi&amp;quot;;s:1:&amp;quot;1&amp;quot;;s:11:&amp;quot;subtitle_mi&amp;quot;;s:0:&amp;quot;&amp;quot;;}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意，这里需关闭&lt;code&gt;播放器写入文章内容&lt;/code&gt;功能，也就是仅在&lt;code&gt;meta_key参数&lt;/code&gt;中生效，设置好了后，导出&lt;code&gt;XML&lt;/code&gt;的时候，&lt;code&gt;m3u8信息&lt;/code&gt;会自动使用&lt;code&gt;播放器代码设置&lt;/code&gt;的设置项进行处理，最终会成为我们需要的信息。&lt;/p&gt;
&lt;p&gt;最后都设置好了后，就可以导出&lt;code&gt;XML&lt;/code&gt;文件了，如视频数量过大，可在同一&lt;code&gt;批次ID&lt;/code&gt;下，分多次导出。&lt;/p&gt;
&lt;h2 id=&#34;导入xml文件到wordpress&#34;&gt;导入XML文件到WordPress&lt;/h2&gt;
&lt;p&gt;我们先去&lt;code&gt;WordPress&lt;/code&gt;后台左侧工具的&lt;code&gt;导入&lt;/code&gt;，找到&lt;code&gt;WordPress&lt;/code&gt;自带的导入器，导入&lt;code&gt;XML&lt;/code&gt;文件即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/wp4.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/wp5.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;这里导入的时候，可以选择分配到管理员用户名，且下载附件一定要打勾，不然入库不了封面。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 服务器视频文件入库和视频远程上传</title>
      <link>https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-file-upload-storage/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-file-upload-storage/</guid>
      <description>
        
        
        &lt;h2 id=&#34;视频文件入库&#34;&gt;视频文件入库&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;#该api效果可参考扫描入库，可以将movies所有视频入库到视频库，再自动转码。
POST /api/ruku

body: {
    apikey,
}

response: {
    success: 1,
}

#curl命令使用示例，apikey可在转码设置处获取
curl http://127.0.0.1:3000/api/ruku -d &amp;quot;apikey=5c20cEga&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;上传&#34;&gt;上传&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：大文件优先推荐使用TUS上传，其次是分片上传，小文件可以使用简易上传；如2025-05-15之前的版本，需更新到新版使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;tus协议上传&#34;&gt;TUS协议上传&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#TUS支持失败重试，可以自己设置重试间隔和次数，且上传过程中刷新页面或断网，再次上传相同文件会自动从断点处继续。

#上传文件，TUS协议会自动处理文件分片、断点续传等功能，默认分片大小为5MB
POST /client/uploads

Headers: {
    Authorization: Bearer 5c20cEga22FgG7f, //5c20cEga22FgG7f为apikey，可在转码设置获取apikey
}

#上传完成后，再调用该接口创建转码任务
POST /client/createjob

Headers: {
    Authorization: Bearer 5c20cEga22FgG7f, //5c20cEga22FgG7f为apikey，可在转码设置获取apikey
    Content-Type: application/json
}

body: {
    id,            //必传，TUS上传完成后的文件ID
    originalname,  //必传，视频名称
    category,      //可选，视频分类，如分类不存在会自动创建
    clientId,      //可选，传递一个数据库id，即客户端辨识视频id，当使用通知接口返回信息的时候会返回该id，让你对应并进行数据填充。
}

response: {
    success: 1,   //0为失败，即上传完成会检测视频元数据，元数据有问题会提示上传失败并自动删除上传文件
    id            //视频ID
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;TUS&lt;/code&gt;项目地址 ⇒ &lt;a href=&#34;https://github.com/tus&#34;&gt;传送门&lt;/a&gt;，&lt;code&gt;Html&lt;/code&gt;示例参考 ⇒ &lt;a href=&#34;https://down.querydata.org/down/movie_tus_upload.zip&#34;&gt;传送门&lt;/a&gt;，编辑文件里面的接口地址和&lt;code&gt;apikey&lt;/code&gt;就可以直接测试了。&lt;/p&gt;
&lt;p&gt;我们上传后，会自动返回一个视频&lt;code&gt;objectid&lt;/code&gt;，我们可以直接拿来组装自适应&lt;code&gt;M3U8&lt;/code&gt;地址，或者通过通知接口接收相关数据。&lt;/p&gt;
&lt;p&gt;注意上传如果报错&lt;code&gt;413&lt;/code&gt;状态码，则可能是&lt;code&gt;nginx&lt;/code&gt;上传限制，调整下&lt;code&gt;nginx&lt;/code&gt;上传限制大小即可。&lt;/p&gt;
&lt;h3 id=&#34;分片上传&#34;&gt;分片上传&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#分片上传就是需要自己先把文件切成小块再上传，详情使用可参考下方HTML文件。

POST /api/upload?uploadkey=5c20cEga22FgG7f //后台设置上传秘钥

body: {
    file, //必传，文件对象，分片之后的视频文件
    filemd5, //必传，md5码，未分片前视频的独一无二的MD5码
    chunk, //必传，当前分片数，从0开始
    chunks, //必传，总分片数
    size,  //必传，视频总大小单位字节
    originalname,  //可选，视频名称，如不传默认使用文件名称
    category,      //可选，视频分类，如分类不存在会自动创建
    clientId,      //可选，传递一个数据库id，即客户端辨识视频id，当使用通知接口返回信息的时候会返回该id，让你对应并进行数据填充。
}

response: {
    success: 1, //0为失败，即上传完成会检测视频元数据，元数据有问题会提示上传失败并自动删除上传文件。
    id
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Html&lt;/code&gt;示例参考 ⇒ &lt;a href=&#34;https://down.querydata.org/down/movie_upload.zip&#34;&gt;传送门&lt;/a&gt;，编辑文件里面的接口地址和&lt;code&gt;uploadkey&lt;/code&gt;就可以直接测试了。&lt;/p&gt;
&lt;p&gt;我们上传后，会自动返回一个视频&lt;code&gt;objectid&lt;/code&gt;，我们可以直接拿来组装自适应&lt;code&gt;M3U8&lt;/code&gt;地址，或者通过通知接口接收相关数据。&lt;/p&gt;
&lt;p&gt;注意上传如果报错&lt;code&gt;413&lt;/code&gt;状态码，则可能是&lt;code&gt;nginx&lt;/code&gt;上传限制，调整下&lt;code&gt;nginx&lt;/code&gt;上传限制大小即可。&lt;/p&gt;
&lt;p&gt;由于&lt;code&gt;MD5&lt;/code&gt;验证可能会很耗时，可以不用传递&lt;code&gt;md5&lt;/code&gt;，只需上传前提前使用验证接口判断视频是否存在即可，接口如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#后面为转码设置的apikey，originalname为传入的视频名称
Get /api/checkVideoExists?apikey=5c20cEga22FgG7f&amp;amp;originalname=青城山下白素贞

#返回信息
{
    &amp;quot;success&amp;quot;: false //true为该视频已存在，false为不存在。
    id, //如果该视频已存在，则返回视频objectid。
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;简易上传&#34;&gt;简易上传&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#上传凭证，转码设置下方获取
POST /api/simpleupload?uploadkey=5c20cEga22FgG7f

body: {
    file, //必传，上传文件
    originalname,  //可选，视频名称，如不传默认使用文件名称
    category,      //可选，视频分类，如分类不存在会自动创建
    clientId,      //可选，传递一个数据库id，即客户端辨识视频id，当使用通知接口返回信息的时候会返回该id，让你对应并进行数据填充。
}

response: {
    success: 1, //0为失败，即上传完成会检测视频元数据，元数据有问题会提示上传失败并自动删除上传文件。
    id
}

#curl命令使用示例，uploadkey为上传凭证，可在转码设置处获取
curl http://127.0.0.1:3000/api/simpleupload?uploadkey=7e8EgFAe -F &amp;quot;file=@/root/xx.mp4&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们上传后，会自动返回一个视频&lt;code&gt;objectid&lt;/code&gt;，我们可以直接拿来组装&lt;code&gt;M3U8&lt;/code&gt;地址，或者通过通知接口接收相关数据。&lt;/p&gt;
&lt;p&gt;注意上传如果报错&lt;code&gt;413&lt;/code&gt;状态码，则可能是&lt;code&gt;nginx&lt;/code&gt;上传限制，调整下&lt;code&gt;nginx&lt;/code&gt;上传限制大小即可。&lt;/p&gt;
&lt;p&gt;由于上传未作同名过滤，可在上传前提前使用验证接口判断视频是否存在即可，接口如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#后面为转码设置的apikey，originalname为传入的视频名称
Get /api/checkVideoExists?apikey=5c20cEga22FgG7f&amp;amp;originalname=青城山下白素贞

#返回信息
{
    &amp;quot;success&amp;quot;: false //true为该视频已存在，false为不存在。
    id, //如果该视频已存在，则返回视频objectid。
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;封面上传&#34;&gt;封面上传&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#上传凭证，转码设置下方获取
POST /api/uploadposter?uploadkey=5c20cEga22FgG7f

body: {
    file, //上传图片文件，仅支持jpg、png、webp、jpeg
    id, //视频id
}

response: {
    success: 1,
    poster,
    poster2,
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果封面在视频之前上传，那么返回的地址并不是实际地址，转码后，封面会自动移动到切片目录，以实际路径为准。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 将服务器里的视频文件入库转码</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/transcode-server-files-for-ingestion/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/transcode-server-files-for-ingestion/</guid>
      <description>
        
        
        &lt;h2 id=&#34;入库步骤&#34;&gt;入库步骤&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能会经常优化，如果你发现有些功能不生效，请更新到最新版后再使用该功能。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;入库文件夹为&lt;code&gt;movies&lt;/code&gt;，如果我程序安装路径为&lt;code&gt;/home/express-ffmpeg&lt;/code&gt;，则入库文件夹为&lt;code&gt;/home/express-ffmpeg/movies&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;首先设置好入库文件类型，可在转码设置处设置，设置参考：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#比如入库mp4文件，则填入.mp4，多个后缀之间用英文逗号,分开
.mp4,.mkv,.avi,.rmvb,.dat,.flv,.mpg,.mpeg,.rm,.mov,.wmv,.asf
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果你视频在本地电脑上面，那么可以通过&lt;code&gt;ftp客户端&lt;/code&gt;、宝塔等工具将视频上传到入库文件夹；如果你视频文件在服务器里面，那么需要将视频转移到入库文件夹，最后再点击视频管理的扫描入库即可。&lt;/p&gt;
&lt;p&gt;视频入库期间，如果存在名称重复的视频，则不会入库到视频管理处，且支持&lt;code&gt;分类&lt;/code&gt;、&lt;code&gt;封面&lt;/code&gt;、&lt;code&gt;截图&lt;/code&gt;、&lt;code&gt;剧集&lt;/code&gt;、&lt;code&gt;详情信息&lt;/code&gt;、&lt;code&gt;ass&lt;/code&gt;和&lt;code&gt;srt字幕&lt;/code&gt;等入库功能，具体看下面。&lt;/p&gt;
&lt;h2 id=&#34;入库自动分类&#34;&gt;入库自动分类&lt;/h2&gt;
&lt;p&gt;入库支持自动分类，如我在入库文件夹&lt;code&gt;movies&lt;/code&gt;新建一个名为&lt;code&gt;教育片&lt;/code&gt;的子文件夹，那么我将视频存放到&lt;code&gt;教育片&lt;/code&gt;的文件夹，入库的时候这些视频会自动分类&lt;code&gt;教育片&lt;/code&gt;，且如果该分类不存在会自动创建。&lt;/p&gt;
&lt;p&gt;入库分类支持多级目录，且第一层目录默认为分类，其它子文件夹只负责入库视频，比如&lt;code&gt;movies/教育片/儿童教育&lt;/code&gt;、&lt;code&gt;movies/教育片/儿童教育/语言文学&lt;/code&gt;等文件夹里的视频入库，分类均默认为第一层目录&lt;code&gt;教育片&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;封面自动入库&#34;&gt;封面自动入库&lt;/h2&gt;
&lt;p&gt;入库支持使用自有封面，即转码完成后，&lt;code&gt;封面1&lt;/code&gt;和&lt;code&gt;封面2&lt;/code&gt;均显示的是自己入库的时候设置的封面。&lt;/p&gt;
&lt;p&gt;需要将封面文件的名称修改成对应的视频名称，存放到同目录文件夹，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#入库文件夹movies的根目录
movies/西游记.mp4
movies/西游记.jpg

#入库文件夹movies的分类神话片文件夹
movies/神话片/西游记.mp4
movies/神话片/西游记.jpg
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;且后缀不用管，前面名称一样就行，且封面仅支持&lt;code&gt;jpg&lt;/code&gt;、&lt;code&gt;jpeg&lt;/code&gt;、&lt;code&gt;png&lt;/code&gt;、&lt;code&gt;webp&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;截图自动入库&#34;&gt;截图自动入库&lt;/h2&gt;
&lt;p&gt;入库支持使用自有截图，即转码完成后，截图均显示的是自己入库的时候设置的截图。&lt;/p&gt;
&lt;p&gt;需要将截图文件的名称修改成对应的名称，存放到同目录文件夹，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#入库文件夹movies的根目录
movies/西游记.mp4
movies/西游记_0.jpg
movies/西游记_1.jpg
movies/西游记_2.jpg
movies/西游记_3.jpg
movies/西游记_4.jpg

#入库文件夹movies的分类神话片文件夹
movies/神话片/西游记.mp4
movies/神话片/西游记_0.jpg
movies/神话片/西游记_1.jpg
movies/神话片/西游记_2.jpg
movies/神话片/西游记_3.jpg
movies/神话片/西游记_4.jpg
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;截图名称需按规定命名，如：&lt;code&gt;视频名称_x.jpg&lt;/code&gt;，&lt;code&gt;x&lt;/code&gt;需从&lt;code&gt;0&lt;/code&gt;开始，有多少张就按顺序写到多少，且后缀不用管，截图仅支持&lt;code&gt;jpg&lt;/code&gt;、&lt;code&gt;jpeg&lt;/code&gt;、&lt;code&gt;png&lt;/code&gt;、&lt;code&gt;webp&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;注意，如果你没入库封面，则默认会使用第一张截图用作封面，如&lt;code&gt;视频名称_0.jpg&lt;/code&gt;；如果你开启过&lt;code&gt;截图合成封面&lt;/code&gt;功能，则需至少入库&lt;code&gt;6&lt;/code&gt;张截图，不然不会合成封面。&lt;/p&gt;
&lt;h2 id=&#34;自动添加剧集&#34;&gt;自动添加剧集&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：剧集文件夹需要为一级目录才能识别，且暂时不支持文件夹分类，可通过json传递分类信息，且单集命名一定要规范，不然会影响集数自动排序。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前可以在入库文件夹&lt;code&gt;movies&lt;/code&gt;按要求新建剧集文件夹，并将单集视频传进去，然后会自动创建剧集，且里面的视频切完也会自动添加进剧集，并自动排序。&lt;/p&gt;
&lt;p&gt;首先在入库文件夹&lt;code&gt;movies&lt;/code&gt;新建一个文件夹，命名格式：&lt;code&gt;autotv剧集名称&lt;/code&gt;，如&lt;code&gt;autotv西游记&lt;/code&gt;，然后将命名规范的单集传进去，如&lt;code&gt;01&lt;/code&gt;、&lt;code&gt;02&lt;/code&gt;、&lt;code&gt;03&lt;/code&gt;或&lt;code&gt;第01集&lt;/code&gt;、&lt;code&gt;第02集&lt;/code&gt;；如果总集数有&lt;code&gt;3&lt;/code&gt;位数，那么就用&lt;code&gt;001&lt;/code&gt;、&lt;code&gt;002&lt;/code&gt;、&lt;code&gt;003&lt;/code&gt;，然后入库的时候会自动创建剧集，且单集会自动命名成&lt;code&gt;剧集名称 01&lt;/code&gt;或&lt;code&gt;剧集名称 第01集&lt;/code&gt;这种格式，并会被剧集标记，转码完成后，也会自动添加进剧集，并自动排序。&lt;/p&gt;
&lt;p&gt;注意入库剧集的时候，会在剧集文件夹创建一个&lt;code&gt;24&lt;/code&gt;位&lt;code&gt;id&lt;/code&gt;文件，切勿删除，不然会重新创建新的同名剧集，后面新增的单集入库后也会添加到该剧集。&lt;/p&gt;
&lt;h3 id=&#34;剧集封面入库说明&#34;&gt;剧集封面入库说明&lt;/h3&gt;
&lt;p&gt;比如我的剧集文件夹为&lt;code&gt;autotv剧集名称&lt;/code&gt;，那么将封面文件名改成&lt;code&gt;剧集名称.jpg&lt;/code&gt;，格式也可以为&lt;code&gt;jpeg&lt;/code&gt;、&lt;code&gt;png&lt;/code&gt;、&lt;code&gt;webp&lt;/code&gt;，并存放到剧集文件夹就可以了，如&lt;code&gt;movies/autotv剧集名称/剧集名称.jpg&lt;/code&gt;，入库的时候，创建剧集信息会自动使用该封面。&lt;/p&gt;
&lt;h2 id=&#34;视频和剧集详情信息入库&#34;&gt;视频和剧集详情信息入库&lt;/h2&gt;
&lt;p&gt;入库的时候可以将视频和剧集的标签、简介等详情信息一起入库，且可以和封面入库，字幕入库一起使用，说明如下。&lt;/p&gt;
&lt;h3 id=&#34;视频详情信息入库&#34;&gt;视频详情信息入库&lt;/h3&gt;
&lt;p&gt;入库视频的时候，需要在该视频所在文件夹存放一个同名&lt;code&gt;json&lt;/code&gt;文件，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#只需要同名，视频后缀限制可参考上面说明。
视频名称.mp4
视频名称.json

#json文本内容格式如下，一行一个，字段和参数使用$隔开，不填则默认为空值
language$英语
director$文斯·吉利根,米歇尔·麦克拉伦
stars$布莱恩·科兰斯顿,亚伦·保尔
tags$犯罪,剧情,惊悚
summary$一位高中化学老师的故事...
country$美国
year$2008
rate$9.2

#json参数详解
language, //语言
director, //导演，多个导演用英文逗号,分开，如 导演1,导演2,导演3
stars, //主演，多个主演用英文逗号,分开，如 主演1,主演2,主演3
writer, //编剧，多个编剧用英文逗号,分开，如 编剧1,编剧2,编剧3
tags, //分类标签，多个标签用英文逗号,分开，如 剧情,悬疑,搞笑
summary, //剧集简介
country, //发行地区
year, //发行年份，如 1996
rate, //豆瓣评分，如 8.8
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;剧集详情信息入库&#34;&gt;剧集详情信息入库&lt;/h3&gt;
&lt;p&gt;入库的时候，需要在剧集文件夹存放一个以剧集名称命名的&lt;code&gt;json&lt;/code&gt;文件，比如我的剧集文件夹为&lt;code&gt;autotv剧集名称&lt;/code&gt;，那么改成&lt;code&gt;剧集名称.json&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#只需要同名
movies/autoalbum剧集名称/
剧集名称.json
剧集名称.jpg
01.mp3
02.mp3

#json文本内容格式如下，一行一个，字段和参数使用$隔开，不填则默认为空值
category$分类名称
language$英语
director$文斯·吉利根,米歇尔·麦克拉伦
stars$布莱恩·科兰斯顿,亚伦·保尔
tags$犯罪,剧情,惊悚
summary$一位高中化学老师的故事...
country$美国
episodescount$62
year$2008
rate$9.2

#json参数详解
category, //分类
language, //语言
director, //导演，多个导演用英文逗号,分开，如 导演1,导演2,导演3
stars, //主演，多个主演用英文逗号,分开，如 主演1,主演2,主演3
writer, //编剧，多个编剧用英文逗号,分开，如 编剧1,编剧2,编剧3
tags, //分类标签，多个标签用英文逗号,分开，如 剧情,悬疑,搞笑
summary, //剧集简介
country, //发行地区
episodescount, //集数
year, //发行年份，如 1996
rate, //豆瓣评分，如 8.8
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;入库烧录ass和srt字幕&#34;&gt;入库烧录ass和srt字幕&lt;/h2&gt;
&lt;p&gt;入库支持字幕文件烧录，也就是转码的时候，会自动烧录入库文件夹的&lt;code&gt;ass&lt;/code&gt;和&lt;code&gt;srt&lt;/code&gt;字幕文件。&lt;/p&gt;
&lt;p&gt;规则和封面自动入库一样，即将&lt;code&gt;ass&lt;/code&gt;和&lt;code&gt;srt&lt;/code&gt;字幕的名称修改成对应的视频名称，存放到同目录文件夹，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#入库文件夹movies的根目录
movies/西游记.mp4
movies/西游记.ass

#入库文件夹movies的分类神话片文件夹
movies/神话片/西游记.mp4
movies/神话片/西游记.ass
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;后缀不用管，前面名称一样就行，这样转码的时候字幕会自动烧录进视频，注意秒切是不会烧录字幕的。&lt;/p&gt;
&lt;h3 id=&#34;筛选字幕烧录&#34;&gt;筛选字幕烧录&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能可指定烧录带有语言标识的字幕文件，即无需字幕文件和视频同名。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一般字幕文件需和视频同名才会被烧录，如果你的字幕文件有一到多个，且都带有语言标识，也就是和视频不完全同名，可前往&lt;code&gt;转码设置&lt;/code&gt;设置&lt;code&gt;筛选字幕烧录&lt;/code&gt;功能项，可以烧录指定语言的字幕文件。&lt;/p&gt;
&lt;p&gt;设置格式&lt;code&gt;zh-Hans&lt;/code&gt;、&lt;code&gt;zh-Hans|BluRay&lt;/code&gt;或&lt;code&gt;zh-Hans|BluRay|forced&lt;/code&gt;，支持&lt;code&gt;N&lt;/code&gt;个关键词，多个关键词使用&lt;code&gt;|&lt;/code&gt;分开，参数详解：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、如设置zh-Hans，则会匹配同时包含视频名称和zh-Hans的字幕文件，如：
movies/西游记.mp4
movies/西游记.zh-Hans.ass
movies/西游记.zh-Hant.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.ass

2、如设置zh-Hans|BluRay，则会匹配同时包含视频名称、zh-Hans和BluRay的字幕文件，如：
movies/西游记.mp4
movies/西游记.zh-Hans.ass
movies/西游记.zh-Hant.ass
movies/西游记.zh-Hans.BluRay.ass
movies/西游记.zh-Hant.BluRay.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.BluRay.ass

3、如设置zh-Hans|BluRay|forced，则会匹配同时包含视频名称、zh-Hans、BluRay和forced的字幕文件，如：
movies/西游记.mp4
movies/西游记.zh-Hans.ass
movies/西游记.zh-Hant.ass
movies/西游记.zh-Hans.BluRay.ass
movies/西游记.zh-Hant.BluRay.ass
movies/西游记.zh-Hans.BluRay.forced.ass
movies/西游记.zh-Hant.BluRay.forced.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.BluRay.forced.ass
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;该设置项为递进筛选，通常第一个关键词为语言，如果第一个关键词没有筛选到任何字幕文件，则不会继续筛选，会默认使用和视频同名的字幕文件。&lt;/p&gt;
&lt;p&gt;如果第一个关键词只筛选出一个字幕文件，则不会继续筛选，会默认使用该字幕文件。&lt;/p&gt;
&lt;p&gt;如果第一个关键词筛选出多个字幕文件，则会使用第二个关键词从选出的字幕文件继续筛选，直到只选出一个字幕文件后不会继续筛选，会默认使用该字幕文件；当关键词都用完了，还是有多个字幕文件符合，则会随机使用其中一个字幕文件。&lt;/p&gt;
&lt;h2 id=&#34;入库api使用&#34;&gt;入库API使用&lt;/h2&gt;
&lt;p&gt;可远程使用该&lt;code&gt;api&lt;/code&gt;将&lt;code&gt;movies&lt;/code&gt;所有视频入库到视频管理，再自动转码，用法如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;POST /api/ruku

body: {
    apikey,
}

response: {
    success: 1,
}

#curl命令使用示例，apikey可在转码设置处获取
curl http://127.0.0.1:3000/api/ruku -d &amp;quot;apikey=5c20cEga&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意该接口会扫描所有文件，如果你需要频繁扫描入库新文件，并且入库文件夹存在大量视频的话，则建议短时间内不要重复请求，最好是有几分钟或更长时间间隔。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 将服务器里的音频文件入库切片</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/transcode-server-audio-files-for-ingestion/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/transcode-server-audio-files-for-ingestion/</guid>
      <description>
        
        
        &lt;h2 id=&#34;入库步骤&#34;&gt;入库步骤&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能会经常优化，如果你发现有些功能不生效，请更新到最新版后再使用该功能。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;入库文件夹为&lt;code&gt;audios&lt;/code&gt;，如果我程序安装路径为&lt;code&gt;/home/express-ffmpeg&lt;/code&gt;，则入库文件夹为&lt;code&gt;/home/express-ffmpeg/audios&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;音频入库格式固定，支持以下格式：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.mp3,.ogg,.m4a,.aac,.wma,.flac,.wav
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果你音频在本地电脑上面，那么可以通过&lt;code&gt;ftp客户端&lt;/code&gt;、宝塔等工具将音频上传到入库文件夹；如果你音频文件在服务器里面，那么需要将音频转移到入库文件夹，最后再点击音频管理的扫描入库即可。&lt;/p&gt;
&lt;p&gt;音频入库期间，如果存在名称重复的音频，则不会入库到音频管理处，且支持&lt;code&gt;分类&lt;/code&gt;、&lt;code&gt;专辑&lt;/code&gt;、&lt;code&gt;详情信息&lt;/code&gt;等入库功能，具体看下面。&lt;/p&gt;
&lt;h2 id=&#34;入库自动分类&#34;&gt;入库自动分类&lt;/h2&gt;
&lt;p&gt;入库支持自动分类，如我在入库文件夹&lt;code&gt;audios&lt;/code&gt;新建一个名为&lt;code&gt;流行音乐&lt;/code&gt;的子文件夹，那么我将音频存放到&lt;code&gt;流行音乐&lt;/code&gt;的文件夹，入库的时候这些音频会自动分类&lt;code&gt;流行音乐&lt;/code&gt;，且如果该分类不存在会自动创建。&lt;/p&gt;
&lt;p&gt;入库分类支持多级目录，且第一层目录默认为分类，其它子文件夹只负责入库音频，比如&lt;code&gt;audios/流行音乐/华语流行&lt;/code&gt;、&lt;code&gt;audios/流行音乐/华语流行/经典老歌&lt;/code&gt;等文件夹里的音频入库，分类均默认为第一层目录&lt;code&gt;流行音乐&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;自动添加专辑&#34;&gt;自动添加专辑&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：专辑文件夹需要为一级目录才能识别，且暂时不支持文件夹分类，可通过json传递分类信息，且单集命名一定要规范，不然会影响集数自动排序。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前可以在入库文件夹&lt;code&gt;audios&lt;/code&gt;按要求新建专辑文件夹，并将单曲传进去，然后会自动创建专辑，且里面的音频切完也会自动添加进专辑，并自动排序。&lt;/p&gt;
&lt;p&gt;首先在入库文件夹&lt;code&gt;audios&lt;/code&gt;新建一个文件夹，命名格式：&lt;code&gt;autoalbum专辑名称&lt;/code&gt;，如&lt;code&gt;autoalbum周杰伦精选&lt;/code&gt;，然后将命名规范的单曲传进去，如&lt;code&gt;01&lt;/code&gt;、&lt;code&gt;02&lt;/code&gt;或&lt;code&gt;第01集&lt;/code&gt;、&lt;code&gt;第02集&lt;/code&gt;；如果总曲目数有&lt;code&gt;3&lt;/code&gt;位数，那么就用&lt;code&gt;001&lt;/code&gt;、&lt;code&gt;002&lt;/code&gt;、&lt;code&gt;003&lt;/code&gt;，然后入库的时候会自动创建专辑，且单曲会自动命名成&lt;code&gt;专辑名称 01&lt;/code&gt;或&lt;code&gt;专辑名称 第01集&lt;/code&gt;这种格式，并会被专辑标记，转码完成后，也会自动添加进专辑，并自动排序。&lt;/p&gt;
&lt;p&gt;注意入库专辑的时候，会在专辑文件夹创建一个&lt;code&gt;24&lt;/code&gt;位&lt;code&gt;id&lt;/code&gt;文件，切勿删除，不然会重新创建新的同名专辑，后面新增的单曲入库后也会添加到该专辑。&lt;/p&gt;
&lt;h2 id=&#34;专辑封面入库说明&#34;&gt;专辑封面入库说明&lt;/h2&gt;
&lt;p&gt;比如我的专辑文件夹为&lt;code&gt;autoalbum专辑名称&lt;/code&gt;，那么将封面文件名改成&lt;code&gt;专辑名称.jpg&lt;/code&gt;，格式也可以为&lt;code&gt;jpeg&lt;/code&gt;、&lt;code&gt;png&lt;/code&gt;、&lt;code&gt;webp&lt;/code&gt;，并存放到专辑文件夹就可以了，如&lt;code&gt;audios/autoalbum周杰伦精选/周杰伦精选.jpg&lt;/code&gt;，入库的时候，创建专辑信息会自动使用该封面。&lt;/p&gt;
&lt;h2 id=&#34;专辑详情信息入库&#34;&gt;专辑详情信息入库&lt;/h2&gt;
&lt;p&gt;入库的时候，需要在专辑文件夹存放一个以专辑名称命名的&lt;code&gt;json&lt;/code&gt;文件，比如我的专辑文件夹为&lt;code&gt;autoalbum专辑名称&lt;/code&gt;，那么改成&lt;code&gt;专辑名称.json&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#只需要同名
audios/autoalbum周杰伦精选/
周杰伦精选.json
周杰伦精选.jpg
01.mp3
02.mp3

#json文本内容格式如下，一行一个，字段和参数使用$隔开，不填则默认为空值
category$流行音乐
language$国语
type$专辑
tags$流行,华语,经典
summary$收录周杰伦最经典的歌曲
year$2020
episodescount$15
author$周杰伦

#json参数详解
category, //分类
language, //语言，可选值：国语、粤语、英语、日语、韩语、其它
type, //专辑类型，可选值：专辑、EP、单曲、合集、有声书、播客、其它
tags, //分类标签，多个标签用英文逗号,分开，如 流行,摇滚,民谣
summary, //专辑简介
year, //发行年份，如 2020
episodescount, //曲目数
author, //作者/艺术家
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;入库的时候，会直接使用该&lt;code&gt;json&lt;/code&gt;，创建专辑信息。&lt;/p&gt;
&lt;h2 id=&#34;入库api使用&#34;&gt;入库API使用&lt;/h2&gt;
&lt;p&gt;可远程使用该&lt;code&gt;api&lt;/code&gt;将&lt;code&gt;audios&lt;/code&gt;所有音频入库到音频管理，再自动转码，用法如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;POST /api/rukuaudio

body: {
    apikey,
}

response: {
    success: 1,
}

#curl命令使用示例，apikey可在转码设置处获取
curl http://127.0.0.1:3000/api/rukuaudio -d &amp;quot;apikey=5c20cEga&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意该接口会扫描所有文件，如果你需要频繁扫描入库新文件，并且入库文件夹存在大量音频的话，则建议短时间内不要重复请求，最好是有几分钟或更长时间间隔。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 介绍及安装教程</title>
      <link>https://docs.efvcms.com/docs/cdn-cache-system-usage-tutorial/introduction-and-installation-tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/cdn-cache-system-usage-tutorial/introduction-and-installation-tutorial/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：新版EFV已在后台集成CDN安装管理，如在转码设置未看到该功能，请更新到新版后再使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;该&lt;code&gt;CDN&lt;/code&gt;为&lt;code&gt;EFV&lt;/code&gt;配套的简易缓存系统，永久免费，目前可完全在&lt;code&gt;EFV&lt;/code&gt;后台进行自动安装等管理操作，当前可以缓存&lt;code&gt;EFV&lt;/code&gt;的&lt;code&gt;m3u8&lt;/code&gt;、&lt;code&gt;ts&lt;/code&gt;、&lt;code&gt;png&lt;/code&gt;、&lt;code&gt;jpeg&lt;/code&gt;、&lt;code&gt;webp&lt;/code&gt;、&lt;code&gt;mp4&lt;/code&gt;、&lt;code&gt;gif&lt;/code&gt;、&lt;code&gt;key&lt;/code&gt;、&lt;code&gt;txt&lt;/code&gt;和&lt;code&gt;jpg&lt;/code&gt;资源。&lt;/p&gt;
&lt;h2 id=&#34;缓存规则&#34;&gt;缓存规则&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cdn&lt;/code&gt;系统缓存命中率为&lt;code&gt;100%&lt;/code&gt;，也就是只要通过&lt;code&gt;cdn&lt;/code&gt;域名访问的视频资源，均会&lt;code&gt;100%&lt;/code&gt;缓存到&lt;code&gt;cdn&lt;/code&gt;所在的服务器里面，无需担心命中问题。&lt;/li&gt;
&lt;li&gt;缓存容量内置上限，也就是最多只能缓存服务器总容量的&lt;code&gt;85%&lt;/code&gt;，防止使用过多，影响系统其它进程；当缓存容量超过&lt;code&gt;85%&lt;/code&gt;时候，就不会再缓存了，低于&lt;code&gt;85%&lt;/code&gt;立即自动缓存。&lt;/li&gt;
&lt;li&gt;可以自行设置，自动清理多长时间内未被使用的缓存数据；并且当使用容量达到&lt;code&gt;60%&lt;/code&gt;时候，也会自动清理较长时间内未被使用，且访问次数少于&lt;code&gt;10&lt;/code&gt;次的缓存数据，大于&lt;code&gt;10&lt;/code&gt;次的会等到过期自动清理。&lt;/li&gt;
&lt;li&gt;支持设置一到多个防盗链白名单，设置后，只能指定网站才能播放&lt;code&gt;CDN&lt;/code&gt;缓存的&lt;code&gt;m3u8&lt;/code&gt;、&lt;code&gt;ts&lt;/code&gt;等资源，其它网站均会返回&lt;code&gt;403&lt;/code&gt;无权限状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;安装cdn&#34;&gt;安装CDN&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：后台安装CDN会自动检查并开启BBR加速，无需额外开启。且EFV防盗链设置的禁止ts下载功能需要关闭，才能缓存。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;系统要求：&lt;code&gt;CentOS 8+&lt;/code&gt;，&lt;code&gt;Debian 10+&lt;/code&gt;，&lt;code&gt;Ubuntu 20.04+&lt;/code&gt;，&lt;code&gt;AlmaLinux 8+&lt;/code&gt;，&lt;code&gt;Rocky Linux 8+&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;如果你的切片访问量比较大，那么服务器的&lt;code&gt;cpu&lt;/code&gt;即配置尽量好点，且多用几台服务器提供&lt;code&gt;cdn&lt;/code&gt;，不然负载多&lt;code&gt;cdn&lt;/code&gt;服务器容易卡。&lt;/p&gt;
&lt;p&gt;首先前往程序后台 ⇒ 点击左侧转码相关 ⇒ &lt;code&gt;CDN&lt;/code&gt;安装管理，再添加&lt;code&gt;CDN&lt;/code&gt;服务器，然后安装&lt;code&gt;CDN&lt;/code&gt;即可。&lt;/p&gt;
&lt;p&gt;这里注意&lt;code&gt;加速域名&lt;/code&gt;推荐使用&lt;code&gt;EFV&lt;/code&gt;的&lt;code&gt;ip:3000&lt;/code&gt;访问地址，效果更好，其次才用&lt;code&gt;EFV&lt;/code&gt;的绑定域名地址。&lt;/p&gt;
&lt;p&gt;最后安装完成后，可通过&lt;code&gt;实时监控统计&lt;/code&gt;，查看&lt;code&gt;CDN&lt;/code&gt;服务器&lt;code&gt;CPU&lt;/code&gt;、内存、硬盘、带宽、&lt;code&gt;CDN&lt;/code&gt;设置及缓存数统计等。&lt;/p&gt;
&lt;h2 id=&#34;其它设置&#34;&gt;其它设置&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：以下设置均可在EFV后台进行快捷操作。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;绑定cdn域名&#34;&gt;绑定CDN域名&lt;/h3&gt;
&lt;p&gt;首先需要将&lt;code&gt;CDN&lt;/code&gt;域名解析到&lt;code&gt;CDN&lt;/code&gt;服务器，然后等解析生效，可使用&lt;code&gt;SSH&lt;/code&gt;随便登录你&lt;code&gt;CDN&lt;/code&gt;服务器，使用命令&lt;code&gt;ping yourdoman.com&lt;/code&gt;，将后面域名修改成你自己的&lt;code&gt;CDN&lt;/code&gt;域名，如返回的&lt;code&gt;ip&lt;/code&gt;和你&lt;code&gt;CDN&lt;/code&gt;服务器一样，就说明解析生效。&lt;/p&gt;
&lt;p&gt;然后再将域名填入到输入框，如：&lt;code&gt;cdn.com&lt;/code&gt;，不能带&lt;code&gt;http://&lt;/code&gt;或&lt;code&gt;https://&lt;/code&gt;，多域名使用英文&lt;code&gt;|&lt;/code&gt;分开，如：&lt;code&gt;1.cdn.com|2.cdn.com|3.cdn.com&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;cdn设置&#34;&gt;CDN设置&lt;/h3&gt;
&lt;h5 id=&#34;防盗链设置&#34;&gt;防盗链设置&lt;/h5&gt;
&lt;p&gt;直接在输入框输入白名单域名，一行一个域名，支持泛域名，如&lt;code&gt;*.example.com&lt;/code&gt;，开头不要包含&lt;code&gt;http://&lt;/code&gt;或&lt;code&gt;https://&lt;/code&gt;，末尾不要带&lt;code&gt;/&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;设置后，只有白名单的域名可以使用&lt;code&gt;CDN&lt;/code&gt;的&lt;code&gt;M3U8&lt;/code&gt;、图片等链接，其它网站使用均会返回&lt;code&gt;403&lt;/code&gt;无权限；关闭则所有网站都能使用。&lt;/p&gt;
&lt;h5 id=&#34;缓存规则设置&#34;&gt;缓存规则设置&lt;/h5&gt;
&lt;p&gt;目前只能设置&lt;code&gt;自动清理多久未用的缓存&lt;/code&gt;和&lt;code&gt;不缓存M3U8&lt;/code&gt;选项，缓存时间可根据服务器硬盘进行适当调整，如果你在&lt;code&gt;EFV&lt;/code&gt;开启过时间戳防盗链功能，并通过该&lt;code&gt;CDN&lt;/code&gt;播放&lt;code&gt;M3U8&lt;/code&gt;，则需开启该功能，这样能完美兼容防盗链功能。&lt;/p&gt;
&lt;h5 id=&#34;加速源站设置&#34;&gt;加速源站设置&lt;/h5&gt;
&lt;p&gt;目前&lt;code&gt;CDN&lt;/code&gt;默认只能缓存添加&lt;code&gt;CDN服务器&lt;/code&gt;的时候，设置的加速源站域名；如果你想更换要加速的&lt;code&gt;EFV&lt;/code&gt;地址 或者 同时加速多台&lt;code&gt;EFV&lt;/code&gt;，则可以进行设置。&lt;/p&gt;
&lt;p&gt;比如当&lt;code&gt;CDN&lt;/code&gt;绑定域名为&lt;code&gt;cdn.example.com&lt;/code&gt;，需要加速&lt;code&gt;EFV&lt;/code&gt;某个地址&lt;code&gt;efv.example.com&lt;/code&gt;，而非默认源站时，那么该映射规则为：&lt;code&gt;cdn.example.com$efv.example.com&lt;/code&gt;，这里&lt;code&gt;EFV&lt;/code&gt;地址也可以使用&lt;code&gt;ip:3000&lt;/code&gt;，注意中间使用&lt;code&gt;$&lt;/code&gt;分隔。输入框每行一个映射规则即可。&lt;/p&gt;
&lt;p&gt;当设置好了后，通过该&lt;code&gt;CDN&lt;/code&gt;域名访问的时候，会从指定的源站拉取资源；没有设置映射规则的&lt;code&gt;CDN&lt;/code&gt;域名，依然会从默认的加速源站拉取资源。&lt;/p&gt;
&lt;h3 id=&#34;清空缓存&#34;&gt;清空缓存&lt;/h3&gt;
&lt;p&gt;目前可指定&lt;code&gt;M3U8&lt;/code&gt;、图片等类型文件或全部文件，根据自己需求进行清空。&lt;/p&gt;
&lt;h2 id=&#34;相关说明&#34;&gt;相关说明&lt;/h2&gt;
&lt;h3 id=&#34;单台cdn使用&#34;&gt;单台CDN使用&lt;/h3&gt;
&lt;p&gt;如果你就一台&lt;code&gt;CDN&lt;/code&gt;，可以直接将&lt;code&gt;CDN&lt;/code&gt;域名替换&lt;code&gt;EFV&lt;/code&gt;域名，进行&lt;code&gt;m3u8&lt;/code&gt;、图片等资源访问；如使用苹果&lt;code&gt;CMS&lt;/code&gt;等采集功能，可将&lt;code&gt;CDN&lt;/code&gt;域名填入到&lt;code&gt;转码设置&lt;/code&gt;的&lt;code&gt;域名设置&lt;/code&gt;，这样采集接口里面的&lt;code&gt;M3U8&lt;/code&gt;等资源的域名会变成&lt;code&gt;CDN&lt;/code&gt;域名，再入库到相关&lt;code&gt;CMS&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;多台cdn使用&#34;&gt;多台CDN使用&lt;/h3&gt;
&lt;p&gt;目前&lt;code&gt;CDN&lt;/code&gt;为单节点，所以只能结合&lt;code&gt;线路管理&lt;/code&gt;功能一起使用，即将所有&lt;code&gt;CDN&lt;/code&gt;域名同时填到一个线路配置，一起提供切片播放，线路管理使用教程 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/distribution-function-and-route-management-settings/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;然后选出其中一台&lt;code&gt;CDN&lt;/code&gt;域名提供&lt;code&gt;M3U8&lt;/code&gt;，截图等使用，播放视频的时候，会从多个&lt;code&gt;CDN&lt;/code&gt;域名请求切片，即可以将所有&lt;code&gt;CDN&lt;/code&gt;同时用上。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 上传视频卡进度条或出错</title>
      <link>https://docs.efvcms.com/docs/troubleshooting-transcoding-errors/stuck-or-error-during-video-upload/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/troubleshooting-transcoding-errors/stuck-or-error-during-video-upload/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：直接使用ip:3000访问后台进行上传可解决95%的上传问题。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;对于出现上传问题的，如果是使用域名访问的后台，建议直接使用&lt;code&gt;ip:3000&lt;/code&gt;访问后台上传相同的视频，如果可行，先排除程序本身的问题。&lt;/p&gt;
&lt;h2 id=&#34;上传卡进度条或不能断点续传&#34;&gt;上传卡进度条或不能断点续传&lt;/h2&gt;
&lt;p&gt;宝塔有些&lt;code&gt;Nginx&lt;/code&gt;版本配置反向代理的时候，如果缺少断点续传代码会出现进度条一直循环抽风，导致上传不了视频。&lt;/p&gt;
&lt;p&gt;可以通过宝塔面板，找到配置的域名，进入域名设置，找到反向代理 ⇒ 编辑反向代理配置，调整如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#添加上传断点续传代码
proxy_cache_convert_head off;
proxy_request_buffering off;

#EFV的nginx完整反向代理代码
location /
{
    proxy_pass http://127.0.0.1:3000;
    proxy_cache off;
    proxy_cache_convert_head off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Referer $http_referer;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_request_buffering off;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection &amp;quot;upgrade&amp;quot;;
    proxy_http_version 1.1;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;大文件上传失败&#34;&gt;大文件上传失败&lt;/h2&gt;
&lt;p&gt;也就是低于&lt;code&gt;50M&lt;/code&gt;视频可以上传，高于&lt;code&gt;50M&lt;/code&gt;上传会失败；大致问题就是&lt;code&gt;Nginx&lt;/code&gt;上传限制没有修改。&lt;/p&gt;
&lt;p&gt;如果是宝塔安装的&lt;code&gt;Nginx&lt;/code&gt;，可点击宝塔面板的软件商店，找到&lt;code&gt;Nginx&lt;/code&gt;，点击右侧设置按钮，找到性能调整，修改&lt;code&gt;client_max_body_size&lt;/code&gt;参数值。&lt;/p&gt;
&lt;h2 id=&#34;上传100后失败&#34;&gt;上传100%后失败&lt;/h2&gt;
&lt;p&gt;目前常见于宝塔面板的&lt;code&gt;Nginx&lt;/code&gt;防火墙引起该问题，可在宝塔&lt;code&gt;Nginx&lt;/code&gt;防火墙设置&lt;code&gt;URL&lt;/code&gt;白名单，然后添加&lt;code&gt;URL&lt;/code&gt;地址的时候填&lt;code&gt;/api/uploads/*&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;加了cdn上传失败&#34;&gt;加了CDN上传失败&lt;/h2&gt;
&lt;p&gt;一般&lt;code&gt;CDN&lt;/code&gt;会控制上传大小，推荐直接使用&lt;code&gt;ip:3000&lt;/code&gt;访问后台上传视频。&lt;/p&gt;
&lt;h2 id=&#34;其它上传问题&#34;&gt;其它上传问题&lt;/h2&gt;
&lt;p&gt;如果上述错误并不在你出现的范围内，建议在电脑上使用谷歌浏览器打开上传页面，按下&lt;code&gt;f12&lt;/code&gt;，点击控制台后再上传，可以查看上传信息，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/upload_err.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;一般上传错误，控制台会出现红色报错，有点基础的可以自行谷歌解决，或者将红色错误信息发给我们，可更快的协助你解决该问题。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 下载网盘/云存储的视频入库转码</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/download-cloud-drive-video-into-database-transcoding/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/download-cloud-drive-video-into-database-transcoding/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：新版支持Alist/OpenList、S3数据入库功能，可同时入库音频和视频，可前往下载中心进行配置。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一般我们使用&lt;code&gt;EFV&lt;/code&gt;上传视频的时候，由于本地和服务器之间网络连接不理想，导致上传比较慢，这里我们可以通过网盘中转提高上传效率。&lt;/p&gt;
&lt;p&gt;大致原理就是，我们将视频文件上传到一些合适的网盘，如阿里云、&lt;code&gt;115&lt;/code&gt;、百度、天翼等网盘，然后再使用服务器下载这些网盘的视频，通过入库功能导入到&lt;code&gt;EFV&lt;/code&gt;进行转码切片。&lt;/p&gt;
&lt;p&gt;或者你网盘有很多视频文件，也可以直接把视频下载到服务器，再入库进行转码，&lt;/p&gt;
&lt;h2 id=&#34;入库s3数据&#34;&gt;入库S3数据&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：入库的S3文件下载链接的签名有效时间为7天，也就是入库后需尽快下载完，过7天下载链接会自动失效。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;该功能可以自动获取&lt;code&gt;S3&lt;/code&gt;和支持&lt;code&gt;S3&lt;/code&gt;接口的云存储文件链接，并入库到下载中心，下载完成后，再自动入库到视频管理，进行转码切片。&lt;/p&gt;
&lt;p&gt;我们直接访问&lt;code&gt;EFV&lt;/code&gt;的下载中心，点击入库&lt;code&gt;OpenList/S3&lt;/code&gt;数据功能，选择&lt;code&gt;S3&lt;/code&gt;，填入相关信息即可，稍等片刻即可在下载中心查看到相关数据了。&lt;/p&gt;
&lt;h3 id=&#34;视频剧集自动分类&#34;&gt;视频+剧集自动分类&lt;/h3&gt;
&lt;h5 id=&#34;视频入库&#34;&gt;视频入库&lt;/h5&gt;
&lt;p&gt;目前默认视频所在的第一层目录为分类，如我视频路径为&lt;code&gt;/教育片/短视频/test.mp4&lt;/code&gt;，那么教育片默认会设置成&lt;code&gt;test&lt;/code&gt;视频的分类。&lt;/p&gt;
&lt;h5 id=&#34;封面自动入库&#34;&gt;封面自动入库&lt;/h5&gt;
&lt;p&gt;目前和视频处于同目录，且同名的图片文件，会默认匹配成该视频封面，如我视频路径为&lt;code&gt;/教育片/短视频/test.mp4&lt;/code&gt;，封面路径为&lt;code&gt;/教育片/短视频/test.jpg&lt;/code&gt;，那么&lt;code&gt;test.jpg&lt;/code&gt;默认会设置成&lt;code&gt;test&lt;/code&gt;视频的封面，且封面仅支持&lt;code&gt;jpg&lt;/code&gt;、&lt;code&gt;jpeg&lt;/code&gt;、&lt;code&gt;png&lt;/code&gt;、&lt;code&gt;webp&lt;/code&gt;格式。&lt;/p&gt;
&lt;h5 id=&#34;自动识别剧集入库&#34;&gt;自动识别剧集入库&lt;/h5&gt;
&lt;pre&gt;&lt;code&gt;提示：新版会将纯数字、第N集、第N话、第N期、N集等命名的文件都会识别为分集，并加上相应的剧集前缀，如不生效，需更新到最新版使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果视频是剧集，请按规定命名，需将分集改成按纯数字命名的视频，如&lt;code&gt;01&lt;/code&gt;、&lt;code&gt;02&lt;/code&gt;、&lt;code&gt;03&lt;/code&gt;，然后全部存放到以&lt;code&gt;剧集名称&lt;/code&gt;命名的文件夹里面。&lt;/p&gt;
&lt;p&gt;入库的时候会自动改名成分集所在&lt;code&gt;文件夹的名称+集数名称&lt;/code&gt;，如我某集视频路径为&lt;code&gt;/教育片/西游记/01.mp4&lt;/code&gt;，那么&lt;code&gt;01&lt;/code&gt;入库的时候会命名成&lt;code&gt;西游记 01&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;且会自动从剧集管理搜索&lt;code&gt;分集所在文件夹的名称&lt;/code&gt;，如存在该名称的剧集信息，并仅存在一个，那么会记录下来，等分集下载完成，在转码后，会自动添加进该剧集，这里推荐请提前创建好剧集信息后再入库。&lt;/p&gt;
&lt;h3 id=&#34;音频专辑自动分类&#34;&gt;音频+专辑自动分类&lt;/h3&gt;
&lt;h5 id=&#34;音频入库&#34;&gt;音频入库&lt;/h5&gt;
&lt;p&gt;目前默认音频所在的第一层目录为分类，如我音频路径为&lt;code&gt;/流行音乐/短音乐/test.mp3&lt;/code&gt;，那么流行音乐默认会设置成&lt;code&gt;test&lt;/code&gt;音频的分类。&lt;/p&gt;
&lt;h5 id=&#34;自动识别专辑入库&#34;&gt;自动识别专辑入库&lt;/h5&gt;
&lt;pre&gt;&lt;code&gt;提示：新版会将纯数字、第N首、第N曲、第N章、第N回、N首等命名的音频都会识别为分集，并加上相应的专辑前缀，如不生效，需更新到最新版使用。​
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果音频是专辑，请按规定命名，需将分集改成按纯数字命名的音频，如&lt;code&gt;01&lt;/code&gt;、&lt;code&gt;02&lt;/code&gt;、&lt;code&gt;03&lt;/code&gt;，然后全部存放到以&lt;code&gt;专辑名称&lt;/code&gt;命名的文件夹里面。​&lt;/p&gt;
&lt;p&gt;入库的时候会自动改名成分集所在&lt;code&gt;文件夹的名称+集数名称&lt;/code&gt;，如我某首音频路径为&lt;code&gt;/音乐/演唱会/01.mp3&lt;/code&gt;，那么&lt;code&gt;01&lt;/code&gt;入库的时候会命名成&lt;code&gt;演唱会 01&lt;/code&gt;。​&lt;/p&gt;
&lt;p&gt;且会自动从专辑管理搜索&lt;code&gt;分集所在文件夹的名称&lt;/code&gt;，如存在该名称的专辑信息，并仅存在一个，那么会记录下来，等分集下载完成，在转码后，会自动添加进该专辑，这里推荐请提前创建好专辑信息后再入库。&lt;/p&gt;
&lt;h2 id=&#34;入库alistopenlist数据&#34;&gt;入库Alist/OpenList数据&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Alist&lt;/code&gt;是一款可以挂载多网盘的列表程序，可用作中转，将网盘的文件入库下载到&lt;code&gt;EFV&lt;/code&gt;转码，且&lt;code&gt;OpenList&lt;/code&gt;为其分支。&lt;/p&gt;
&lt;p&gt;目前由于某些原因，这里推荐优先使用&lt;code&gt;OpenList&lt;/code&gt;，也就是下面教程会以&lt;code&gt;OpenList&lt;/code&gt;为主，当然你也可以使用&lt;code&gt;Alist&lt;/code&gt;，用法和&lt;code&gt;OpenList&lt;/code&gt;一样。&lt;/p&gt;
&lt;p&gt;目前&lt;code&gt;OpenList&lt;/code&gt;支持网盘如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;多种存储
本地存储
阿里云盘
OneDrive / Sharepoint (国际版, 中国, DE, US)
天翼云盘（个人、家庭）
GoogleDrive
123云盘
FTP / SFTP
PikPak
S3
Seafile
又拍云对象存储
WebDAV
Teambition(中国, 国际)
分秒帧
和彩云（个人、家庭、群组）
YandexDisk
百度网盘
Terabox
UC网盘
夸克网盘
迅雷网盘
蓝奏云
蓝奏云优享版
阿里云盘分享
Google 相册
Mega.nz
百度相册
SMB
115
Cloudreve
Dropbox
飞机盘
多吉云
Azure Blob Storage
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多网盘可查看 ⇒ &lt;a href=&#34;https://doc.oplist.org/guide/drivers/common&#34;&gt;传送门&lt;/a&gt;，开源地址：&lt;a href=&#34;https://github.com/OpenListTeam/OpenList&#34;&gt;https://github.com/OpenListTeam/OpenList&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;安装openlist&#34;&gt;安装OpenList&lt;/h3&gt;
&lt;p&gt;首先安装&lt;code&gt;Docker&lt;/code&gt;，&lt;code&gt;Linux&lt;/code&gt;快速安装&lt;code&gt;Docker&lt;/code&gt; ⇒ &lt;a href=&#34;https://docs.efvcms.com/blog/linux-tutorial/linux-quick-install-docker/&#34;&gt;传送门&lt;/a&gt;，然后在&lt;code&gt;SSH&lt;/code&gt;客户端使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#/etc/openlist为数据存放目录，自行修改，且为绝对路径。
mkdir -p /etc/openlist
chown -R 1001:1001 /etc/openlist
docker run -d --restart=unless-stopped -v /etc/openlist:/opt/openlist/data -p 5244:5244 -e UMASK=022 --name=&amp;quot;openlist&amp;quot; openlistteam/openlist:latest

#查看默认密码
docker logs openlist

#手动设置密码为NEW_PASSWORD（替换为您要设置的密码）
docker exec -it openlist ./openlist admin set NEW_PASSWORD
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接下来浏览器访问&lt;code&gt;OpenList&lt;/code&gt;的&lt;code&gt;web&lt;/code&gt;地址，也就是&lt;code&gt;服务器ip:5244&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;如访问不了，则还需要开放服务器的&lt;code&gt;5244&lt;/code&gt;端口，使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#CentOS 7+、AlmaLinux、Rocky Linux系统
firewall-cmd --zone=public --add-port=5244/tcp --permanent
firewall-cmd --reload

#Debian、Ubuntu系统
ufw allow 5244
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果你有安装宝塔，也可以直接在宝塔左侧安全开放。&lt;/p&gt;
&lt;h3 id=&#34;挂载网盘&#34;&gt;挂载网盘&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：使用下载中心入库OpenList之前，需前往OpenList后台 ⇒ 设置 ⇒ 全局，关闭签名所有，不然下载会出错。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们通过浏览器访问&lt;code&gt;OpenList&lt;/code&gt;的&lt;code&gt;web&lt;/code&gt;地址，也就是&lt;code&gt;服务器ip:5244&lt;/code&gt;，再使用管理员账户登录。&lt;/p&gt;
&lt;p&gt;接着直接访问&lt;code&gt;服务器ip:5244/@manage/storages&lt;/code&gt;，点击添加，选择适合自己的网盘；可参考 ⇒ &lt;a href=&#34;https://doc.oplist.org/guide/drivers/common&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;注意挂载路径需填写&lt;code&gt;/&lt;/code&gt;，即挂载到根目录，不然&lt;code&gt;EFV&lt;/code&gt;入库会识别不了，挂载好了后，我们直接访问&lt;code&gt;EFV&lt;/code&gt;的下载中心，点击入库&lt;code&gt;OpenList/S3&lt;/code&gt;数据功能，选择&lt;code&gt;OpenList&lt;/code&gt;，填入相关信息即可，稍等片刻即可在下载中心查看到相关数据了。&lt;/p&gt;
&lt;p&gt;挂载或使用期间如果出现相关错误，可参考：&lt;a href=&#34;https://doc.oplist.org/faq/error&#34;&gt;OpenList报错码解决&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;视频剧集自动分类-1&#34;&gt;视频+剧集自动分类&lt;/h3&gt;
&lt;h5 id=&#34;视频入库-1&#34;&gt;视频入库&lt;/h5&gt;
&lt;p&gt;目前默认视频所在的第一层目录为分类，如我视频路径为&lt;code&gt;/教育片/短视频/test.mp4&lt;/code&gt;，那么教育片默认会设置成&lt;code&gt;test&lt;/code&gt;视频的分类。&lt;/p&gt;
&lt;h5 id=&#34;封面自动入库-1&#34;&gt;封面自动入库&lt;/h5&gt;
&lt;p&gt;目前和视频处于同目录，且同名的图片文件，会默认匹配成该视频封面，如我视频路径为&lt;code&gt;/教育片/短视频/test.mp4&lt;/code&gt;，封面路径为&lt;code&gt;/教育片/短视频/test.jpg&lt;/code&gt;，那么&lt;code&gt;test.jpg&lt;/code&gt;默认会设置成&lt;code&gt;test&lt;/code&gt;视频的封面，且封面仅支持&lt;code&gt;jpg&lt;/code&gt;、&lt;code&gt;jpeg&lt;/code&gt;、&lt;code&gt;png&lt;/code&gt;、&lt;code&gt;webp&lt;/code&gt;格式。&lt;/p&gt;
&lt;h5 id=&#34;自动识别剧集入库-1&#34;&gt;自动识别剧集入库&lt;/h5&gt;
&lt;pre&gt;&lt;code&gt;提示：新版会将纯数字、第N集、第N话、第N期、N集等命名的文件都会识别为分集，并加上相应的剧集前缀，如不生效，需更新到最新版使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果视频是剧集，请按规定命名，需将分集改成按纯数字命名的视频，如&lt;code&gt;01&lt;/code&gt;、&lt;code&gt;02&lt;/code&gt;、&lt;code&gt;03&lt;/code&gt;，然后全部存放到以&lt;code&gt;剧集名称&lt;/code&gt;命名的文件夹里面。&lt;/p&gt;
&lt;p&gt;入库的时候会自动改名成分集所在&lt;code&gt;文件夹的名称+集数名称&lt;/code&gt;，如我某集视频路径为&lt;code&gt;/教育片/西游记/01.mp4&lt;/code&gt;，那么&lt;code&gt;01&lt;/code&gt;入库的时候会命名成&lt;code&gt;西游记 01&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;且会自动从剧集管理搜索&lt;code&gt;分集所在文件夹的名称&lt;/code&gt;，如存在该名称的剧集信息，并仅存在一个，那么会记录下来，等分集下载完成，在转码后，会自动添加进该剧集，这里推荐请提前创建好剧集信息后再入库。&lt;/p&gt;
&lt;h3 id=&#34;音频专辑自动分类-1&#34;&gt;音频+专辑自动分类&lt;/h3&gt;
&lt;h5 id=&#34;音频入库-1&#34;&gt;音频入库&lt;/h5&gt;
&lt;p&gt;目前默认音频所在的第一层目录为分类，如我音频路径为&lt;code&gt;/流行音乐/短音乐/test.mp3&lt;/code&gt;，那么流行音乐默认会设置成&lt;code&gt;test&lt;/code&gt;音频的分类。&lt;/p&gt;
&lt;h5 id=&#34;自动识别专辑入库-1&#34;&gt;自动识别专辑入库&lt;/h5&gt;
&lt;pre&gt;&lt;code&gt;提示：新版会将纯数字、第N首、第N曲、第N章、第N回、N首等命名的音频都会识别为分集，并加上相应的专辑前缀，如不生效，需更新到最新版使用。​
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果音频是专辑，请按规定命名，需将分集改成按纯数字命名的音频，如&lt;code&gt;01&lt;/code&gt;、&lt;code&gt;02&lt;/code&gt;、&lt;code&gt;03&lt;/code&gt;，然后全部存放到以&lt;code&gt;专辑名称&lt;/code&gt;命名的文件夹里面。​&lt;/p&gt;
&lt;p&gt;入库的时候会自动改名成分集所在&lt;code&gt;文件夹的名称+集数名称&lt;/code&gt;，如我某首音频路径为&lt;code&gt;/音乐/演唱会/01.mp3&lt;/code&gt;，那么&lt;code&gt;01&lt;/code&gt;入库的时候会命名成&lt;code&gt;演唱会 01&lt;/code&gt;。​&lt;/p&gt;
&lt;p&gt;且会自动从专辑管理搜索&lt;code&gt;分集所在文件夹的名称&lt;/code&gt;，如存在该名称的专辑信息，并仅存在一个，那么会记录下来，等分集下载完成，在转码后，会自动添加进该专辑，这里推荐请提前创建好专辑信息后再入库。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 音频文件远程上传和切片返回通知</title>
      <link>https://docs.efvcms.com/docs/api-interface-usage-tutorial/audio-file-upload-storage/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/api-interface-usage-tutorial/audio-file-upload-storage/</guid>
      <description>
        
        
        &lt;h2 id=&#34;上传&#34;&gt;上传&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：如果不会使用分片上传，可以使用简易上传或使用下载代替上传。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;分片上传&#34;&gt;分片上传&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#file是分片之后的音频文件，md5码是未分片前音频的独一无二的MD5码，size是视频总大小单位字节，chunk从0开始，chunks是总分片数
POST /api/audioupload

body: {
    uploadkey, //后台设置上传秘钥
    file, //文件对象
    filemd5, //md5码
    chunk, //当前分片数
    chunks, //总分片数
    size,  //文件大小
}

response: {
    success: 1,
    id
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Html&lt;/code&gt;示例参考 ⇒ &lt;a href=&#34;https://down.querydata.org/down/audio_upload.zip&#34;&gt;传送门&lt;/a&gt;，编辑文件里面的接口地址和&lt;code&gt;uploadkey&lt;/code&gt;就可以直接测试了。&lt;/p&gt;
&lt;p&gt;我们上传后，会自动返回一个音频&lt;code&gt;objectid&lt;/code&gt;，我们可以直接拿来组装&lt;code&gt;M3U8&lt;/code&gt;地址，或者通过通知接口接收相关数据。&lt;/p&gt;
&lt;p&gt;注意上传如果报错&lt;code&gt;413&lt;/code&gt;状态码，则可能是&lt;code&gt;nginx&lt;/code&gt;上传限制，调整下&lt;code&gt;nginx&lt;/code&gt;上传限制大小即可。&lt;/p&gt;
&lt;p&gt;由于&lt;code&gt;MD5&lt;/code&gt;验证可能会很耗时，可以不用传递&lt;code&gt;md5&lt;/code&gt;，只需上传前提前使用验证接口判断音频是否存在即可，接口如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#后面为转码设置的apikey，title为传入的音频名称
Get /api/checkAudioExists?apikey=5c20cEga22FgG7f&amp;amp;title=青城山下白素贞

#返回信息
{
    &amp;quot;success&amp;quot;: false //true为该音频已存在，false为不存在。
    id, //如果该音频已存在，则返回音频objectid。
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;简易上传&#34;&gt;简易上传&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;POST /api/uploadaudio

body: {
    uploadkey, //上传凭证，转码设置下方获取
    file, //上传文件
}

response: {
    success: 1,
    id
}

#curl命令使用示例，uploadkey为上传凭证，可在转码设置处获取
curl http://127.0.0.1:3000/api/uploadaudio?uploadkey=7e8EgFAe -F &amp;quot;file=@/root/xx.mp3&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们上传后，会自动返回一个音频&lt;code&gt;objectid&lt;/code&gt;，我们可以直接拿来组装&lt;code&gt;M3U8&lt;/code&gt;地址，或者通过通知接口接收相关数据。&lt;/p&gt;
&lt;p&gt;注意上传如果报错&lt;code&gt;413&lt;/code&gt;状态码，则可能是&lt;code&gt;nginx&lt;/code&gt;上传限制，调整下&lt;code&gt;nginx&lt;/code&gt;上传限制大小即可。&lt;/p&gt;
&lt;p&gt;由于上传未作同名过滤，可在上传前提前使用验证接口判断音频是否存在即可，接口如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#后面为转码设置的apikey，title为传入的音频名称
Get /api/checkAudioExists?apikey=5c20cEga22FgG7f&amp;amp;title=青城山下白素贞

#返回信息
{
    &amp;quot;success&amp;quot;: false //true为该音频已存在，false为不存在。
    id, //如果该音频已存在，则返回音频objectid。
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;通知域名获取切片信息&#34;&gt;通知域名获取切片信息&lt;/h2&gt;
&lt;p&gt;通知域名的作用就是可以将转码完成的视频或音频所有详细信息传给通知域名。&lt;/p&gt;
&lt;p&gt;先去&lt;code&gt;EFV&lt;/code&gt;后台&lt;code&gt;转码设置&lt;/code&gt;设置一个&lt;code&gt;对接域名&lt;/code&gt;，开启&lt;code&gt;域名通知&lt;/code&gt;和&lt;code&gt;转码完成自动通知&lt;/code&gt;即可，如果你想设置多个通知域名，中间请使用英文&lt;code&gt;|&lt;/code&gt;分开。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;EFV&lt;/code&gt;会将切片完成的音频详细信息&lt;code&gt;JSON&lt;/code&gt;类型&lt;code&gt;POST&lt;/code&gt;到这个域名，您在您的后台只需要针对这个接收&lt;code&gt;API&lt;/code&gt;处理&lt;code&gt;JSON&lt;/code&gt;数据入库您自己的第三方程序数据库即可。&lt;/p&gt;
&lt;h3 id=&#34;json数据&#34;&gt;JSON数据&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;{
    _id: 67b3044fed5d983288605aa9,
    title: &#39;audio-5731800ba&#39;,
    status: &#39;切片完成&#39;,
    path: &#39;audio/audio-5731800ba.aac&#39;,
    updateAt: 2025-02-17T09:41:35.233Z,
    createAt: 2025-02-17T09:41:35.233Z,
    __v: 0,
    audiopath: &#39;/audios/67b3044fed5d983288605aa9&#39;,
    duration: &#39;3:14&#39;,
    m3u8path: &#39;./public/audios/67b3044fed5d983288605aa9/index.m3u8&#39;,
    size: &#39;3.06&#39;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;m3u8path&lt;/code&gt;参数为&lt;code&gt;M3U8&lt;/code&gt;路径，需自行移除&lt;code&gt;./public&lt;/code&gt;后，拼接下域名就可以使用了。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 准备工作</title>
      <link>https://docs.efvcms.com/docs/getting-started/preparation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/getting-started/preparation/</guid>
      <description>
        
        
        &lt;h2 id=&#34;转码的大致原理&#34;&gt;转码的大致原理&lt;/h2&gt;
&lt;p&gt;众所周知，基本上所有转码系统都是使用的&lt;code&gt;ffmpeg&lt;/code&gt;进行转码，也就是用程序加载&lt;code&gt;ffmpeg&lt;/code&gt;进程来进行转码操作，那么我们讨论影响转码的因素其实跟程序关系很小，只跟&lt;code&gt;ffmpeg&lt;/code&gt;的运行效率有关系，并且和影响&lt;code&gt;ffmpeg&lt;/code&gt;运行效率的变量有关系。&lt;/p&gt;
&lt;h2 id=&#34;影响转码的因素&#34;&gt;影响转码的因素&lt;/h2&gt;
&lt;p&gt;源视频的时长，音视频编码格式，源视频大小，&lt;code&gt;CPU&lt;/code&gt;单核频率，&lt;code&gt;CPU&lt;/code&gt;核数，转码的音视频编码格式，转码的码率。基本上，所有主要影响&lt;code&gt;ffmpeg&lt;/code&gt;转码效率的因素就在以上所述中。&lt;/p&gt;
&lt;p&gt;在源视频和转码参数相同下影响因素：&lt;code&gt;CPU&lt;/code&gt;单核码率 &amp;gt; &lt;code&gt;CPU&lt;/code&gt;核数。也就是说转码单个视频的情况下，单核码率越高越好，核数也有部分影响。转码多个视频的情况下，核数越多越好，单核频率越高越好，两个因素共同影响。&lt;/p&gt;
&lt;h2 id=&#34;秒切和转码有什么区别&#34;&gt;秒切和转码有什么区别？&lt;/h2&gt;
&lt;p&gt;转码系统的最终目的都是将视频处理成M3U8切片文件，提供给播放器进行播放；这里又细分到秒切和转码的区别，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#转码，也就是先将视频进行相关处理，比如烧录水印、字幕、去除水印，分辨率转换，最后切成M3U8切片文件；转码过程可能会比较长，具体由CPU或GPU决定。

#秒切，无需对视频进行烧录水印等相关处理，直接切成M3U8切片文件，即保留原视频的任何参数，仅仅只是变成切片；秒切过程极快，通常几秒或者十几秒完成。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;由于秒切不会对视频进行转码处理，所以对&lt;code&gt;CPU&lt;/code&gt;性能要求可以不用那么高；但不是所有视频都可以秒切。&lt;/p&gt;
&lt;p&gt;目前&lt;code&gt;EFV&lt;/code&gt;支持&lt;code&gt;2&lt;/code&gt;种秒切，第&lt;code&gt;1&lt;/code&gt;种就是经常用的常规秒切，该秒切仅支持&lt;code&gt;H.264&lt;/code&gt;编码的视频文件，不符合编码的会先转码到&lt;code&gt;H.264&lt;/code&gt;编码，再进行切片。&lt;/p&gt;
&lt;p&gt;第&lt;code&gt;2&lt;/code&gt;种秒切支持&lt;code&gt;H.265&lt;/code&gt;编码的视频文件。大部分播放器均可正常播放&lt;code&gt;H.264/AAC&lt;/code&gt;切片，但部分播放器对&lt;code&gt;H.265&lt;/code&gt;编码的切片兼容性较差，可能无法正常播放。本模式通过特殊方式封装切片，使其可在&lt;code&gt;hls.js 1.0+&lt;/code&gt;版本的播放器中正常播放。&lt;/p&gt;
&lt;p&gt;由于&lt;code&gt;Web&lt;/code&gt;端对&lt;code&gt;H.265&lt;/code&gt;的兼容性参差不齐，所以仅推荐&lt;code&gt;App&lt;/code&gt;场景使用，在&lt;code&gt;App&lt;/code&gt;内测试能正常播放后，即可直接开启。&lt;/p&gt;
&lt;h2 id=&#34;如何选择服务器&#34;&gt;如何选择服务器？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;CPU/GPU&lt;/code&gt;选择：如果你短时间急需转码大量的视频，还不在乎成本，则推荐&lt;code&gt;GPU&lt;/code&gt;，否则优先建议使用纯&lt;code&gt;CPU&lt;/code&gt;服务器，再根据秒切或转码，选择合适的&lt;code&gt;CPU&lt;/code&gt;；适合转码的&lt;code&gt;GPU&lt;/code&gt; ⇒ &lt;a href=&#34;https://developer.nvidia.com/video-encode-decode-gpu-support-matrix&#34;&gt;点击查看&lt;/a&gt;，&lt;code&gt;CPU&lt;/code&gt;性能排行榜 ⇒ &lt;a href=&#34;https://www.cpu114.com/&#34;&gt;点击查看&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;内存不太要求；硬盘根据你的片源多少选择合适的容量，且&lt;code&gt;IO&lt;/code&gt;尽量高点，如果你的并发比较高，优先推荐&lt;code&gt;SSD&lt;/code&gt;；带宽建议&lt;code&gt;1G&lt;/code&gt;起步，网络质量稍微好点就行。&lt;/p&gt;
&lt;p&gt;如果你准备使用云存储或者&lt;code&gt;CDN&lt;/code&gt;，那么对硬盘、带宽的要求可以稍微低点。&lt;/p&gt;
&lt;p&gt;通过带宽计算同时在线人数参考，如果你转码到&lt;code&gt;720P&lt;/code&gt;，码率&lt;code&gt;1000&lt;/code&gt;，那么推荐按照码率&lt;code&gt;x1.5&lt;/code&gt;来计算每人需要的带宽，也就是&lt;code&gt;150kb/s&lt;/code&gt;；如果服务器是&lt;code&gt;100m&lt;/code&gt;带宽，再除以&lt;code&gt;8&lt;/code&gt;，实际上就是&lt;code&gt;12.5mb/s&lt;/code&gt;左右，然后除以每人需要的带宽&lt;code&gt;150kb/s&lt;/code&gt;，即&lt;code&gt;0.15mb/s&lt;/code&gt;，结果就是能同时支持&lt;code&gt;83&lt;/code&gt;个人，由于这些人并不是同时请求，会有错开请求的情况，所以实际上是高于&lt;code&gt;83&lt;/code&gt;人的，最终以测试为准，当然计算的时候，还得考虑带宽是独享还是共享，如果是共享&lt;code&gt;1G&lt;/code&gt;，那么实际上就没&lt;code&gt;1G&lt;/code&gt;，具体可咨询服务商。&lt;/p&gt;
&lt;h2 id=&#34;服务器商家推荐&#34;&gt;服务器商家推荐&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;这里列举一些服务器商家，对于有些不好选择服务器的人可以参考下，也可以自行找其它服务商。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;hetzner&lt;/code&gt;服务商：这家带宽为&lt;code&gt;1G&lt;/code&gt;不限流量，硬盘也大，算是性价比极高的服务商；唯一的不方便就是新用户需要验证账户，可以试试，不通过就跳过；高性能配置入口：&lt;a href=&#34;https://www.hetzner.com/dedicated-rootserver&#34;&gt;点击查看&lt;/a&gt;，有些带安装费，首次收取，续费不收；常规配置入口 ⇒ &lt;a href=&#34;https://www.hetzner.com/sb&#34;&gt;点击查看&lt;/a&gt;，常规配置无安装费，相对便宜点。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;hostkey&lt;/code&gt;服务商：这家&lt;code&gt;CPU&lt;/code&gt;和&lt;code&gt;GPU&lt;/code&gt;都有，也有大硬盘服务器，比如几十&lt;code&gt;T&lt;/code&gt;，支持支付宝付款，没&lt;code&gt;PayPal&lt;/code&gt;的可以考虑，服务器地址 ⇒ &lt;a href=&#34;https://hostkey.com/dedicated-servers/&#34;&gt;点击查看&lt;/a&gt;，注意需购买独立服务器，也就是&lt;code&gt;Dedicated Server&lt;/code&gt;，不要买&lt;code&gt;VDS&lt;/code&gt;等。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nocix&lt;/code&gt;服务商：这家带宽为&lt;code&gt;1G&lt;/code&gt;不限流量，硬盘大多&lt;code&gt;4T&lt;/code&gt;上下，且这家服务器只推荐&lt;code&gt;AMD 3/5&lt;/code&gt;系列或低于&lt;code&gt;$40&lt;/code&gt;的&lt;code&gt;E3&lt;/code&gt;系列，其它好像没啥性价比了，服务器地址 ⇒ &lt;a href=&#34;https://www.nocix.net/dedicated/&#34;&gt;点击查看&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ceranetworks&lt;/code&gt;服务商：这家网络很好，但性能一般，算是主打网络，价格有点贵，不缺钱的可以看看，服务器地址 ⇒ &lt;a href=&#34;https://www.ceranetworks.com/&#34;&gt;点击查看&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;oneprovider&lt;/code&gt;服务商：这家是个比较有名的二道贩子，啥配置的都卖，但网络晚上可能一般，白天还可以，支持微信付款，有些独立服务器价格很低，&lt;code&gt;10&lt;/code&gt;美元左右起步，服务器地址 ⇒ &lt;a href=&#34;https://oneprovider.com/&#34;&gt;点击查看&lt;/a&gt;，目前有一款&lt;code&gt;CPU E3-1230 v2&lt;/code&gt;、&lt;code&gt;1T&lt;/code&gt;硬盘的服务器性价很高，月付&lt;code&gt;$17.99&lt;/code&gt;，有兴趣可以看看 ⇒ &lt;a href=&#34;https://oneprovider.com/configure/dediconf/6914&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: APP手动构建教程</title>
      <link>https://docs.efvcms.com/docs/app-building-and-usage-tutorial/app-manual-build-tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/app-building-and-usage-tutorial/app-manual-build-tutorial/</guid>
      <description>
        
        
        &lt;h2 id=&#34;特别提示&#34;&gt;特别提示&lt;/h2&gt;
&lt;p&gt;这里主要讲解&lt;code&gt;Windows&lt;/code&gt;系统上手动打包&lt;code&gt;Android app&lt;/code&gt;，&lt;code&gt;IOS app&lt;/code&gt;需使用&lt;code&gt;MacOS&lt;/code&gt;打包，这里暂时只提供思路。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;MacOS&lt;/code&gt;打包&lt;code&gt;IOS app&lt;/code&gt;客户端推荐使用&lt;code&gt;xcode&lt;/code&gt;，且建议先把&lt;code&gt;Android&lt;/code&gt;打包理解会，&lt;code&gt;IOS&lt;/code&gt;就很简单了。&lt;/p&gt;
&lt;p&gt;对于无基础的新手，如果你想打包&lt;code&gt;Android app&lt;/code&gt;更快速方便，可使用&lt;code&gt;Docker&lt;/code&gt;打包 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/quickly-package-app-with-docker/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;打包总体思路&#34;&gt;打包总体思路&lt;/h3&gt;
&lt;p&gt;1、安装&lt;code&gt;flutter&lt;/code&gt;和环境配置，可参考 ⇒ &lt;a href=&#34;https://flutter.cn/docs/get-started/install&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;2、&lt;code&gt;app&lt;/code&gt;源码配置及打包，&lt;code&gt;Android&lt;/code&gt;可参考 ⇒ &lt;a href=&#34;https://flutter.cn/docs/deployment/android&#34;&gt;传送门&lt;/a&gt;，&lt;code&gt;iOS&lt;/code&gt;可参考 ⇒ &lt;a href=&#34;https://flutter.cn/docs/deployment/ios&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;视频教学&#34;&gt;视频教学&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：请点击播放器右下角全屏按钮进行观看。
&lt;/code&gt;&lt;/pre&gt;
&lt;iframe src=&#34;https://down.querydata.org/video/8.html&#34; frameborder=0 allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;建议先看完下面的教程，再跟着视频教学一起尝试打包，注意目前&lt;code&gt;app&lt;/code&gt;已重做，配置方面可能会有差别，但打包总体不变。&lt;/p&gt;
&lt;h2 id=&#34;构建步骤&#34;&gt;构建步骤&lt;/h2&gt;
&lt;p&gt;系统需要&lt;code&gt;Windows 7 SP1&lt;/code&gt;或更高的版本(&lt;code&gt;64&lt;/code&gt;位操作系统)，且需要安装&lt;code&gt;Windows PowerShell 5.0&lt;/code&gt;或者更高的版本(&lt;code&gt;Windows 10、11&lt;/code&gt;已经预装了)。&lt;/p&gt;
&lt;h3 id=&#34;安装powershell-5&#34;&gt;安装PowerShell 5&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：windows 10、11已经预装PowerShell 5，所以可以跳过该步骤。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;先安装&lt;code&gt;.NET Framework 4.6.2&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;下载地址：https://www.microsoft.com/en-au/download/details.aspx?id=53344
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;再升级&lt;code&gt;PowerShell&lt;/code&gt;补丁包，&lt;code&gt;windows 7 64&lt;/code&gt;位请下载&lt;code&gt;Win7AndW2K8R2&lt;/code&gt;版本&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;下载地址：https://www.microsoft.com/en-us/download/details.aspx?id=54616
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;安装flutter-sdk&#34;&gt;安装Flutter SDK&lt;/h3&gt;
&lt;p&gt;先下载&lt;code&gt;Flutter SDK&lt;/code&gt;，建议下载&lt;code&gt;最新版本3.0+&lt;/code&gt;，竖屏&lt;code&gt;app&lt;/code&gt;推荐&lt;code&gt;3.1.0&lt;/code&gt;，横屏&lt;code&gt;app&lt;/code&gt;推荐&lt;code&gt;3.3.3&lt;/code&gt;，下载地址 ⇒ &lt;a href=&#34;https://flutter.cn/docs/development/tools/sdk/releases&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;下载好了后将压缩包里的&lt;code&gt;flutter&lt;/code&gt;文件夹解压到&lt;code&gt;D盘&lt;/code&gt;根目录，此时&lt;code&gt;flutter&lt;/code&gt;绝对路径为&lt;code&gt;D:\flutter&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;安装android-sdk&#34;&gt;安装Android SDK&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：如果是国内网络构建的话，请挂上vpn，不然下面有些环境会安装失败。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Android SDK&lt;/code&gt;下载地址 ⇒ &lt;a href=&#34;https://developer.android.google.cn/studio&#34;&gt;传送门&lt;/a&gt;，点击&lt;code&gt;DOWNLOAD ANDROID STUDIO&lt;/code&gt;下载安装即可。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：下面打开Android Studio，到最后Finish点不动，可能左侧有部分SDK你没有选择Accept，即左侧带红色*，可先点击再Accept。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后打开&lt;code&gt;Android Studio&lt;/code&gt;，如果看到一个&lt;code&gt;Missing SDK ,No Andriod SDK found.&lt;/code&gt;向导，则选择&lt;code&gt;Next&lt;/code&gt;，最后&lt;code&gt;Finish&lt;/code&gt;安装&lt;code&gt;SDK&lt;/code&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：随着Android Studio更新，SDK Manager可能位置会有所变化，但总体都差不多，如有区别，自行查找。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接着进入界面后，点击中间的&lt;code&gt;More Actions&lt;/code&gt;，选择&lt;code&gt;SDK Manager&lt;/code&gt;，进入到&lt;code&gt;Android SDK&lt;/code&gt;界面，选择&lt;code&gt;Android 10&lt;/code&gt;、&lt;code&gt;11&lt;/code&gt;、&lt;code&gt;12&lt;/code&gt;，点击右下角&lt;code&gt;Apply&lt;/code&gt;安装。&lt;/p&gt;
&lt;p&gt;再切换到&lt;code&gt;SDK Tools&lt;/code&gt;界面(按钮大概在中间上方)，勾选&lt;code&gt;Android SDK Command-line Tool&lt;/code&gt;，点击右下角&lt;code&gt;Apply&lt;/code&gt;安装。&lt;/p&gt;
&lt;p&gt;然后依然在&lt;code&gt;SDK Tools&lt;/code&gt;界面，点击右下角&lt;code&gt;Show Package Details&lt;/code&gt;，找到&lt;code&gt;Android SDK Build-Tools&lt;/code&gt;并展开，选择&lt;code&gt;29.0.2&lt;/code&gt;版本，点击右下角&lt;code&gt;Apply&lt;/code&gt;安装。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：随着Android Studio更新，Plugins可能位置会有所变化，但总体都差不多，如有区别，自行查找。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;再到主界面，点击左侧的&lt;code&gt;Plugins&lt;/code&gt;，选择&lt;code&gt;Plugins&lt;/code&gt;，搜索并安装&lt;code&gt;Dart&lt;/code&gt;和&lt;code&gt;Flutter&lt;/code&gt;插件即可。&lt;/p&gt;
&lt;h3 id=&#34;安装java&#34;&gt;安装JAVA&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;JAVA&lt;/code&gt;下载地址 ⇒ &lt;a href=&#34;https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html&#34;&gt;传送门&lt;/a&gt;，选择对应的系统版本，找到&lt;code&gt;JRE&lt;/code&gt;的&lt;code&gt;smi&lt;/code&gt;链接，下载安装即可。&lt;/p&gt;
&lt;h3 id=&#34;检查flutter环境&#34;&gt;检查Flutter环境&lt;/h3&gt;
&lt;p&gt;点击电脑左下角，搜索&lt;code&gt;powershell&lt;/code&gt;，打开该工具，然后依次使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#注意后面的为解压出来的flutter文件夹，自行修改，以下为本文默认路径
$env:Path += &amp;quot;;D:\flutter\bin&amp;quot;
#使用国内镜像，国外服务器可以跳过
$env:PUB_HOSTED_URL=&amp;quot;https://pub.flutter-io.cn&amp;quot;
$env:FLUTTER_STORAGE_BASE_URL=&amp;quot;https://storage.flutter-io.cn&amp;quot;
#如果该命令出现y/n，直接选择y即可
flutter doctor --android-licenses
flutter doctor
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果&lt;code&gt;Flutter&lt;/code&gt;、&lt;code&gt;Android toolchain&lt;/code&gt;、&lt;code&gt;HTTP Host Availability&lt;/code&gt;主要的都是&lt;code&gt;√&lt;/code&gt;，则安装完成。&lt;/p&gt;
&lt;p&gt;如果&lt;code&gt;HTTP Host Availability&lt;/code&gt;检测报错，提示信号灯超时时间已到，则大概网络原因，解决办法如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、编辑下载的flutter文件夹文件，路径packages\flutter_tools\lib\src\http_host_validator.dart，将https://maven.google.com/改成https://dl.google.com/dl/android/maven2/
2、删除下载的flutter文件夹里的缓存文件，路径bin\cache，整个cache文件夹删除。
3、重新运行flutter doctor命令检测环境
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;修改app名称&#34;&gt;修改APP名称&lt;/h3&gt;
&lt;p&gt;修改&lt;code&gt;android/app/src/main/AndroidManifest&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#找到中间位置，即android:label一行，此处为app名称，自行修改
 &amp;lt;application
     ...
 android:label=&amp;quot;flutter学习视频&amp;quot;
     ...
 &amp;lt;activity
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;修改app图标和相关图片&#34;&gt;修改APP图标和相关图片&lt;/h3&gt;
&lt;p&gt;准备一个&lt;code&gt;app&lt;/code&gt;的图标，&lt;code&gt;png&lt;/code&gt;格式，命名&lt;code&gt;icon.png&lt;/code&gt;，覆盖到&lt;code&gt;app&lt;/code&gt;源码目录&lt;code&gt;assets&lt;/code&gt;文件夹即可。&lt;/p&gt;
&lt;p&gt;还有&lt;code&gt;app展示图&lt;/code&gt;和&lt;code&gt;app logo&lt;/code&gt;修改，横屏&lt;code&gt;app&lt;/code&gt;修改 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/landscape-app-setup-and-tips/&#34;&gt;传送门&lt;/a&gt;，竖屏&lt;code&gt;app&lt;/code&gt;修改 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/portrait-app-setup-and-tips/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;接下来横屏&lt;code&gt;app&lt;/code&gt;，且只有横屏&lt;code&gt;app&lt;/code&gt;需要配置替换一个图片，即图集界面强制广告图片，路径&lt;code&gt;assets/benad.jpg&lt;/code&gt;，尺寸建议&lt;code&gt;800x1164&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;修改app其它信息&#34;&gt;修改APP其它信息&lt;/h3&gt;
&lt;p&gt;修改&lt;code&gt;android/app/build.gradle&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#修改applicationId，为唯一的应用ID，一旦设置，后期就不能改了，更新app的时候，依然用这个ID
applicationId &amp;quot;com.moemv.flutter&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;给app配置api域名和图片cdn加速&#34;&gt;给app配置api域名和图片cdn加速&lt;/h3&gt;
&lt;p&gt;首先我们需要一个网络比较好的&lt;code&gt;VPS&lt;/code&gt;安装&lt;code&gt;api接口&lt;/code&gt;和&lt;code&gt;图片cdn&lt;/code&gt;，相关说明和搭建教程参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/app-api-interface-setup-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h5 id=&#34;配置api域名和图片cdn加速&#34;&gt;配置api域名和图片cdn加速&lt;/h5&gt;
&lt;p&gt;编辑&lt;code&gt;lib/core/utils/helper.dart&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#横屏和竖屏app配置有区别，注意区分，不要乱删字符，如&amp;amp;url=，不然封面，截图都不会显示了

#竖屏app配置，image.efvcms.com为图片cdn域名，6860e43596fd11d4ee66303d为图片cdn的apikey
String cdnUrl = &#39;https://image.efvcms.com/api?apikey=6860e43596fd11d4ee66303d&amp;amp;url=&#39; +

#横屏app配置，且有2个地方，6860e43596fd11d4ee66303d为图片cdn的apikey
String cdnUrl =
    &#39;$cdn/api?apikey=6860e43596fd11d4ee66303d&amp;amp;url=&#39; + url + &#39;&amp;amp;force=true&#39;;
    
String cdnUrl = &#39;$cdn$url?apikey=6860e43596fd11d4ee66303d&amp;amp;force=true&#39;;
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&#34;配置app的api域名&#34;&gt;配置app的api域名&lt;/h5&gt;
&lt;p&gt;编辑竖屏&lt;code&gt;lib/app/data/provider/dio_provider.dart&lt;/code&gt;或横屏&lt;code&gt;lib/app/data/provider/api_dio.dart&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#该参数为app的api接口绑定的域名，且必须使用ssl证书并开启https
const baseUrl = &#39;https://m3u8.efvcms.com/api/&#39;;

#该参数为EFV的apikey，可在EFV的转码设置获取
const apiKey = &#39;domybestth&#39;;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;配置app的基础信息&#34;&gt;配置app的基础信息&lt;/h3&gt;
&lt;p&gt;编辑&lt;code&gt;lib/core/values/strings.dart&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#该参数为EFV所绑定的域名地址，且必须使用ssl证书并开启https
const host = &#39;https://app.leimulamu.com&#39;;

#该参数为app检测的版本号，可在EFV转码后台设置，一样就不会通知更新
const version = 230601;

#时间戳防盗链对接，off为不使用时间戳防盗链，其他值生效，注意如果开启时间戳防盗链，需设置解析json接口，并将解析key值填进去，且不要设置ip授权
const tokenapi = &#39;off&#39;;

#&amp;lt;仅竖屏app需配置&amp;gt;app标题
const title = &amp;quot;雷姆拉姆&amp;quot;;

#该参数为EFV所绑定的域名地址，不需要http://，只写域名，该选项仅横屏海报app存在
const emailRoot = &#39;app.leimulamu.com&#39;;

#&amp;lt;仅横屏app需配置&amp;gt;app的上传域名配置，即改成EFV所绑定的域名地址
const uploadUrl = &#39;https://app.leimulamu.com/api2/uploads&#39;;

#&amp;lt;仅横屏app需配置&amp;gt;图片cdn域名配置，可搭建多个图片cdn加速，并设置多个，用户可在个人中心进行图片线路切换
const cdnUrls = [
  &#39;https://cdn1.efvcms.com&#39;,
  &#39;https://cdn2.efvcms.com&#39;,
  &#39;https://cdn3.efvcms.com&#39;
];
图片cdn域名按照默认的格式，一行一个，自行删减，且都需要放在英文单引号中间，末尾需要用英文逗号结尾，最后一个域名可不用英文逗号，其它都要；如果只有一个图片cdn域名，可参考以下配置：
const cdnUrls = [
  &#39;https://cdn.efvcms.com&#39;
];
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意这里的版本号是&lt;code&gt;app&lt;/code&gt;更新的配置，更新具体可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/app-upgrade-version-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;给app签名&#34;&gt;给app签名&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：首次打包需要签名，更新打包的时候，直接用该签名的文件即可。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;日后为了方便给用户更新&lt;code&gt;app&lt;/code&gt;，我们需要给&lt;code&gt;app&lt;/code&gt;签名。&lt;/p&gt;
&lt;p&gt;点击电脑左下角，搜索&lt;code&gt;powershell&lt;/code&gt;，打开该工具，然后使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;keytool -genkey -v -keystore C:\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输入签名的密匙及其它相关信息，使用拼音就行了，最后问你是否正确的时候，你输入 是，再输入密匙确认即可。&lt;/p&gt;
&lt;p&gt;最后会在我们的&lt;code&gt;C&lt;/code&gt;盘根目录生成一个密匙文件&lt;code&gt;upload-keystore.jks&lt;/code&gt;，保管好就行，不然会影响以后的升级操作。&lt;/p&gt;
&lt;p&gt;然后我们解压&lt;code&gt;app&lt;/code&gt;源码包后，然后编辑根目录&lt;code&gt;android&lt;/code&gt;文件夹中&lt;code&gt;key.properties&lt;/code&gt;文件，修改内容：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;storePassword=efvcms
keyPassword=efvcms
keyAlias=upload
storeFile=C:/upload-keystore.jks
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;efvcms&lt;/code&gt;均为签名密匙，&lt;code&gt;C:/upload-keystore.jks&lt;/code&gt;为密匙路径，注意路径格式请使用正斜杠&lt;code&gt;/&lt;/code&gt;代替反斜杠&lt;code&gt;\&lt;/code&gt;，如有变动可自行修改。&lt;/p&gt;
&lt;h3 id=&#34;给app配置google统计&#34;&gt;给app配置google统计&lt;/h3&gt;
&lt;p&gt;先前往&lt;code&gt;google&lt;/code&gt;统计官网 ⇒ &lt;a href=&#34;https://console.firebase.google.com/&#34;&gt;传送门&lt;/a&gt;，然后创建项目，名称随便填。&lt;/p&gt;
&lt;p&gt;进去后，就可以看到添加应用提示，根据操作系统选择，比如我点击安卓图标，&lt;code&gt;Android 软件包名称&lt;/code&gt;为上面设置的&lt;code&gt;applicationId&lt;/code&gt;参数，如： &lt;code&gt;com.moemv.flutter&lt;/code&gt;，其它可选，自己看着办。&lt;/p&gt;
&lt;p&gt;然后注册后，下载&lt;code&gt;google-services.json&lt;/code&gt;文件，丢到&lt;code&gt;app&lt;/code&gt;源码包的&lt;code&gt;android/app&lt;/code&gt;文件夹即可。&lt;/p&gt;
&lt;h3 id=&#34;开始构建app&#34;&gt;开始构建app&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：如果是国内网络构建的话，建议挂上梯子，不然会很慢，甚至构建失败；且有时候因为插件要升级导致打包失败的，可以联系我们。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;比如我把&lt;code&gt;app&lt;/code&gt;源码存放到了&lt;code&gt;D&lt;/code&gt;盘根目录，且文件夹命名为&lt;code&gt;moeapp&lt;/code&gt;，则&lt;code&gt;app&lt;/code&gt;具体路径为&lt;code&gt;D:\moeapp&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;接下来继续在&lt;code&gt;powershell&lt;/code&gt;依次使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#接下来进入到app源码目录，自行修改，以下为本文默认路径
cd D:\moeapp
#打包
flutter packages pub run flutter_launcher_icons:main
flutter pub get
flutter build apk --split-per-abi
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里注意，如果你&lt;code&gt;powershell&lt;/code&gt;中途关闭过，则重新打开&lt;code&gt;powershell&lt;/code&gt;后，需要设置以下环境后，再继续打包，使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#注意第一行命令后面的为解压出来的flutter文件夹，自行修改，以下为本文默认路径
$env:Path += &amp;quot;;D:\flutter\bin&amp;quot;
#使用国内镜像，国外服务器可以跳过
$env:PUB_HOSTED_URL=&amp;quot;https://pub.flutter-io.cn&amp;quot;
$env:FLUTTER_STORAGE_BASE_URL=&amp;quot;https://storage.flutter-io.cn&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;等待打包完成即可，第一次打包会有点慢，第二次就快了，如果中途有修改相关信息，重新按照此方法打包构建即可。&lt;/p&gt;
&lt;p&gt;最后&lt;code&gt;apk&lt;/code&gt;文件在&lt;code&gt;build\app\outputs\flutter-apk&lt;/code&gt;文件夹，共有&lt;code&gt;3&lt;/code&gt;个版本，都是针对不同的移动&lt;code&gt;CPU&lt;/code&gt;架构，一般可以直接用&lt;code&gt;arm64-v8a&lt;/code&gt;即可，具体架构说明如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器，很少设备，三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器，早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后接下来，需要相关设置就可以用，横屏&lt;code&gt;app&lt;/code&gt;设置教程 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/landscape-app-setup-and-tips/&#34;&gt;传送门&lt;/a&gt;，竖屏&lt;code&gt;app&lt;/code&gt;设置教程 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/portrait-app-setup-and-tips/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: cdn手动安装教程</title>
      <link>https://docs.efvcms.com/docs/cdn-cache-system-usage-tutorial/cdn-explanation-usage/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/cdn-cache-system-usage-tutorial/cdn-explanation-usage/</guid>
      <description>
        
        
        &lt;p&gt;如果你是新手，不怎么熟悉&lt;code&gt;Linux&lt;/code&gt;系统，推荐直接在&lt;code&gt;EFV&lt;/code&gt;后台进行安装和管理，手动安装只适合有点基础，喜欢折腾的人。&lt;/p&gt;
&lt;h2 id=&#34;开始安装&#34;&gt;开始安装&lt;/h2&gt;
&lt;p&gt;系统要求：&lt;code&gt;CentOS 8+&lt;/code&gt;，&lt;code&gt;Debian 10+&lt;/code&gt;，&lt;code&gt;Ubuntu 20.04+&lt;/code&gt;，&lt;code&gt;AlmaLinux 8+&lt;/code&gt;，&lt;code&gt;Rocky Linux 8+&lt;/code&gt;，且为刚重装好的系统。&lt;/p&gt;
&lt;p&gt;使用&lt;code&gt;SSH&lt;/code&gt;客户端，比如&lt;code&gt;Xshell&lt;/code&gt;软件，登录服务器，再使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#下载脚本
wget --no-check-certificate -O &#39;/tmp/cdn.sh&#39; &#39;https://down.querydata.org/cdn/install_cdn.sh&#39;

#运行脚本
bash /tmp/cdn.sh /home http://127.0.0.1:3000 10080 apikey

#相关参数说明
/home为安装目录，需绝对路径，自行修改，不存在会自动创建
http://127.0.0.1:3000为EFV的访问地址，推荐使用http://ip:3000
10080为缓存时间，单位分钟
apikey为apikey，可以随便填
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Enter&lt;/code&gt;运行，直到脚本运行结束，期间会给你安装所有环境，包括&lt;code&gt;BBR&lt;/code&gt;，安装完成后，访问地址为&lt;code&gt;ip:3888&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;如果第一行命令出现&lt;code&gt;wget: unable to resolve host address&lt;/code&gt;报错，则解决方法 ⇒ &lt;a href=&#34;https://docs.efvcms.com/blog/linux-tutorial/linux-set-dns-server-temporary-or-permanent/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;其它操作&#34;&gt;其它操作&lt;/h2&gt;
&lt;h3 id=&#34;绑定域名&#34;&gt;绑定域名&lt;/h3&gt;
&lt;p&gt;使用脚本绑定域名，需服务器不要安装&lt;code&gt;nginx/apache&lt;/code&gt;等，且绑定后，也不要安装这些，不然会冲突。&lt;/p&gt;
&lt;p&gt;使用&lt;code&gt;SSH&lt;/code&gt;客户端，比如&lt;code&gt;Xshell&lt;/code&gt;软件，登录服务器，再使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#下载脚本
wget --no-check-certificate -O &#39;/tmp/add_caddy.sh&#39; &#39;https://down.querydata.org/app/add_caddy.sh&#39;

#绑定cdn域名，运行前请将后面的域名改成自己的，注意提前将域名解析到CDN服务器，会自动申请免费SSL证书
bash /tmp/add_caddy.sh &#39;1.cdn.com@127.0.0.1:3888&#39;

#同时绑定多个cdn域名，运行前请将后面的域名改成自己的，注意提前将域名解析到CDN服务器，会自动申请免费SSL证书
bash /tmp/add_caddy.sh &#39;1.cdn.com@127.0.0.1:3888|2.cdn.com@127.0.0.1:3888&#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;格式为&lt;code&gt;域名@反代地址&lt;/code&gt;，&lt;code&gt;cdn&lt;/code&gt;默认地址为&lt;code&gt;127.0.0.1:3888&lt;/code&gt;，可以不用修改，多个域名使用&lt;code&gt;|&lt;/code&gt;分开，&lt;/p&gt;
&lt;p&gt;注意绑定命令可以重复运行，每次运行都会重置绑定域名，所以请一次性绑定好所有域名。&lt;/p&gt;
&lt;h3 id=&#34;清除缓存&#34;&gt;清除缓存&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#下载脚本
wget --no-check-certificate -O &#39;/tmp/cache.sh&#39; &#39;https://down.querydata.org/cdn/cache.sh&#39;

#运行脚本，/home为cdn安装目录，自行修改
bash /tmp/cache.sh /home
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;修改cdn配置&#34;&gt;修改CDN配置&lt;/h3&gt;
&lt;p&gt;如果我的安装目录为&lt;code&gt;/home&lt;/code&gt;，则配置文件为&lt;code&gt;/home/cdn-node/config/config.js&lt;/code&gt;，编辑代码详解如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;module.exports = {
  dbUrl: &amp;quot;127.0.0.1&amp;quot;,  //mongodb数据库ip，不用修改，默认即可
  db: &amp;quot;efvcdn&amp;quot;,  //mongodb数据库名称，不用修改，默认即可
  dbUser: &amp;quot;efvcdn&amp;quot;,  //mongodb数据库用户名，不用修改，默认即可
  dbPassword: &amp;quot;efvcdn&amp;quot;,  //mongodb数据库密码，不用修改，默认即可
  apiKey: &#39;6860e43596fd11d4ee66303d&#39;,  //apikey，自行修改
  efvDomain: &#39;http://localhost:3000&#39;,  //EFV绑定域名 或 ip:3000地址，注意带上http://或https://，后面不带/
  keeptime: 20 //缓存时间，单位分钟，根据硬盘大小适当调整
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接下载再使用&lt;code&gt;SSH&lt;/code&gt;客户端，继续使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#进入源码目录
cd /home/cdn-node
#杀掉当前进程
pm2 kill
#启动
pm2 start ecosystem.config.js --env production
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果运行命令期间提示&lt;code&gt;-bash: pm2: command not found&lt;/code&gt;，则需要先运行一下&lt;code&gt;source /etc/profile&lt;/code&gt;，然重新打包即可。&lt;/p&gt;
&lt;h2 id=&#34;其它用法&#34;&gt;其它用法&lt;/h2&gt;
&lt;p&gt;该&lt;code&gt;cdn&lt;/code&gt;除了加速切片，还可以用作一个图片云处理服务器，直接处理任何的图片地址，并将图片转换为&lt;code&gt;webp&lt;/code&gt;格式缓存到本地服务器，体积极小，加载极快，也可直接通过该接口处理调用其它图片。&lt;/p&gt;
&lt;p&gt;云处理服务接口&lt;code&gt;/api&lt;/code&gt;，调用示例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;https://imageserver.querydata.org/api?url=https://wmdb.querydata.org/movie/poster/no-poster.jpg&amp;amp;width=200&amp;amp;format=webp

#参数详解
url为需要加速处理的图片地址，且服务器必须可以正常请求该图片域名
width和height参数为海报长宽，至少需要存在一个，当仅存在其中一个时，则会保留图片宽高比自动处理！
format为返回类型，支持jpg、png和webp，推荐使用webp，程序会判断浏览器是否支持webp，支持webp返回webp，不支持返回jpg！webp加载实在太快了！&lt;/code&gt;&lt;/pre&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 播放器和下载器类型参考</title>
      <link>https://docs.efvcms.com/docs/efv-separation-system-setup-tutorial/template-related-modifications-tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/efv-separation-system-setup-tutorial/template-related-modifications-tutorial/</guid>
      <description>
        
        
        &lt;p&gt;播放器和下载器代码可前往海洋&lt;code&gt;CMS&lt;/code&gt;后台，点击最上面导航的系统栏目，再分别点击左侧的播放来源管理和下载来源管理就可以看到相关编码了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/sea4.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;上面的英文后缀就是需要填入的相关编码了。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 程序安装步骤</title>
      <link>https://docs.efvcms.com/docs/getting-started/install-software/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/getting-started/install-software/</guid>
      <description>
        
        
        &lt;h2 id=&#34;安装说明&#34;&gt;安装说明&lt;/h2&gt;
&lt;p&gt;目前只提供一键脚本安装，安装期间会自动将所需环境和源码下载并安装到服务器，无需担心不会安装的问题。&lt;/p&gt;
&lt;p&gt;当前脚本会默认安装&lt;code&gt;ffmpeg&lt;/code&gt;、&lt;code&gt;Redis v7&lt;/code&gt;、&lt;code&gt;MongoDB v6&lt;/code&gt;、&lt;code&gt;NodeJS v20&lt;/code&gt;运行环境，且后续会微调版本，具体以实际为准。&lt;/p&gt;
&lt;p&gt;无&lt;code&gt;GPU&lt;/code&gt;服务器，系统要求：&lt;code&gt;CentOS 8+&lt;/code&gt;，&lt;code&gt;Debian 10+&lt;/code&gt;，&lt;code&gt;Ubuntu 20.04+&lt;/code&gt;(推荐)，&lt;code&gt;AlmaLinux 8+&lt;/code&gt;，&lt;code&gt;Rocky Linux 8+&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GPU&lt;/code&gt;服务器，显卡要求 ⇒ &lt;a href=&#34;https://developer.nvidia.com/video-encode-decode-gpu-support-matrix&#34;&gt;点击查看&lt;/a&gt;；系统要求：&lt;code&gt;Debian 10+&lt;/code&gt;，&lt;code&gt;Ubuntu 20.04+&lt;/code&gt;(推荐)，如安装期间未检测到&lt;code&gt;Nvidia&lt;/code&gt;驱动，则脚本会自动安装。&lt;/p&gt;
&lt;h2 id=&#34;开始安装&#34;&gt;开始安装&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：脚本和客户端都会自动检查并开启BBR加速，无需额外开启。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;客户端安装&#34;&gt;客户端安装&lt;/h3&gt;
&lt;p&gt;目前提供一键安装，一键更新，一键重启客户端，如果你没&lt;code&gt;Linux&lt;/code&gt;基础，可以使用，客户端下载 ⇒ &lt;a href=&#34;https://down.querydata.org/down/efv-install-client.exe&#34;&gt;传送门&lt;/a&gt;；如果你有多个授权，可通过右上角&lt;code&gt;添加配置&lt;/code&gt;，添加多个服务器并安装&lt;code&gt;EFV&lt;/code&gt;，且服务器信息会自动保存，方便进行操作相关指令。&lt;/p&gt;
&lt;h3 id=&#34;手动安装&#34;&gt;手动安装&lt;/h3&gt;
&lt;p&gt;如果你有&lt;code&gt;Linux&lt;/code&gt;基础，可使用&lt;code&gt;SSH&lt;/code&gt;客户端，比如&lt;code&gt;Xshell&lt;/code&gt;软件，登录服务器，再使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#下载脚本，下载前请将后面的yourcode改成你的授权码；如出现404 Not Found，则可能是ip未绑定，或者授权码有误
wget --no-check-certificate -O &#39;/opt/efv.sh&#39; &#39;https://down.querydata.org/download/express-ffmpeg-vip.sh?code=yourcode&#39;

#运行脚本，运行前请将后面2个参数修改成自己的，即授权码yourcode，和源码安装路径/home，路径自定义，为绝对路径写法，不存在会自动创建
bash /opt/efv.sh yourcode /home
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Enter&lt;/code&gt;运行，直到脚本运行结束，期间会给你安装，并启动所有环境、程序，可直接上手使用，且相关命令行 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/getting-started/program-startup-restart-commands/&#34;&gt;点击查看&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;如果第一行命令出现&lt;code&gt;wget: unable to resolve host address&lt;/code&gt;报错，则解决方法 ⇒ &lt;a href=&#34;https://docs.efvcms.com/blog/linux-tutorial/linux-set-dns-server-temporary-or-permanent/&#34;&gt;点击查看&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;安装完成后，访问地址就是服务器&lt;code&gt;ip:3000&lt;/code&gt;，接下来要正常使用需要绑定一个域名，继续看左侧文档绑定域名。&lt;/p&gt;
&lt;p&gt;最后注意，由于后台功能有点多，很多都用不到，有些强迫症的很想关闭这些，可直接在后台左下角的侧栏开关，自行关闭不需要的功能导航。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 多码率设置和自适应/试看M3U8</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/multi-bitrate-settings-and-adaptive-m3u8/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/multi-bitrate-settings-and-adaptive-m3u8/</guid>
      <description>
        
        
        &lt;h2 id=&#34;多码率说明及设置&#34;&gt;多码率说明及设置&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：多码率相关功能仅在转码下生效，秒切不生效，秒切默认为源片分辨率和码率。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;多码率转码可以同时将视频转码到&lt;code&gt;240P&lt;/code&gt;、&lt;code&gt;360P&lt;/code&gt;、&lt;code&gt;480P&lt;/code&gt;、&lt;code&gt;640P&lt;/code&gt;、&lt;code&gt;720P&lt;/code&gt;、&lt;code&gt;1080P&lt;/code&gt;，&lt;code&gt;2K&lt;/code&gt;，&lt;code&gt;4K&lt;/code&gt;，&lt;code&gt;原画&lt;/code&gt;多个分辨率视频，原画也就是默认为源片的分辨率。&lt;/p&gt;
&lt;h3 id=&#34;码率设置&#34;&gt;码率设置&lt;/h3&gt;
&lt;p&gt;点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码设置 ⇒ 多码率和码率设置；如果你想同时转多个分辨率视频就选择多个分辨率即可。&lt;/p&gt;
&lt;p&gt;这里会根据你的选择，强行给你改变源片的分辨率和码率，且清晰度主要由码率决定，码率为可变码率，会随机波动，码率设置说明：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、分辨率对应的码率数值设置的越大，视频越清晰，同样的视频体积也会增大。
2、转码H.264片源的时候，当设置的码率大于源片的码率时，会默认使用源片的码率进行处理，也就是将当前分辨率设置的码率临时替换成源片码率进行转码处理。
3、转码H.265、AV1等片源的时候，会适当的提高设置的码率，即通过补偿码率来保障转码到H.264视频的画质，即可能转码所用的码率会比源片大。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;h265av1等画质增强&#34;&gt;H.265/AV1等画质增强&lt;/h3&gt;
&lt;p&gt;当源片为&lt;code&gt;H.265&lt;/code&gt;、&lt;code&gt;AV1&lt;/code&gt;等编码时，转码到&lt;code&gt;H.264&lt;/code&gt;期间会自动估算其压缩率，并补偿一定的码率来保障画质，推荐默认即可，且体积会随着画质增强而逐步增大，对于少许压缩率超高的视频，可能默认模式不够用，适当进行调整即可。注意：转码到原画需选择&amp;quot;源片码率&amp;quot;或&amp;quot;设置码率&amp;quot;才生效。&lt;/p&gt;
&lt;h3 id=&#34;帧率设置&#34;&gt;帧率设置&lt;/h3&gt;
&lt;p&gt;点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码设置 ⇒ 帧率设置；目前采用平衡策略，在相同码率下会自动调整画质与流畅度的平衡，更高帧率带来更流畅的画面，但可能会降低单帧画面细节。&lt;/p&gt;
&lt;h3 id=&#34;竖屏自适应降低码率&#34;&gt;竖屏自适应降低码率&lt;/h3&gt;
&lt;p&gt;开启后，检测到竖屏视频时，会根据画面复杂度自适应降低转码码率，以设置码率或源片码率为基准，内容简单时最多可降低&lt;code&gt;40%&lt;/code&gt;，复杂时保持原样，从而节省存储空间与带宽，且大多数竖屏视频对小幅度降低码率的影响不是很大。&lt;/p&gt;
&lt;h3 id=&#34;同分辨率优先原画&#34;&gt;同分辨率优先原画&lt;/h3&gt;
&lt;p&gt;如果你同时转码到原画和其它分辨率，则推荐开启，也就是你多分辨率转码设置了&lt;code&gt;720P&lt;/code&gt;、&lt;code&gt;1080P&lt;/code&gt;和&lt;code&gt;原画&lt;/code&gt;，且源片分辨率为&lt;code&gt;1080P&lt;/code&gt;，由于此时&lt;code&gt;原画&lt;/code&gt;也被判定为&lt;code&gt;1080P&lt;/code&gt;，那么转码的时候会跳过重复的&lt;code&gt;1080P&lt;/code&gt;，优先选择&lt;code&gt;原画&lt;/code&gt;，即只会给你转到&lt;code&gt;720P&lt;/code&gt;和&lt;code&gt;原画&lt;/code&gt;，防止分辨率重复。&lt;/p&gt;
&lt;h3 id=&#34;跳过高分辨率说明&#34;&gt;跳过高分辨率说明&lt;/h3&gt;
&lt;p&gt;点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码设置 ⇒ 跳过高分辨率；如果你多码率选择&lt;code&gt;360P&lt;/code&gt;、&lt;code&gt;720P&lt;/code&gt;、&lt;code&gt;1080P&lt;/code&gt;，且开启了跳过高码率，则如果源片为&lt;code&gt;720P&lt;/code&gt;，则转码的时候，只会给你转&lt;code&gt;360P&lt;/code&gt;、&lt;code&gt;720P&lt;/code&gt;，也就是设置的分辨率里面，不会给你转码到比源片高的分辨率。&lt;/p&gt;
&lt;p&gt;且当设置的分辨率都高于源片的分辨率的时候，默认给你转码原画，即源片的分辨率和码率。&lt;/p&gt;
&lt;h2 id=&#34;自适应m3u8说明&#34;&gt;自适应M3U8说明&lt;/h2&gt;
&lt;p&gt;自适应&lt;code&gt;M3U8&lt;/code&gt;是由&lt;code&gt;EFV&lt;/code&gt;自动生成的虚拟播放链接，不存在实际&lt;code&gt;M3U8&lt;/code&gt;文件。系统会将你转码生成的多个分辨率&lt;code&gt;M3U8&lt;/code&gt;自动合并为一个自适应&lt;code&gt;M3U8&lt;/code&gt;，实现智能分辨率调节。&lt;/p&gt;
&lt;p&gt;当用户播放该链接时，播放器会根据用户当前网络带宽，自动匹配最合适的分辨率播放流，以避免卡顿和缓冲，提升观看体验。&lt;/p&gt;
&lt;p&gt;很多播放器，如&lt;code&gt;Plyr&lt;/code&gt;等支持解析自适应&lt;code&gt;M3U8&lt;/code&gt;内的全部码率清单，并生成分辨率切换控件，允许用户手动切换分辨率，实现更高自由度的播放控制。&lt;/p&gt;
&lt;h3 id=&#34;相关设置&#34;&gt;相关设置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：如果你的自适应M3U8播放失败，可以参考下方说明进行解决。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;通过自适应&lt;code&gt;M3U8&lt;/code&gt;获取的所有分辨率&lt;code&gt;m3u8&lt;/code&gt;的域名均为转码设置的&lt;code&gt;设置域名&lt;/code&gt;，请求如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#自适应m3u8链接，拼接组合：/movie/auto/ + 视频id + .m3u8
/movie/auto/61f68205eeeec878ae3fe3d5.m3u8

#该自适应m3u8的内容
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=4000000,AVERAGE-BANDWIDTH=4000000,RESOLUTION=848x477
http://127.0.0.1:3000/videos/202201/31/61f68205eeeec878ae3fe3d5/gee9g1/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=7000000,AVERAGE-BANDWIDTH=7000000,RESOLUTION=1280x720
http://127.0.0.1:3000/videos/202201/31/61f68205eeeec878ae3fe3d5/217g7g/index.m3u8
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;http://127.0.0.1:3000&lt;/code&gt;就是转码设置的&lt;code&gt;设置域名&lt;/code&gt;对应的参数，所以该域名必须设置且要正确，不然会导致自适应&lt;code&gt;M3U8&lt;/code&gt;获取不到所有分辨率&lt;code&gt;m3u8&lt;/code&gt;的正确域名，最终导致播放不了。&lt;/p&gt;
&lt;p&gt;且该设置域名可以直接填入&lt;code&gt;EFV&lt;/code&gt;绑定的域名地址；如果你的&lt;code&gt;m3u8&lt;/code&gt;全部同步到了云存储，这里也可以设置云存储的域名，即自适应&lt;code&gt;M3U8&lt;/code&gt;会获取到云存储的&lt;code&gt;m3u8&lt;/code&gt;地址，也可以播放。可以自行拓展玩法。&lt;/p&gt;
&lt;h2 id=&#34;获取试看m3u8&#34;&gt;获取试看M3U8&lt;/h2&gt;
&lt;p&gt;试看&lt;code&gt;M3U8&lt;/code&gt;是由&lt;code&gt;EFV&lt;/code&gt;自动生成的虚拟播放链接，不存在实际&lt;code&gt;M3U8&lt;/code&gt;文件。系统会从完整&lt;code&gt;M3U8&lt;/code&gt;截取部分切片拼接成新的&lt;code&gt;M3U8&lt;/code&gt;，提供片段播放。&lt;/p&gt;
&lt;p&gt;使用该功能需前往转码设置，找到最下方的&lt;code&gt;试看设置&lt;/code&gt;，目前支持&lt;code&gt;2&lt;/code&gt;种设置方式：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、时长模式：直接填入数字，单位秒，试看M3U8只会输出开头多少秒的视频内容，且实际时长可能会和设置时长有偏差，也就是最多相差一个切片的时长。
2、百分比片段模式：输入百分比时间点，如 10$50$90 或 10%$50%$90%，即分别将时间点落在10%、50%和90%的3个切片提取出来，组合成试看M3U8内容。支持设置多个百分比，中间使用英文$分隔。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;设置任何模式会立即开启&lt;code&gt;试看功能&lt;/code&gt;，留空则关闭，且试看链接参考如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#id为视频管理的视频id，id可通过后台复制M3U8或者数据API接口获取
Get /try/{id}.m3u8 //如:/try/67bff3289760c92110be672c.m3u8
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;该地址会返回该视频最高分辨率的&lt;code&gt;M3U8&lt;/code&gt;试看内容，可直接提供播放，目前已适配&lt;code&gt;时间戳防盗链&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;自定义试看&#34;&gt;自定义试看&lt;/h3&gt;
&lt;p&gt;我们也可以通过&lt;code&gt;time&lt;/code&gt;参数单独传递试看参数，用于适配长短视频，且需开启&lt;code&gt;试看功能&lt;/code&gt;后，该参数才生效，使用如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#时长模式，time为试看时长，单位为秒
Get /try/{id}.m3u8?time=20 //如:/try/67bff3289760c92110be672c.m3u8?time=20

#百分比片段模式，time为百分比
Get /try/{id}.m3u8?time=10$20$30$40$50 //如:/try/67bff3289760c92110be672c.m3u8?time=10$20$30$40$50
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当试看设置项为&lt;code&gt;时长模式&lt;/code&gt;时，&lt;code&gt;time&lt;/code&gt;只能使用&lt;code&gt;时长模式&lt;/code&gt;，且限制&lt;code&gt;time&lt;/code&gt;不能超过&lt;code&gt;试看设置&lt;/code&gt;的数值，即当&lt;code&gt;time&lt;/code&gt;超过&lt;code&gt;试看设置&lt;/code&gt;的数值时，后端会直接使用&lt;code&gt;试看设置&lt;/code&gt;的数值；如&lt;code&gt;试看设置&lt;/code&gt;为&lt;code&gt;60&lt;/code&gt;，&lt;code&gt;time&lt;/code&gt;为&lt;code&gt;120&lt;/code&gt;，那么会自动调整&lt;code&gt;time&lt;/code&gt;为&lt;code&gt;60&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;当试看设置项为&lt;code&gt;百分比片段模式&lt;/code&gt;时，&lt;code&gt;time&lt;/code&gt;只能使用&lt;code&gt;百分比片段模式&lt;/code&gt;，且限制&lt;code&gt;time&lt;/code&gt;不能超过&lt;code&gt;试看设置&lt;/code&gt;的百分比个数，即当&lt;code&gt;time&lt;/code&gt;超过&lt;code&gt;试看设置&lt;/code&gt;的百分比个数时，后端会自动缩减到&lt;code&gt;试看设置&lt;/code&gt;的百分比个数；如&lt;code&gt;试看设置&lt;/code&gt;为&lt;code&gt;10$20$50&lt;/code&gt;，&lt;code&gt;time&lt;/code&gt;为&lt;code&gt;15$25$35$75$85&lt;/code&gt;，那么会自动缩减&lt;code&gt;time&lt;/code&gt;为&lt;code&gt;3&lt;/code&gt;个百分比，即&lt;code&gt;15$25$35&lt;/code&gt;。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 发布到第三方CMS教程</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/publish-to-other-cms-tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/publish-to-other-cms-tutorial/</guid>
      <description>
        
        
        &lt;p&gt;目前有很多方法可以将&lt;code&gt;EFV&lt;/code&gt;的数据发布到第三方程序，可自行根据适合自己的方案选择，如果以下某个功能不存在，请看文档更新到最新版本即可。&lt;/p&gt;
&lt;h2 id=&#34;发布到苹果cms&#34;&gt;发布到苹果CMS&lt;/h2&gt;
&lt;p&gt;可前往程序后台 ⇒ 转码相关 ⇒ 对接苹果&lt;code&gt;CMS&lt;/code&gt;，设置好可供苹果&lt;code&gt;CMS&lt;/code&gt;直接采集的&lt;code&gt;api&lt;/code&gt;参数即可，具体参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;发布到海洋cms&#34;&gt;发布到海洋CMS&lt;/h2&gt;
&lt;p&gt;可前往程序后台 ⇒ 转码相关 ⇒ 对接海洋&lt;code&gt;CMS&lt;/code&gt;，设置好可供海洋&lt;code&gt;CMS&lt;/code&gt;直接采集的&lt;code&gt;api&lt;/code&gt;参数即可，具体参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/efv-separation-system-setup-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;发布到爱影cms&#34;&gt;发布到爱影CMS&lt;/h2&gt;
&lt;p&gt;可前往程序后台 ⇒ 转码相关 ⇒ 对接苹爱影&lt;code&gt;CMS&lt;/code&gt;，设置好可供爱影&lt;code&gt;CMS&lt;/code&gt;直接采集的&lt;code&gt;api&lt;/code&gt;参数即可，具体参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/iy-cms-publishing-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;发布到wordpress&#34;&gt;发布到WordPress&lt;/h2&gt;
&lt;p&gt;可前往程序后台 ⇒ 转码相关 ⇒ 导出到&lt;code&gt;WordPress&lt;/code&gt;，设置好导出参数，然后再导入到&lt;code&gt;WordPress&lt;/code&gt;即可，具体参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/wordpress-publishing-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;批量导出m3u8链接到文本&#34;&gt;批量导出M3U8链接到文本&lt;/h2&gt;
&lt;p&gt;目前可批量导出指定分类或全部视频数据到文本、支持导出视频标题、&lt;code&gt;M3U8&lt;/code&gt;链接、封面、&lt;code&gt;GIF&lt;/code&gt;动态图、预览视频等。&lt;/p&gt;
&lt;p&gt;可前往程序后台 ⇒ 转码相关 ⇒ 视频管理，再点击下方的&lt;code&gt;导出m3u8链接&lt;/code&gt;功能即可，导出规则如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;基本规则：使用变量字段 + 分隔符组合，字段顺序可自定义调整

必需字段：
name - 视频标题
m3u8 - m3u8地址

可选字段：
poster - 封面1
poster2 - 封面2
time - 时间(格式为00:00:00)
duration - 时长(格式为120分钟)
category - 分类
gif - gif动态图
preview - 预览视频

格式示例：
name$m3u8$poster2$time
name|m3u8|poster2|duration|gif
name,m3u8,preview,category
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;里面的&lt;code&gt;M3U8&lt;/code&gt;和截图链接域名，需在转码设置的&lt;code&gt;设置域名&lt;/code&gt;填入，即该参数为文本的域名显示。&lt;/p&gt;
&lt;h2 id=&#34;批量导出m3u8链接到excel表格&#34;&gt;批量导出M3U8链接到Excel表格&lt;/h2&gt;
&lt;p&gt;目前可批量导出分类、分类标签、&lt;code&gt;M3U8&lt;/code&gt;链接、封面和截图链接到&lt;code&gt;Excel&lt;/code&gt;文档。&lt;/p&gt;
&lt;p&gt;可前往程序后台 ⇒ 转码相关 ⇒ 视频管理，再点击下方的&lt;code&gt;批量导出表格&lt;/code&gt;，再选择导出的截图类型即可。&lt;/p&gt;
&lt;p&gt;表格的&lt;code&gt;M3U8&lt;/code&gt;和截图链接域名，需在转码设置的&lt;code&gt;设置域名&lt;/code&gt;填入，即该参数为导出表格的域名显示。&lt;/p&gt;
&lt;h2 id=&#34;开启火车头采集&#34;&gt;开启火车头采集&lt;/h2&gt;
&lt;p&gt;可前往程序后台 ⇒ 转码相关 ⇒ 转码设置，开启&lt;code&gt;采集页面&lt;/code&gt;即可，然后可通过火车头采集转码后的视频、截图等信息，采集地址&lt;code&gt;/caiji&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;采集地址的&lt;code&gt;M3U8&lt;/code&gt;和截图链接域名，需在&lt;code&gt;转码&lt;/code&gt;设置的&lt;code&gt;站点&lt;/code&gt;填入，即该参数为采集页面的域名显示。&lt;/p&gt;
&lt;h2 id=&#34;全套数据获取接口api&#34;&gt;全套数据获取接口API&lt;/h2&gt;
&lt;p&gt;可通过&lt;code&gt;API&lt;/code&gt;接口直接获取视频管理、剧集管理和音频管理的全部数据，包括&lt;code&gt;M3U8&lt;/code&gt;等相关链接，具体参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/api-interface-usage-tutorial/fetch-all-video-and-audio-data/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;数据post通知接口&#34;&gt;数据POST通知接口&lt;/h2&gt;
&lt;p&gt;该功能可在视频转码完成后，会立即将&lt;code&gt;m3u8&lt;/code&gt;链接等信息自动通知到指定域名，你只需要接收相关数据并入库到你自己的程序即可，接口使用 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-transcode-sync-callback/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 封面1和封面2及截图说明</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/cover-1-2-and-screenshot-principle-explanation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/cover-1-2-and-screenshot-principle-explanation/</guid>
      <description>
        
        
        &lt;h2 id=&#34;封面1&#34;&gt;封面1&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;封面1&lt;/code&gt;的长和宽由&lt;code&gt;转码设置&lt;/code&gt;的&lt;code&gt;自定义封面宽度和长度&lt;/code&gt;选项决定，可自行设置或默认即可；&lt;/p&gt;
&lt;p&gt;通过程序转码自动生成、后台上传、服务器封面入库、或详情编辑的豆瓣接口获取的封面，均会根据设置强行裁剪成横屏封面，一般适用于横屏封面展示。&lt;/p&gt;
&lt;h2 id=&#34;封面2&#34;&gt;封面2&lt;/h2&gt;
&lt;p&gt;通过程序转码自动生成的&lt;code&gt;封面2&lt;/code&gt;逻辑和&lt;code&gt;封面1&lt;/code&gt;一样，长和宽由&lt;code&gt;转码设置&lt;/code&gt;的&lt;code&gt;自定义封面宽度和长度&lt;/code&gt;选项决定，即默认为横屏封面。&lt;/p&gt;
&lt;p&gt;但通过后台上传的&lt;code&gt;封面2&lt;/code&gt;、服务器封面入库、或详情编辑的豆瓣接口获取的封面不会强行裁剪，而是会自适应保持原有宽高比例，一般适用于竖屏封面展示。&lt;/p&gt;
&lt;h2 id=&#34;截图&#34;&gt;截图&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：如果需要视频第一帧图片，可以前往转码设置开启第一帧截图。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;截图的长宽由视频分辨率决定，默认从转码处理后的&lt;code&gt;MP4&lt;/code&gt;截图，也就是此时截图长宽就是你设置的转码分辨率。&lt;/p&gt;
&lt;p&gt;如果你想设置转码之前截图，也就是不经过处理的源片截图，需前往&lt;code&gt;转码设置&lt;/code&gt;开启&lt;code&gt;转码前截图&lt;/code&gt;，此时截图长宽就是源片分辨率。&lt;/p&gt;
&lt;p&gt;截图逻辑就是，视频总时长除以设置的截图数，取平均时长的截图。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 跑马灯和水印设置步骤</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/marquee-and-watermark-setup-steps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/marquee-and-watermark-setup-steps/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：加水印、跑马灯必须要转码下才生效；秒切是无效的，也就不会给你加任何水印、跑马灯。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前跑马灯和水印支持&lt;code&gt;7&lt;/code&gt;种类型，即：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;静态图片水印
文字跑马灯
静态文字水印
图片移动水印，即图片水印图片会从右下角沿着对角线移动到左上角，然后停留片刻后，再移动出去。
文字随机闪现水印，即文字在全屏无规律的出现
gif动态水印，可用作特效动态水印
ASS水印，可用于ASS水印和跑马灯
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;操作步骤&#34;&gt;操作步骤&lt;/h2&gt;
&lt;p&gt;先点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 水印/跑马灯设置 ⇒ 所见即所得编辑器 ⇒ 点击添加按钮，具体操作可看下方视频。&lt;/p&gt;
&lt;h3 id=&#34;视频演示&#34;&gt;视频演示&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：请点击播放器右下角全屏按钮进行观看。
&lt;/code&gt;&lt;/pre&gt;
&lt;iframe src=&#34;https://down.querydata.org/video/watermark.html&#34; frameborder=0 allowfullscreen&gt;&lt;/iframe&gt;
&lt;h5 id=&#34;绑定分类和随机使用水印&#34;&gt;绑定分类和随机使用水印&lt;/h5&gt;
&lt;pre&gt;&lt;code&gt;提示：目前EFV最新版和演示视频区别就是，新版已新增分类绑定和随机使用水印功能，操作更灵活。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;设置好各种类型的跑马灯和水印后，默认对全部的视频同时生效，如果你想部分的水印和跑马灯只对某些分类的视频生效，则可直接在&lt;code&gt;跑马灯/水印&lt;/code&gt;页面给跑马灯和水印绑定好视频分类即可。&lt;/p&gt;
&lt;p&gt;绑定好分类后，转码的时候，该水印和跑马灯就只对该分类的视频生效，其它分类的视频就不会生效了，可以用来给不同分类的视频设置不同的水印和跑马灯。&lt;/p&gt;
&lt;p&gt;最后如果你同类型的水印和跑马灯设置了很多个，然后想每次视频转码随机使用其中&lt;code&gt;1&lt;/code&gt;或多个，则可直接在&lt;code&gt;跑马灯/水印&lt;/code&gt;页面点击&lt;code&gt;随机设置&lt;/code&gt;，进行相关调整即可。&lt;/p&gt;
&lt;h3 id=&#34;时间说明&#34;&gt;时间说明&lt;/h3&gt;
&lt;p&gt;默认的时间规则从&lt;code&gt;0秒开始&lt;/code&gt;，然后根据&lt;code&gt;持续时间&lt;/code&gt;和&lt;code&gt;间隔时间&lt;/code&gt;的设置来循环，这里的&lt;code&gt;失效时间&lt;/code&gt;仅为&lt;code&gt;0秒到多少秒&lt;/code&gt;不出现指定跑马灯/水印。&lt;/p&gt;
&lt;p&gt;比如我设置跑马灯持续时间为&lt;code&gt;30&lt;/code&gt;秒，间隔时间为&lt;code&gt;200&lt;/code&gt;秒，失效时间为&lt;code&gt;40&lt;/code&gt;秒，则具体规则如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、根据默认的时间规则，跑马灯出现顺序为0-30秒，200-230秒，400-430秒等。
2、由于我设置的失效时间为40秒，也就是0秒到40秒不出现该跑马灯，则上面的0-30秒段跑马灯不会出现，只会出现200-230秒，400-430秒等。
3、也就是如果失效时间在30-200秒之间的效果都一样，都是从第二段200-230秒，400-430秒等出现。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;持续时间&lt;/code&gt;：静态图片、静态文字、&lt;code&gt;gif&lt;/code&gt;动态这&lt;code&gt;3&lt;/code&gt;个水印可以不设置，不设置默认全程显示；但是跑马灯、文字闪现、图片移动这些水印必须设置，不然会转码错误。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;间隔时间&lt;/code&gt;：不支持静态图片、静态文字、&lt;code&gt;gif&lt;/code&gt;动态这&lt;code&gt;3&lt;/code&gt;个水印，即这些水印可以不用设置；但是跑马灯、文字闪现、图片移动这些水印必须设置，不然会转码错误。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;失效时间&lt;/code&gt;：对所有水印都起作用，如不设置，则不会对水印开始时间产生影响，即从&lt;code&gt;0&lt;/code&gt;秒开始作用。&lt;/p&gt;
&lt;h3 id=&#34;操作说明&#34;&gt;操作说明&lt;/h3&gt;
&lt;p&gt;添加好相关类型水印后，需要使用鼠标左键拖动水印的位置，用来获取水印的坐标。&lt;/p&gt;
&lt;p&gt;跑马灯由于是水平移动，所以只需要调整高度即可；图片移动水印和文字闪现水印运动轨迹都是内置的，所以你可以随便移动到哪，仅用于获取坐标并设置时间。&lt;/p&gt;
&lt;p&gt;最后每一个水印设置好相关时间后，都要点保存设置；如果未提交之前想重新调整下位置和时间，可以继续拖动水印并设置，调整完毕后点保存即可。&lt;/p&gt;
&lt;h3 id=&#34;文本水印字体修改&#34;&gt;文本水印字体修改&lt;/h3&gt;
&lt;p&gt;跑马灯水印、静态文字水印、文字闪现水印，这几个水印的字体样式都是可以修改的，可直接前往&lt;code&gt;水印设置&lt;/code&gt;，找的字体相关设置项进行调整。&lt;/p&gt;
&lt;h2 id=&#34;ass水印设置&#34;&gt;ASS水印设置&lt;/h2&gt;
&lt;p&gt;先点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 转码设置 ⇒ 开启全局&lt;code&gt;ASS&lt;/code&gt;特效字幕，然后分别设置&lt;code&gt;ASS&lt;/code&gt;横屏和竖屏水印代码即可。&lt;/p&gt;
&lt;p&gt;且&lt;code&gt;ASS&lt;/code&gt;水印会和上方设置的各种类型的水印、跑马灯同时生效，在转码的时候会自动烧录进所有视频中。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 批量重新转码指定视频</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/batch-video-transcoding-settings/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/batch-video-transcoding-settings/</guid>
      <description>
        
        
        &lt;p&gt;一般我们使用期间，有的之前是秒切，现在想加水印了；或者之前的水印跑马灯不需要了，现在需要换新的水印跑马灯，而又想保持所有链接不变，这时候可以使用重转功能。&lt;/p&gt;
&lt;h2 id=&#34;使用说明&#34;&gt;使用说明&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：如果你需要频繁换水印或跑马灯，推荐使用快速替换ASS水印功能，处理效率极高。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;默认只重转转码完成的视频，且会在重转期间删除该视频的&lt;code&gt;M3U8&lt;/code&gt;切片和截图等数据，但不包括封面，可在下方手动选择删除封面图片，并在重转期间根据当前的转码设置，生成新的截图、预览视频和&lt;code&gt;M3U8&lt;/code&gt;切片等数据；且截图、预览视频和同分辨率的M3U8等链接保持不变。&lt;/p&gt;
&lt;p&gt;如果视频源片存在，即转码设置开启过保留源片（频繁换水印或跑马灯推荐开启），则默认使用源片，不存在会自动合并视频&lt;code&gt;M3U8&lt;/code&gt;为&lt;code&gt;MP4&lt;/code&gt;，且服务器本地&lt;code&gt;TS&lt;/code&gt;切片不存在则会跳过合并，即不会对视频做重转处理，对于本地&lt;code&gt;M3U8&lt;/code&gt;切片有水印或跑马灯，建议配合去水印和跑马灯功能一起使用，效果更佳。&lt;/p&gt;
&lt;h2 id=&#34;注意事项&#34;&gt;注意事项&lt;/h2&gt;
&lt;p&gt;如果重转前，视频是秒切，重转后，变成了转码，那么多码率设置的分辨率建议和秒切挂靠分辨率保持一致，即重转前视频转码的分辨率为&lt;code&gt;1080P&lt;/code&gt;，重转后也为&lt;code&gt;1080P&lt;/code&gt;、那么同分辨率&lt;code&gt;1080P&lt;/code&gt;的&lt;code&gt;M3U8&lt;/code&gt;链接会不变。&lt;/p&gt;
&lt;p&gt;如果重转前，视频是转码，重转后，依然是转码，那么建议重转前后的多码率设置保持一致，这样所有分辨率&lt;code&gt;M3U8&lt;/code&gt;链接会不变，如果重转前视频转码的分辨率为&lt;code&gt;720P&lt;/code&gt;、&lt;code&gt;1080P&lt;/code&gt;，重转后为&lt;code&gt;1080P&lt;/code&gt;、&lt;code&gt;原画&lt;/code&gt;，那么只有同分辨率&lt;code&gt;1080P&lt;/code&gt;的&lt;code&gt;M3U8&lt;/code&gt;链接会不变，不同的会随机生成。&lt;/p&gt;
&lt;h2 id=&#34;操作步骤&#34;&gt;操作步骤&lt;/h2&gt;
&lt;p&gt;先前往&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 视频管理，通过筛选等方式，找出并选择需要重转的视频，也可以不用选择视频，直接点击下方的&lt;code&gt;批量重新转码&lt;/code&gt;功能即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/recode1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/recode2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;这里我们可以重转选择的指定视频，也可以重转指定分类的全部视频，或者所有视频，根据自己的需求进行选择。&lt;/p&gt;
&lt;p&gt;关于&lt;code&gt;TS&lt;/code&gt;时长选择，由于秒切是根据视频关键帧来决定单个&lt;code&gt;TS&lt;/code&gt;时长，有些视频关键帧比较长，会导致部分&lt;code&gt;TS&lt;/code&gt;切片时长变长，如果你需要切片时长在可控范围内，可以关闭秒切，并调整切片时长设置项，再重转&lt;code&gt;TS&lt;/code&gt;时长过长的视频即可。&lt;/p&gt;
&lt;p&gt;重转默认保留所选视频的&lt;code&gt;封面1&lt;/code&gt;和&lt;code&gt;2&lt;/code&gt;，仅删除&lt;code&gt;M3U8&lt;/code&gt;切片和其它截图等数据，如果你想删除封面，则开启；并会在重转期间生成新的封面数据。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 设置定时自动采集</title>
      <link>https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/schedule-automatic-data-collection/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/schedule-automatic-data-collection/</guid>
      <description>
        
        
        &lt;h2 id=&#34;配置定时采集任务&#34;&gt;配置定时采集任务&lt;/h2&gt;
&lt;p&gt;先进入到苹果&lt;code&gt;CMS&lt;/code&gt;后台，点击最上面导航的&lt;code&gt;采集&lt;/code&gt;栏目，打开&lt;code&gt;自定义接口&lt;/code&gt;，找到你添加的接口，把鼠标移动到右边的&lt;code&gt;采集所有&lt;/code&gt;，右键&lt;code&gt;复制链接地址&lt;/code&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：这里默认设置采集所有，如果你数据量比较大，可能采集会比较慢，可自行根据实际情况选择 采集当天 或 采集本周。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cjapi4.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;我们复制好接口的&lt;code&gt;采集所有&lt;/code&gt;链接后，再点击最上面导航的&lt;code&gt;系统&lt;/code&gt;栏目，在左侧找到&lt;code&gt;定时任务配置&lt;/code&gt;，点击添加，大致如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/dsapi1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;状态开启，名称和备注自行填入，执行文件选择&lt;code&gt;自定义采集collect&lt;/code&gt;，附加参数就是上面复制的接口&lt;code&gt;采集所有&lt;/code&gt;链接，执行周期和时间可不填，好像不会生效。&lt;/p&gt;
&lt;p&gt;设置好了定时配置后，返回定时任务列表，找到你添加的任务，继续把鼠标移动到右边的&lt;code&gt;测试&lt;/code&gt;按钮，右键&lt;code&gt;复制链接地址&lt;/code&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：复制测试链接之前，我们可以先点击测试按钮，看看能不能正常采集，确定没问题了，再复制连接。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/dsapi2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;最后保存好定时任务的测试链接，我们进入下一步。&lt;/p&gt;
&lt;h2 id=&#34;设置定时计划&#34;&gt;设置定时计划&lt;/h2&gt;
&lt;p&gt;如果你有安装宝塔面板，且任何服务器的宝塔面板都可以直接设置，进入宝塔后台，找到左侧的计划任务，点击添加，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/dsapi3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;任务类型为&lt;code&gt;访问URL&lt;/code&gt;，名称和执行周期自行设置，&lt;code&gt;URL地址&lt;/code&gt;为上面获取到的测试链接。&lt;/p&gt;
&lt;p&gt;如果你没有安装过宝塔面板，可直接使用&lt;code&gt;SSH&lt;/code&gt;客户端，登录&lt;code&gt;EFV&lt;/code&gt;所在的服务器，运行命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#先将下面命令行中的https://cms.test整个链接全部换成你的测试链接，再一起全部复制到ssh运行
crontab -l &amp;gt; crontab.bak
echo &#39;*/30 * * * * curl -sSL &amp;quot;https://cms.test/api.php/timming/index.html?enforce=1&amp;amp;name=postapi&amp;quot;&#39; &amp;gt;&amp;gt; crontab.bak
crontab crontab.bak
rm -rf crontab.bak
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;该命令行是每&lt;code&gt;30&lt;/code&gt;分钟运行一次，可在运行之前，自行调整时间，怕调整出问题的，可直接默认。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 视频管理的视频数据入库、更新和删除</title>
      <link>https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-save-update/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-save-update/</guid>
      <description>
        
        
        &lt;h2 id=&#34;视频详情信息入库&#34;&gt;视频详情信息入库&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：推荐使用 视频上传接口 + 封面上传接口 + 视频信息更新接口 一起使用。

POST /api/postmovie

body: {
    #必填参数
    apikey, //api，转码设置获取
    originalname, //视频名称
    path, //视频路径，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.mp4

    #可选参数，如用不到相关参数可不用传递
    poster1,  //封面1，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    poster2,  //封面2，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    category, //视频分类，不存在会自动创建
    originaltitle, //视频原名
    aka, //别名
    language, //语言
    banben, //版本，hd等
    director, //导演，多个导演用英文逗号,分开，如 导演1,导演2,导演3
    stars, //主演，多个主演用英文逗号,分开，如 主演1,主演2,主演3
    writer, //编剧，多个编剧用英文逗号,分开，如 编剧1,编剧2,编剧3
    tags, //分类标签，多个标签用英文逗号,分开，如 剧情,悬疑,搞笑
    summary, //影片详情
    country, //国家
    year, //发行年份
    rate, //豆瓣评分

    #可选参数，可自动入库到剧集，下面3个都必填，如用不到可不用传递；且剧集id可以使用剧集api添加后获取
    autodownTv, //剧集id，填入后，会在转码完成时，自动添加进剧集
    autodownepisodes, //集数，如 01，会在添加进剧集后，自动排序；集数命名要规范，位数和总集数一致，如总集数2位数，则用01、10，3位数用001、010。
    tvepisodesname, //集数，如 01，
}

response: {
    success: 1|0,  //1成功，并会直接返回视频的id；0失败
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前入库接口会自动检测同名数据，即同名不会入库；如果你想入库前提前检测是否存在同名数据，则可以使用该接口：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#后面为转码设置的apikey，originalname为传入的视频名称
Get /api/checkVideoExists?apikey=5c20cEga22FgG7f&amp;amp;originalname=青城山下白素贞

#返回信息
{
    &amp;quot;success&amp;quot;: false //true为该视频已存在，false为不存在。
    id, //如果该视频已存在，则返回视频objectid。
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;视频详情信息更新&#34;&gt;视频详情信息更新&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;POST /api/postupmovie

body: {
    #必填参数，且originalname和id只需要传递一个即可
    apikey, //api，转码设置获取
    originalname, //视频名称，如果只匹配到一个数据，则直接更新，匹配不到，会自动模糊搜索
    id, //视频id

    #可选参数，如用不到相关参数可不用传递
    editname, //修改视频名称，传入则修改
    poster1,  //封面1，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    poster2,  //封面2，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    category, //视频分类，不存在会自动创建
    async, //重置该视频同步信息，如使用了 云存储 功能，又更新了封面，则可通过传递任意值清空同步记录，会再次触发相关同步。
    originaltitle, //视频原名
    aka, //别名
    language, //语言
    banben, //版本，hd等
    director, //导演，多个导演用英文逗号,分开，如 导演1,导演2,导演3
    stars, //主演，多个主演用英文逗号,分开，如 主演1,主演2,主演3
    writer, //编剧，多个编剧用英文逗号,分开，如 编剧1,编剧2,编剧3
    tags, //分类标签，多个标签用英文逗号,分开，如 剧情,悬疑,搞笑
    summary, //影片详情
    country, //国家
    year, //发行年份
    rate, //豆瓣评分

    // 可选参数，截图，如传递该参数，则会清空原有截图，有几张传递几张，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    &amp;quot;screenshots&amp;quot;: [
        { &amp;quot;url&amp;quot;: &amp;quot;https://example.com/screenshot1.png&amp;quot; },
        { &amp;quot;url&amp;quot;: &amp;quot;./movies/screenshot0.jpg&amp;quot; }
    ]
}

response: {
    success: 1|0,  //1成功，并会直接返回更新视频的id和名称；0失败
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果传递封面信息，则需要等转码完成才能使用该接口；如果不传递封面信息，转码之前也可以使用该接口，如需转码之前传递封面，可使用单独的 封面上传接口 和 该接口不传递封面信息 一起搭配使用。&lt;/p&gt;
&lt;h2 id=&#34;视频管理删除接口&#34;&gt;视频管理删除接口&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：apikey和apisecret参数在转码设置下方获取。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;删除单个视频&#34;&gt;删除单个视频&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#该操作会将视频管理的指定视频数据和切片全删除
delete: /apifluent/delete

data: {
  apikey,
  apisecret,
  id //视频管理的视频id
  originalname //视频管理的视频名称，如有多个同名数据，会一起删除
}

{
  &amp;quot;success&amp;quot;: 1|0  //1为删除成功
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;apikey&lt;/code&gt;和&lt;code&gt;apisecret&lt;/code&gt;必传，&lt;code&gt;id&lt;/code&gt;和&lt;code&gt;originalname&lt;/code&gt;传一个即可。&lt;/p&gt;
&lt;h3 id=&#34;批量删除多个视频&#34;&gt;批量删除多个视频&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#该操作会批量删除视频管理的指定视频数据和切片
POST: /apifluent/batchdelete

data: {
  apikey,
  apisecret,
  items: [
      { id: &amp;quot;视频ID1&amp;quot; },
      { id: &amp;quot;视频ID2&amp;quot; },
      { originalname: &amp;quot;视频名称1&amp;quot; },
      { originalname: &amp;quot;视频名称2&amp;quot; },
  ]
}

{
&amp;quot;success&amp;quot;: 1,
&amp;quot;message&amp;quot;: &amp;quot;批量删除任务已开始处理&amp;quot;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;apikey&lt;/code&gt;和&lt;code&gt;apisecret&lt;/code&gt;必传，同视频的&lt;code&gt;id&lt;/code&gt;和&lt;code&gt;originalname&lt;/code&gt;只需传一个即可，且多个视频&lt;code&gt;id&lt;/code&gt;和&lt;code&gt;originalname&lt;/code&gt;可混合传递，默认每&lt;code&gt;5&lt;/code&gt;个一组进行处理。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 用户组说明及推荐设置</title>
      <link>https://docs.efvcms.com/docs/cms-function-details/user-group-description-recommended-settings/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/cms-function-details/user-group-description-recommended-settings/</guid>
      <description>
        
        
        &lt;h2 id=&#34;用户组说明&#34;&gt;用户组说明&lt;/h2&gt;
&lt;p&gt;关于用户组，这里只简单说下，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、分辨率观看权限向下兼容，即处于720P分辨率用户组中的所有用户可同时观看720P、360P和240P。
2、用户注册后，默认分配到积分为0的普通用户组，即至少需要一个积分为0的用户组，不然会注册不了。
3、付费用户组的观看权限优先于普通用户组，付费用户组时长到期后，观看权限会回到默认的普通用户组。
4、用户点播购买视频后，可永久拥有该视频的全部分辨率完整播放权限。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;推荐设置&#34;&gt;推荐设置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：这里列举4种主要的设置方案，可通过传送门快速查看，然后自行修改适合自己的方案。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;方案一：给任何人都免费提供视频观看 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/cms-function-details/user-group-description-recommended-settings/#%E6%96%B9%E6%A1%88%E4%B8%80&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;方案二：非登录用户只能试看&lt;code&gt;N&lt;/code&gt;秒视频，登录用户可以免费观看完整视频 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/cms-function-details/user-group-description-recommended-settings/#%E6%96%B9%E6%A1%88%E4%BA%8C&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;方案三：非登录和已登录的普通用户只能试看&lt;code&gt;N&lt;/code&gt;秒视频，通过付费点播或者直接购买&lt;code&gt;VIP&lt;/code&gt;会员观看全部完整视频 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/cms-function-details/user-group-description-recommended-settings/#%E6%96%B9%E6%A1%88%E4%B8%89&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;方案四：非登录用户只能试看&lt;code&gt;N&lt;/code&gt;秒视频，已登录的普通用户可以观看视频的最低分辨率完整版，通过付费点播或者直接购买&lt;code&gt;VIP&lt;/code&gt;会员观看高清完整视频 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/cms-function-details/user-group-description-recommended-settings/#%E6%96%B9%E6%A1%88%E5%9B%9B&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;在这&lt;code&gt;4&lt;/code&gt;种常用设置基础上，还可以结合&lt;code&gt;批量免费&lt;/code&gt;和&lt;code&gt;VIP限定分类&lt;/code&gt;，且这里详细说下，下面的权限参考就不提了，自行发挥，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#以下2个功能，需配合试看功能，可搭配上述方案。
批量免费：批量给视频设置免费后，这些视频会跳过各种权限设置，并免费给任何用户观看，可随时关闭。
限定分类：如果VIP用户组设置过限定分类，那么该VIP组的用户可以观看视频和剧集管理中，指定分类的所有视频和分集的完整版，不在限定分类的视频和剧集依然要经过普通用户组观看权限判断。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;批量免费设置步骤&#34;&gt;批量免费设置步骤&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：建议将免费的视频归到同一个分类，并将该分类命名免费视频，方便用户查找。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;前往程序后台 ⇒ 进入视频管理，筛选出想免费的分类或随机视频，批量选择，点击下方&lt;code&gt;批量设置免费&lt;/code&gt;，进行关闭或开启即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/plmf1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/plmf2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;开启和关闭是立即生效的，可以根据自己需求进行调整。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：这里顺便说下如何查看那些视频是否免费及状态筛选
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;前往视频管理，先去标题栏把&lt;code&gt;是否免费&lt;/code&gt;调出来，方便标题栏查看。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/sfmf1233.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;然后点击&lt;code&gt;其它筛选&lt;/code&gt;，选择&lt;code&gt;已设置&lt;/code&gt;或&lt;code&gt;未设置&lt;/code&gt;即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/plmf444.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;最后可以批量进行相关操作了。&lt;/p&gt;
&lt;h2 id=&#34;方案一&#34;&gt;方案一&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：程序安装后，默认是该方案，无需调整，或自己微调整也行。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;需要开启的功能&#34;&gt;需要开启的功能&lt;/h3&gt;
&lt;p&gt;【&lt;code&gt;CMS&lt;/code&gt;设置】处&lt;code&gt;CMS&lt;/code&gt;+&lt;code&gt;会员系统&lt;/code&gt;+&lt;code&gt;支付系统&lt;/code&gt;功能需要开启，&lt;code&gt;开启试看&lt;/code&gt;功能需要关闭。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置&#34;&gt;用户组设置&lt;/h3&gt;
&lt;p&gt;这里只需要给所有普通用户组积分均设置为&lt;code&gt;0&lt;/code&gt;即可，也就是不需要任何积分权限就可以观看。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置截图参考&#34;&gt;用户组设置截图参考&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/qx11.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;方案二&#34;&gt;方案二&lt;/h2&gt;
&lt;h3 id=&#34;需要开启的功能-1&#34;&gt;需要开启的功能&lt;/h3&gt;
&lt;p&gt;【&lt;code&gt;CMS&lt;/code&gt;设置】处&lt;code&gt;CMS&lt;/code&gt;+&lt;code&gt;会员系统&lt;/code&gt;+&lt;code&gt;支付系统&lt;/code&gt;+&lt;code&gt;开启试看&lt;/code&gt;功能需要开启；试看时长自行设置，实际时长有误差为正常现象。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置-1&#34;&gt;用户组设置&lt;/h3&gt;
&lt;p&gt;这里给普通用户组的原画设置积分为&lt;code&gt;0&lt;/code&gt;，其它分辨率所需积分均大于&lt;code&gt;0&lt;/code&gt;即可。&lt;/p&gt;
&lt;p&gt;由于用户注册登录后，默认划分到积分为&lt;code&gt;0&lt;/code&gt;的用户组，这里只有&lt;code&gt;原画&lt;/code&gt;为&lt;code&gt;0&lt;/code&gt;，所以默认划分到&lt;code&gt;原画&lt;/code&gt;用户组，而&lt;code&gt;原画&lt;/code&gt;权限最高，即登录拥有全部分辨率观看权限。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置截图参考-1&#34;&gt;用户组设置截图参考&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/qx22.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;方案三&#34;&gt;方案三&lt;/h2&gt;
&lt;h3 id=&#34;需要开启的功能-2&#34;&gt;需要开启的功能&lt;/h3&gt;
&lt;p&gt;【&lt;code&gt;CMS&lt;/code&gt;设置】处&lt;code&gt;CMS&lt;/code&gt;+&lt;code&gt;会员系统&lt;/code&gt;+&lt;code&gt;支付系统&lt;/code&gt;+&lt;code&gt;积分点播&lt;/code&gt;+&lt;code&gt;开启试看&lt;/code&gt;功能需要开启；试看时长自行设置，实际时长有误差为正常现象。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置-2&#34;&gt;用户组设置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：将高分辨用户组积分设置无限大就是防止用户靠签到等自然升级，必须购买会员用户组或点播，才能观看完整视频。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;先给现分辨率中的最低到最高分辨率的用户组，积分都设置无限大，比如&lt;code&gt;6666&lt;/code&gt;或更大&amp;lt;比如我视频只转码&lt;code&gt;720P&lt;/code&gt;和&lt;code&gt;1080P&lt;/code&gt;，那么我需要将&lt;code&gt;720P&lt;/code&gt;(包括&lt;code&gt;720P&lt;/code&gt;)到&lt;code&gt;原画&lt;/code&gt;的用户组积分设置&lt;code&gt;6666&lt;/code&gt;或更大&amp;gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：由于用户注册后，会被分配到其中一个积分为0的普通用户组，所以需要将新用户丢到比较低分辨率权限组，这样没权限依然是试看。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后给比现分辨率最低还要低的分辨率用户组设置积分为&lt;code&gt;0&lt;/code&gt;，可以是一个也可以多个&amp;lt;如我视频的最低分辨率为&lt;code&gt;720P&lt;/code&gt;，那么我可以给&lt;code&gt;480P&lt;/code&gt;或&lt;code&gt;360P&lt;/code&gt;或&lt;code&gt;240P&lt;/code&gt;或全部低分辨率用户组都设置&lt;code&gt;0&lt;/code&gt;积分&amp;gt;。&lt;/p&gt;
&lt;p&gt;接着添加一个付费用户组即&lt;code&gt;VIP&lt;/code&gt;，且限定分类留空(留空对全部视频生效，或者搞阶梯会员，自由发挥)，对应名称可以设置为高级会员。&lt;/p&gt;
&lt;p&gt;最后前往【积分&lt;code&gt;VIP&lt;/code&gt;设置】，分别给该付费用户组设置&lt;code&gt;一个月&lt;/code&gt;到&lt;code&gt;一年&lt;/code&gt;的时间段积分购买，注意直接购买价格对应的积分请参考【&lt;code&gt;CMS&lt;/code&gt;设置】处的&lt;code&gt;每一元可购买积分数&lt;/code&gt;，两边对应下。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置截图参考-2&#34;&gt;用户组设置截图参考&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/qx33.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/qx44.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;该用户组设置详解&#34;&gt;该用户组设置详解&lt;/h3&gt;
&lt;p&gt;由于用户注册后，默认划分到积分为&lt;code&gt;0&lt;/code&gt;的用户组，这里积分为&lt;code&gt;0&lt;/code&gt;的用户组权限都比现有的视频分辨率都低，即注册登录后，依然没权限观看现有分辨率完整视频，只有用户单独使用积分点播指定视频才可以观看该视频完整版，或者直接购买设置的&lt;code&gt;付费用户组&lt;/code&gt;才可以观看全站所有视频。&lt;/p&gt;
&lt;h3 id=&#34;如何设置积分点播&#34;&gt;如何设置积分点播&lt;/h3&gt;
&lt;p&gt;积分点播所需默认积分在&lt;code&gt;CMS&lt;/code&gt;设置处设置，也就是单独点播一个完整版视频所需要的积分。&lt;/p&gt;
&lt;p&gt;你也可以在视频管理处给指定视频简易编辑，单独设置点播价格，如不设置则默认为&lt;code&gt;CMS&lt;/code&gt;设置处的默认积分价格。&lt;/p&gt;
&lt;p&gt;然后设置好对应的积分选项，比如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#以下相关获取积分均在cms设置处设置
1、签到获取积分数，每天进行签到可以获取指定积分。
2、推广奖励积分，用户可根据个人中心的推广链接每成功推广后获取的积分。
3、上传奖励积分数，用户可在个人中心上传视频，管理员审核成功后，即可获取相应积分。
4、每一元可购买积分数+最低交易价格，即用户直接购买积分的时候，每1元可获取的积分和最低购买金额。
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;方案四&#34;&gt;方案四&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该方案建议转码一个清晰度最低，也就是最模糊的视频提供完整版。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;需要开启的功能-3&#34;&gt;需要开启的功能&lt;/h3&gt;
&lt;p&gt;【&lt;code&gt;CMS&lt;/code&gt;设置】处&lt;code&gt;CMS&lt;/code&gt;+&lt;code&gt;会员系统&lt;/code&gt;+&lt;code&gt;支付系统&lt;/code&gt;+&lt;code&gt;积分点播&lt;/code&gt;+&lt;code&gt;开启试看&lt;/code&gt;功能需要开启；试看时长自行设置，实际时长有误差为正常现象。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置-3&#34;&gt;用户组设置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：将高分辨用户组积分设置无限大就是防止用户靠签到等自然升级，必须购买会员用户组或点播，才能观看完整视频。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;先给高于现分辨率中最低分辨率的所有用户组，积分都设置无限大，比如&lt;code&gt;6666&lt;/code&gt;或更大&amp;lt;比如我视频只转码&lt;code&gt;360P&lt;/code&gt;和&lt;code&gt;1080P&lt;/code&gt;，那么我需要将比&lt;code&gt;360P&lt;/code&gt;(不包括&lt;code&gt;360P&lt;/code&gt;)高的分辨率到&lt;code&gt;原画&lt;/code&gt;的用户组积分设置&lt;code&gt;6666&lt;/code&gt;或更大&amp;gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：由于用户注册后，会被分配到其中一个积分为0的普通用户组，这时候只有360P积分为0，注册后会拥有最低分辨率360P完整权限，高于就无权限了，依然为试看。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后将现分辨率中最低的分辨率用户组设置积分为&lt;code&gt;0&lt;/code&gt;，然后比现分辨率中最低分辨率还要低的分辨率用户组积分设置比&lt;code&gt;0&lt;/code&gt;大，比如&lt;code&gt;1&lt;/code&gt;。&amp;lt;如我视频的最低分辨率为&lt;code&gt;360P&lt;/code&gt;，那么我将&lt;code&gt;360P&lt;/code&gt;分辨率用户组设置&lt;code&gt;0&lt;/code&gt;积分，比&lt;code&gt;360P&lt;/code&gt;分辨率低的&lt;code&gt;240P&lt;/code&gt;分辨率用户组积分设置&lt;code&gt;1&lt;/code&gt;&amp;gt;。&lt;/p&gt;
&lt;p&gt;接着添加一个付费用户组即&lt;code&gt;VIP&lt;/code&gt;，且限定分类留空(留空对全部视频生效，或者搞阶梯会员，自由发挥)，对应名称可以设置为高级会员。&lt;/p&gt;
&lt;p&gt;最后前往【积分&lt;code&gt;VIP&lt;/code&gt;设置】，分别给该付费用户组设置&lt;code&gt;一个月&lt;/code&gt;到&lt;code&gt;一年&lt;/code&gt;的时间段积分购买，注意直接购买价格对应的积分请参考【&lt;code&gt;CMS&lt;/code&gt;设置】处的&lt;code&gt;每一元可购买积分数&lt;/code&gt;，两边对应下。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置详解&#34;&gt;用户组设置详解&lt;/h3&gt;
&lt;p&gt;由于用户注册后，默认划分到积分为&lt;code&gt;0&lt;/code&gt;的用户组，这里只有&lt;code&gt;360P&lt;/code&gt;用户组为&lt;code&gt;0&lt;/code&gt;，所以默认划分到&lt;code&gt;360P&lt;/code&gt;用户组，而&lt;code&gt;360P&lt;/code&gt;权限只能观看现有最低分辨率&lt;code&gt;360P&lt;/code&gt;，而比它高的分辨率，如&lt;code&gt;1080P&lt;/code&gt;均只能试看，只有用户单独使用积分点播指定视频才可以观看该视频高清完整版，或者直接购买设置的&lt;code&gt;付费用户组&lt;/code&gt;才可以观看全站所有视频高清完整版。&lt;/p&gt;
&lt;h3 id=&#34;用户组设置截图参考-3&#34;&gt;用户组设置截图参考&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/qx55.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/qx44.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;如何设置积分点播-1&#34;&gt;如何设置积分点播&lt;/h3&gt;
&lt;p&gt;积分点播所需默认积分在&lt;code&gt;CMS&lt;/code&gt;设置处设置，也就是单独点播一个完整版视频所需要的积分。&lt;/p&gt;
&lt;p&gt;你也可以在视频管理处给指定视频简易编辑，单独设置点播价格，如不设置则默认为&lt;code&gt;CMS&lt;/code&gt;设置处的默认积分价格。&lt;/p&gt;
&lt;p&gt;然后设置好对应的积分选项，比如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#以下相关获取积分均在cms设置处设置
1、签到获取积分数，每天进行签到可以获取指定积分。
2、推广奖励积分，用户可根据个人中心的推广链接每成功推广后获取的积分。
3、上传奖励积分数，用户可在个人中心上传视频，管理员审核成功后，即可获取相应积分。
4、每一元可购买积分数+最低交易价格，即用户直接购买积分的时候，每1元可获取的积分和最低购买金额。
&lt;/code&gt;&lt;/pre&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 转码卡状态或出现错误</title>
      <link>https://docs.efvcms.com/docs/troubleshooting-transcoding-errors/transcoding-stuck-or-error-occurred/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/troubleshooting-transcoding-errors/transcoding-stuck-or-error-occurred/</guid>
      <description>
        
        
        &lt;p&gt;以下主要列举一下视频状态的一些问题说明及解决方法，如果根据下述方法解决依然出错，可在视频管理，查看出错视频的转码日志，会告诉你哪一个环节出错和报错提示，要是看不出来，可将日志发给我们，协助解决问题。&lt;/p&gt;
&lt;h2 id=&#34;视频错误&#34;&gt;视频错误&lt;/h2&gt;
&lt;p&gt;1、视频有问题，大多数为采集视频出现，这种视频一般播放也会有问题，可以使用一个非采集视频测试下转码，正常视频 ⇒ &lt;a href=&#34;https://docs.efvcms.com/image/6448d7c4b48db9978ba0843e-test.mkv&#34;&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;2、如果非后台上传，也就是通过&lt;code&gt;ftp&lt;/code&gt;或&lt;code&gt;api&lt;/code&gt;远程上传出现的错误；可先把有问题的视频从&lt;code&gt;EFV&lt;/code&gt;后台上传，试试有不有问题，如果后台上传的没问题，那么可能是网络波动或其它问题导致视频传输出现了问题，更换&lt;code&gt;ftp&lt;/code&gt;或上传&lt;code&gt;api&lt;/code&gt;接口试试。&lt;/p&gt;
&lt;p&gt;3、视频上传后，开始转码的时候，你把源片给删掉了。&lt;/p&gt;
&lt;p&gt;4、服务器缺少&lt;code&gt;ffmpeg&lt;/code&gt;，一般发生在迁移服务器后，可在服务器运行&lt;code&gt;ffmpeg&lt;/code&gt;命令查看，提示&lt;code&gt;-bash: ffmpeg: command not found&lt;/code&gt;，则未安装，可使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#下载二进制文件
wget https://down.querydata.org/down/ffmpeg-git-amd64-static.tar.gz
#解压文件
tar zxvf ffmpeg-git-amd64-static.tar.gz &amp;amp;&amp;amp; rm -rf ffmpeg-git-amd64-static.tar.gz
#移动文件
mv ffmpeg-git-amd64-static/ffmpeg  ffmpeg-git-amd64-static/ffprobe /usr/bin/
#查看版本，有版本输出则安装成功
ffmpeg
ffprobe
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;5、如果上面&lt;code&gt;3&lt;/code&gt;种问题都没出现，也可能是&lt;code&gt;pm2&lt;/code&gt;启动进程异常，可依次运行以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#关闭EFV进程
pm2 del efvcms
#进入EFV源码目录 如不在/home的请自行修改路径后再运行命令
cd /home/express-ffmpeg
#重新启动
PORT=3000 NODE_ENV=production pm2 start bin/www --name efv
#保存会话，即开机自启
pm2 save
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;秒切失败&#34;&gt;秒切失败&lt;/h2&gt;
&lt;p&gt;大概率视频有问题，大多数为采集视频出现，这种视频一般播放也会有问题，可以使用一个非采集视频测试下转码，正常视频 ⇒ &lt;a href=&#34;https://docs.efvcms.com/image/6448d7c4b48db9978ba0843e-test.mkv&#34;&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;转码错误&#34;&gt;转码错误&lt;/h2&gt;
&lt;p&gt;转码错误主要是因为一些使用操作问题而导致，比如加水印/跑马灯，去水印跑马灯，烧录字幕等，这里会分开挨个说明，&lt;/p&gt;
&lt;p&gt;且如果有修改过转码设置里的&lt;code&gt;码率设置&lt;/code&gt;，可检查下格式有没有改动，或者部分分辨率有没有删除。&lt;/p&gt;
&lt;h3 id=&#34;使用加跑马灯和水印功能&#34;&gt;使用加跑马灯和水印功能&lt;/h3&gt;
&lt;p&gt;一般为跑马灯或部分水印所需要的时间未设置，或者提交前未保存，导致设置失败，可直接在&lt;code&gt;水印/跑马灯设置&lt;/code&gt;页面查看相关设置选项，如有参数有显示&lt;code&gt;未设置&lt;/code&gt;，则重新设置即可。&lt;/p&gt;
&lt;h3 id=&#34;使用去水印和跑马灯功能&#34;&gt;使用去水印和跑马灯功能&lt;/h3&gt;
&lt;p&gt;1、给视频选择批量去水印/跑马灯模板的时候，选错了模板。&lt;/p&gt;
&lt;p&gt;2、给视频设置批量去水印/跑马灯模板的时候，画的框框有瑕疵，没有完全把跑马灯和水印框住。&lt;/p&gt;
&lt;h3 id=&#34;使用烧录ass和srt字幕功能&#34;&gt;使用烧录ass和srt字幕功能&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：最新版会自动将非UTF-8编码的字幕文件转换到UTF-8，无需手动修改，可手动更新到最新版。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可能是字幕文件非&lt;code&gt;utf-8&lt;/code&gt;编码造成的，将编码改成&lt;code&gt;utf-8&lt;/code&gt;，重新转码即可。&lt;/p&gt;
&lt;h2 id=&#34;视频不转码了&#34;&gt;视频不转码了&lt;/h2&gt;
&lt;p&gt;1、看看最近是否在不同服务器上安装过、是否迁移过服务器、服务器是否换过&lt;code&gt;ip&lt;/code&gt;，如果有，则大概多&lt;code&gt;ip&lt;/code&gt;同时运行异常了，请联系我们处理。&lt;/p&gt;
&lt;p&gt;2、&lt;code&gt;DNS&lt;/code&gt;问题，你在&lt;code&gt;ssh&lt;/code&gt;客户端输入&lt;code&gt;ping baidu.com&lt;/code&gt;命令，如果返回&lt;code&gt;Name or service not known&lt;/code&gt;则为&lt;code&gt;DNS&lt;/code&gt;问题，解决方法 ⇒ &lt;a href=&#34;https://docs.efvcms.com/blog/linux-tutorial/linux-set-dns-server-temporary-or-permanent/&#34;&gt;点击查看&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;使用gpu转码功能&#34;&gt;使用GPU转码功能&lt;/h3&gt;
&lt;p&gt;1、服务器没有&lt;code&gt;Nvidia&lt;/code&gt;显卡，这时候是不会给转码，关闭&lt;code&gt;GPU&lt;/code&gt;转码即可。&lt;/p&gt;
&lt;p&gt;2、服务器上显卡驱动异常挂了，使用&lt;code&gt;nvidia-smi&lt;/code&gt;命令查看，如果没显卡信息出现，最简单方法可以重新安装驱动，可使用&lt;code&gt;SSH&lt;/code&gt;登录服务器，运行一下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[[ ! -f cuda_13.1.1_590.48.01_linux.run ]] &amp;amp;&amp;amp; wget https://developer.download.nvidia.com/compute/cuda/13.1.1/local_installers/cuda_13.1.1_590.48.01_linux.run
sh cuda_13.1.1_590.48.01_linux.run --silent --driver --no-man-page --override
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;运行结束后，重新使用&lt;code&gt;nvidia-smi&lt;/code&gt;命令查看，接下来看是否解决问题。&lt;/p&gt;
&lt;h2 id=&#34;视频卡转码中状态&#34;&gt;视频卡转码中状态&lt;/h2&gt;
&lt;p&gt;1、视频有问题，比如加密视频，或者你把图片或者其他非视频文件上传转码，导致转码卡住，解决办法就是删掉该文件即可。&lt;/p&gt;
&lt;p&gt;2、视频太短，比如低于&lt;code&gt;10s&lt;/code&gt;，截图时间不够，建议前往转码设置，开启保留原片，后面手动删除原片。&lt;/p&gt;
&lt;p&gt;3、转码设置的&lt;code&gt;自定义切片路径&lt;/code&gt;你没加分辨率，也就是&lt;code&gt;{random}&lt;/code&gt;和&lt;code&gt;{hd}&lt;/code&gt;仅能存在一个且必须存在一个&lt;/p&gt;
&lt;h2 id=&#34;特别说明&#34;&gt;特别说明&lt;/h2&gt;
&lt;p&gt;如果你看了上面这些问题和解决办法，问题依旧没有得到解决，可直接联系我们，且为了方便快速处理问题，建议提供该视频转码日志信息，日志查看方式：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/logo111.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 自定义切片路径设置规则</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/custom-slice-path-setting-rules/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/custom-slice-path-setting-rules/</guid>
      <description>
        
        
        &lt;p&gt;自定义切片路径，并不是说给你存放到任意文件夹，还是以切片目录&lt;code&gt;videos&lt;/code&gt;为参考，只是更改&lt;code&gt;M3U8&lt;/code&gt;存储目录的命名方式。&lt;/p&gt;
&lt;h2 id=&#34;设置步骤&#34;&gt;设置步骤&lt;/h2&gt;
&lt;p&gt;点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码设置 ⇒ 找到自定义切片路径选项，且默认设置路径为&lt;code&gt;{yy}{mm}/{dd}/{id}/{random}&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;路径可用的变量参数如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#可用日期的变量，可以使用1个或多个，可以都不用，组合参考{yy}{mm}/{dd}，{yy}/{mm}{dd}
{yy}为当前年份2021
{mm}为当前月份04
{dd}为当前日期21

#用来存储视频的变量，必须存在一个或多个，推荐要么只使用{id}，要么{id}{name}一起用，防止出现文件夹重复的报错。
{id}为24位唯一ID，也就是不会重复
{name}为转码的视频名

#可用的分辨率存储变量，必须存在一个，且只能存在一个，要么{random}，要么{hd}
{random}为随机6位字符
{hd}为分辨率如720
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意除了&lt;code&gt;分辨率变量&lt;/code&gt;，其它变量可以连在一起，也可以使用&lt;code&gt;/&lt;/code&gt;隔开，也就是文件夹目录层的写法。&lt;/p&gt;
&lt;p&gt;且&lt;code&gt;分辨率变量&lt;/code&gt;必须放到最后面，并使用&lt;code&gt;/&lt;/code&gt;隔开，如&lt;code&gt;/{random}&lt;/code&gt;或&lt;code&gt;/{hd}&lt;/code&gt;，不然转码会出错。&lt;/p&gt;
&lt;h2 id=&#34;示例参考&#34;&gt;示例参考&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;#示例一
{yy}{mm}/{dd}/{id}/{random}，即生成的m3u8链接参考/videos/202105/01/608ce526c78d944ef4707a89/g803c3/index.m3u8

#示例二
{id}/{random}，即生成的m3u8链接参考/videos/608ce526c78d944ef4707a89/g803c3/index.m3u8

#示例三
{id}/{hd}，即生成的m3u8链接参考/videos/608ce526c78d944ef4707a89/720/index.m3u8

#示例四
{yy}{mm}/{dd}/{name}/{hd}，即生成的m3u8链接参考/videos/202105/01/你好帅/1080/index.m3u8

#示例五
{yy}{mm}/{dd}/{id}{name}/{hd}，即生成的m3u8链接参考/videos/202105/01/608ce526c78d944ef4707a89你好帅/1080/index.m3u8
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;还有更多的组合建议自己测试下，如果你需要使用&lt;code&gt;{name}&lt;/code&gt;来区分视频文件夹，则建议和&lt;code&gt;{id}&lt;/code&gt;一起用，防止出现文件夹重复的报错，当然如果你确定视频不会重复，则可以只用&lt;code&gt;{name}&lt;/code&gt;。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 绑定域名步骤</title>
      <link>https://docs.efvcms.com/docs/getting-started/program-domain-binding-steps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/getting-started/program-domain-binding-steps/</guid>
      <description>
        
        
        &lt;h2 id=&#34;相关说明&#34;&gt;相关说明&lt;/h2&gt;
&lt;p&gt;这里提供&lt;code&gt;2&lt;/code&gt;种绑定方法，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#第1种，使用EFV自带的网站管理绑定域名；自带的可以自动申请SSL证书，且和Nginx等Web服务不能共存，适用于服务器只运行EFV站点使用。
#第2种，使用宝塔面板安装Nginx后绑定域名；如果你要在切片服务器搭建多个网站，或者习惯使用宝塔面板，那就推荐使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们可以根据自身需求选择其中一种方案，如果你熟练&lt;code&gt;Linux&lt;/code&gt;，也可以使用其它方法绑定域名，也就是配置一下反向代理即可。&lt;/p&gt;
&lt;h3 id=&#34;特别提示&#34;&gt;特别提示&lt;/h3&gt;
&lt;p&gt;注意我们绑定域名后，建议换成域名访问前后台，访问信息为：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#脚本安装会提供下面的ip访问信息，以下只是举例，具体登录路径和管理员用户名密码以实际为主
http://127.0.0.1:3000/mklds
adminw
adminq

#绑定xx.com域名后，访问信息就变成下面这些
http://xx.com/mklds
adminw
adminq
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;也就是&lt;code&gt;ip:3000&lt;/code&gt;和&lt;code&gt;xx.com&lt;/code&gt;域名是等价的，将&lt;code&gt;ip:3000&lt;/code&gt;的任何链接地址的&lt;code&gt;ip:3000&lt;/code&gt;换成&lt;code&gt;xx.com&lt;/code&gt;域名，路径不变，内容都是一样的；所以不管你绑定多少个域名，原有链接地址只需要替换下域名，路径不变，都可以正常使用。&lt;/p&gt;
&lt;p&gt;但是你访问后台的话，你用什么地址访问后台，&lt;code&gt;m3u8&lt;/code&gt;、截图地址就会显示什么地址，用&lt;code&gt;ip:3000&lt;/code&gt;访问后台，就显示&lt;code&gt;ip:3000&lt;/code&gt;，用域名访问后台，就显示域名。&lt;/p&gt;
&lt;p&gt;且目前使用域名绑定&lt;code&gt;EFV&lt;/code&gt;后，默认可以同时访问所有资源，包括前后台等页面。如果想该域名仅能访问&lt;code&gt;M3U8&lt;/code&gt;等资源的话，可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/getting-started/block-efv-frontend-access/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;使用efv的网站管理绑定&#34;&gt;使用EFV的网站管理绑定&lt;/h2&gt;
&lt;p&gt;先将需要绑定的域名解析到&lt;code&gt;EFV程序&lt;/code&gt;所在的服务器&lt;code&gt;ip&lt;/code&gt;，然后等解析生效，验证解析是否生效，可使用&lt;code&gt;SSH&lt;/code&gt;客户端，使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#域名自行修改，如果有返回ip，且和服务器ip一样，则解析生效
ping m3u8.efvcms.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后点击左侧转码相关 ⇒ 网站管理，点击添加域名，输入相关信息，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/6234092c8432cf0a4b94e33a-2web.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;基本上只需要填入域名，选择端口，且&lt;code&gt;443&lt;/code&gt;端口会自动申请&lt;code&gt;SSL&lt;/code&gt;证书，再将反向代理打勾，其他默认即可。&lt;/p&gt;
&lt;h3 id=&#34;相关问题&#34;&gt;相关问题&lt;/h3&gt;
&lt;p&gt;如果需要更换域名，则可以在网站管理点删除，或者重新编辑修改其它域名。&lt;/p&gt;
&lt;p&gt;如果要绑定多个域名，可以添加的时候，将多个域名写到一起，中间使用英文竖线&lt;code&gt;|&lt;/code&gt;分开，或者一个一个多次添加域名。&lt;/p&gt;
&lt;p&gt;最后，如果在域名无误、且解析生效的情况下，添加域名后打不开，则可能是服务器端口没打开，可运行以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#CentOS 7+、AlmaLinux、Rocky Linux系统
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

##Debian、Ubuntu系统
ufw allow 443
ufw allow 80
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后删除添加的域名配置后，重新添加即可。&lt;/p&gt;
&lt;h2 id=&#34;使用宝塔面板绑定&#34;&gt;使用宝塔面板绑定&lt;/h2&gt;
&lt;h3 id=&#34;安装宝塔&#34;&gt;安装宝塔&lt;/h3&gt;
&lt;p&gt;这里分别提供宝塔国内和国际&lt;code&gt;2&lt;/code&gt;个版本安装，区别是宝塔国内版需要强制登录宝塔账号，而国际版不需要，可自行选择安装&lt;/p&gt;
&lt;p&gt;使用&lt;code&gt;SSH&lt;/code&gt;客户端登录服务器，使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#CentOS系统，国内版本
yum install -y wget &amp;amp;&amp;amp; wget -O install.sh https://download.bt.cn/install/install_6.0.sh &amp;amp;&amp;amp; sh install.sh ed8484bec
#CentOS系统，国际版本
yum install -y wget &amp;amp;&amp;amp; wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh &amp;amp;&amp;amp; bash install.sh aapanel

#Debian系统，国内版本
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh &amp;amp;&amp;amp; bash install.sh ed8484bec
#Debian系统，国际版本
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh &amp;amp;&amp;amp; bash install.sh aapanel

#Ubuntu系统，国内版本
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh &amp;amp;&amp;amp; sudo bash install.sh ed8484bec
#Ubuntu系统，国际版本
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh &amp;amp;&amp;amp; sudo bash install.sh aapanel
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;安装完成后，会给你宝塔登录信息，保存好就行。&lt;/p&gt;
&lt;h3 id=&#34;安装nginx&#34;&gt;安装Nginx&lt;/h3&gt;
&lt;p&gt;点击宝塔面板左侧 ⇒ 软件商店 ⇒ 找到&lt;code&gt;Nginx&lt;/code&gt;安装即可。&lt;/p&gt;
&lt;h3 id=&#34;绑定域名&#34;&gt;绑定域名&lt;/h3&gt;
&lt;p&gt;先准备一个域名作为&lt;code&gt;EFV&lt;/code&gt;域名，可以是&lt;code&gt;2&lt;/code&gt;级域名，然后解析域名的&lt;code&gt;A&lt;/code&gt;记录到服务器&lt;code&gt;ip&lt;/code&gt;，然后点击宝塔面板左侧 ⇒ 网站 ⇒ 添加站点，只需要填写域名，其它默认就行，如图：如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;再点击域名右侧设置按钮，找到&lt;code&gt;SSL&lt;/code&gt; ⇒ 选择&lt;code&gt;Let&#39;s Encrypt&lt;/code&gt;，勾选域名点击申请，申请成功后，将右上角强制&lt;code&gt;HTTPS&lt;/code&gt;打开即可。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：此处为申请SSL证书步骤，如不需要可跳过该步骤，该证书为免费3个月证书，到期会自动给你续期。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/weq.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;接下来继续进入域名设置，找到反向代理 ⇒ 添加反向代理，目标&lt;code&gt;URL&lt;/code&gt;填转码的内网地址&lt;code&gt;127.0.0.1:3000&lt;/code&gt;，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;接下来点击配置文件。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/4.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;添加四行代码：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#该代码为断点续传关键设置，必须加进去。
proxy_cache_convert_head off;
proxy_request_buffering off;

#该代码为程序转码进度条监控必须
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection &amp;quot;upgrade&amp;quot;;
proxy_http_version 1.1;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;即全部代码为：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#可以直接复制下面代码进行替换
location /
{
    proxy_pass http://127.0.0.1:3000;
    proxy_cache off;
    proxy_cache_convert_head off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Referer $http_referer;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_request_buffering off;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection &amp;quot;upgrade&amp;quot;;
    proxy_http_version 1.1;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;点击保存即可，如下图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/aaaaaaa.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;最后记得在转码后台，在转码设置和&lt;code&gt;CMS&lt;/code&gt;管理处均设置好域名。&lt;/p&gt;
&lt;p&gt;最后点击宝塔面板左侧 ⇒ 软件商店 ⇒ 找到&lt;code&gt;Nginx&lt;/code&gt;，点击右侧设置按钮，找到性能调整，修改&lt;code&gt;client_max_body_size&lt;/code&gt;参数值，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;该值也就是最大上传值，可设置为&lt;code&gt;4000M&lt;/code&gt;以上。&lt;/p&gt;
&lt;p&gt;当然宝塔有些域名配置文件会自动加上以下代码，可以自己去掉，不然使用可能会有问题，代码如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires      30d;
    error_log /dev/null;
    access_log off;
}
location ~ .*\.(js|css)?$
{
    expires      12h;
    error_log /dev/null;
    access_log off;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;操作完成后，可以直接通过域名访问&lt;code&gt;EFV&lt;/code&gt;程序了。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 标签管理和标签说明及设置</title>
      <link>https://docs.efvcms.com/docs/cms-function-details/category-tag-description-settings/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/cms-function-details/category-tag-description-settings/</guid>
      <description>
        
        
        &lt;p&gt;&lt;code&gt;CMS&lt;/code&gt;前端导航的分类入口&lt;code&gt;/discover&lt;/code&gt;，主要展示设置的全部分类标签和标签，方便用户精准找到自己喜爱的影片或剧集。&lt;/p&gt;
&lt;h2 id=&#34;前端展示&#34;&gt;前端展示&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/cms6.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;详细说明如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;类型、地区、年份、人物 ⇒ 为后台的设置的标签分组（目前默认不能修改），下方展示的为添加到这些标签分组的标签
更多 ⇒ 展示还未添加到标签分类的标签
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;标签设置&#34;&gt;标签设置&lt;/h2&gt;
&lt;h3 id=&#34;设置标签分组&#34;&gt;设置标签分组&lt;/h3&gt;
&lt;p&gt;目前标签分组默认为人物、地区、类型、年代，且不能修改。&lt;/p&gt;
&lt;h3 id=&#34;给视频添加标签&#34;&gt;给视频添加标签&lt;/h3&gt;
&lt;p&gt;可以前往视频管理，编辑每个视频的信息(简易编辑和详细编辑都行)，在相应的地方添加标签即可，且主演、编剧、导演均为标签项。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/bq2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/bq3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;将标签添加到标签分组里面&#34;&gt;将标签添加到标签分组里面&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：推荐使用一键整理标签功能，会自动从视频管理和剧集管理中重新提取标签字段，并填充到类型、人物、年份、地区标签组。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;之前给视频添加的标签会显示在标签设置处，然后选择相应的标签，点击编辑，将其添加到之前设置的标签分类即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/629b61acb48db9978ba083f9-111.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/629b61bab48db9978ba083fb-2222.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;最后，如果后面编辑新视频的时候，添加的标签此前已经添加到标签分类的，会自动添加到该标签分类，不需要重新设置。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 采集播放器类型参考</title>
      <link>https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/reference-for-collecting-player-types/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/reference-for-collecting-player-types/</guid>
      <description>
        
        
        &lt;p&gt;先前往苹果&lt;code&gt;CMS&lt;/code&gt;后台，再点击最上面导航的&lt;code&gt;视频&lt;/code&gt;栏目，在左侧找到&lt;code&gt;播放器&lt;/code&gt;，每个播放器的编码就可以直接看到了，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/plapi.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;然后将你要使用的播放器编码，填入到采集设置页面的播放器选项。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 程序更新步骤</title>
      <link>https://docs.efvcms.com/docs/getting-started/update-software/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/getting-started/update-software/</guid>
      <description>
        
        
        &lt;h2 id=&#34;更新说明&#34;&gt;更新说明&lt;/h2&gt;
&lt;p&gt;更新和安装一样，同样提供一键更新脚本，且目前最新版本查看：&lt;a href=&#34;https://www.efvcms.com/update&#34;&gt;更新日志&lt;/a&gt;，根据时间命名，自行判断是否为最新版本。&lt;/p&gt;
&lt;h2 id=&#34;开始更新&#34;&gt;开始更新&lt;/h2&gt;
&lt;p&gt;使用&lt;code&gt;SSH&lt;/code&gt;客户端，比如&lt;code&gt;Xshell&lt;/code&gt;软件，登录服务器，再使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#下载脚本，下载前请将后面的yourcode改成你的授权码；如出现404 Not Found，则可能是ip未绑定，或者授权码有误
wget --no-check-certificate -O &#39;/tmp/efv-update.sh&#39; &#39;https://down.querydata.org/download/express-ffmpeg-vip-update.sh?code=yourcode&#39;

#运行脚本，运行前请将后面2个参数修改成自己的，即授权码yourcode，和源码所在路径/home/express-ffmpeg，路径根据实际情况修改
bash /tmp/efv-update.sh yourcode /home/express-ffmpeg
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Enter&lt;/code&gt;运行，直到更新完成即可；且更新后运行端口会自动覆盖，如有修改过端口，请重新修改一下。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 剧集管理的剧集数据入库和更新</title>
      <link>https://docs.efvcms.com/docs/api-interface-usage-tutorial/tv-save-update/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/api-interface-usage-tutorial/tv-save-update/</guid>
      <description>
        
        
        &lt;h2 id=&#34;剧集详情信息入库&#34;&gt;剧集详情信息入库&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;POST /api/posttv

body: {
    #必填参数
    apikey, //转码设置获取
    title, //剧集标题
    poster1,  //封面1，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    poster2,  //封面2，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。

    #可选参数，如用不到相关参数可不用传递
    episodescount, //集数，如12
    duration, //时长，可随便填入某个单集时长，单位分钟，如 23
    category, //视频分类，不存在会自动创建
    originaltitle, //剧集原名
    aka, //剧集别名
    language, //语言
    director, //导演，多个导演用英文逗号,分开，如 导演1,导演2,导演3
    stars, //主演，多个主演用英文逗号,分开，如 主演1,主演2,主演3
    writer, //编剧，多个编剧用英文逗号,分开，如 编剧1,编剧2,编剧3
    tags, //分类标签，多个标签用英文逗号,分开，如 剧情,悬疑,搞笑
    summary, //剧集简介
    country, //发行地区
    year, //发行年份，如 1996
    rate, //豆瓣评分，如 8.8
}

response: {
    success: 1|0,  //1成功，并会直接返回剧集的id；0失败
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前入库接口会自动检测同名数据，即同名不会入库；如果你想入库前提前检测是否存在同名数据，则可以使用该接口：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#后面为转码设置的apikey，title为传入的视频名称
Get /api/checkVideoExists?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;title=剧集名称

#返回信息
{
    &amp;quot;success&amp;quot;: false //true为该视频已存在，false为不存在。
    id, //如果该剧集已存在，则返回剧集objectid。
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;剧集详情信息更新&#34;&gt;剧集详情信息更新&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;POST /api/postuptv

body: {
    #必填参数，且title和id只需要传递一个即可
    apikey, //api，转码设置获取
    title, //剧集名称，如果只匹配到一个数据，则直接更新，匹配不到，会自动模糊搜索
    id, //剧集id

    #可选参数，如用不到相关参数可不用传递
    editname, //修改剧集名称，传入则修改
    poster1,  //封面1，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    poster2,  //封面2，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    status, //状态，只能传递lianzai 或 wanjie
    episodescount, //集数，如12
    duration, //时长，可随便填入某个单集时长，单位分钟，如 23
    category, //视频分类，不存在会自动创建
    async, //重置该视频同步信息，如使用了 云存储 功能，又更新了封面，则可通过传递任意值清空同步记录，会再次触发相关同步。
    originaltitle, //剧集原名
    aka, //剧集别名
    language, //语言
    director, //导演，多个导演用英文逗号,分开，如 导演1,导演2,导演3
    stars, //主演，多个主演用英文逗号,分开，如 主演1,主演2,主演3
    writer, //编剧，多个编剧用英文逗号,分开，如 编剧1,编剧2,编剧3
    tags, //分类标签，多个标签用英文逗号,分开，如 剧情,悬疑,搞笑
    summary, //剧集简介
    country, //发行地区
    year, //发行年份，如 1996
    rate, //豆瓣评分，如 8.8

    // 可选参数，episodes集数
    &amp;quot;episodes&amp;quot;: [
        {
            &amp;quot;episode&amp;quot;: &amp;quot;01&amp;quot;,  // 集数名称
            &amp;quot;movieid&amp;quot;: &amp;quot;676d209f4416122b525ef2d5&amp;quot;  // 对应的电影ID
        },
        {
            &amp;quot;episode&amp;quot;: &amp;quot;02&amp;quot;,
            &amp;quot;movieid&amp;quot;: &amp;quot;676d22494416122b525ef317&amp;quot;
        }
    ]
}

response: {
    success: 1|0,  //1成功，并会直接返回更新剧集的id和名称；0失败
}&lt;/code&gt;&lt;/pre&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 剧集快速添加分集教程</title>
      <link>https://docs.efvcms.com/docs/cms-function-details/tv-show-quick-episode-addition-tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/cms-function-details/tv-show-quick-episode-addition-tutorial/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：剧集添加排序的算法会经常优化，且文档会随着优化进行修改，建议在最新版中使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;剧集添加有&lt;code&gt;3&lt;/code&gt;种方法，分别是&lt;code&gt;批量添加至剧集&lt;/code&gt;、&lt;code&gt;一键自动排版添加至剧集&lt;/code&gt;和&lt;code&gt;手动搜索添加&lt;/code&gt;，可根据自行选择适合的一种。&lt;/p&gt;
&lt;h2 id=&#34;如何选择合适的添加方法&#34;&gt;如何选择合适的添加方法&lt;/h2&gt;
&lt;p&gt;这里推荐根据分集命名方式选择其中一种，分别如下。&lt;/p&gt;
&lt;h3 id=&#34;使用批量添加至剧集&#34;&gt;使用批量添加至剧集&lt;/h3&gt;
&lt;p&gt;比如分集名称类似字幕组的命名方式，也就是信息格式均对齐，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;【动漫国字幕组】★04月新番[夏日时光 / 夏日重现][01][1080P][简体][MP4]
【动漫国字幕组】★04月新番[夏日时光 / 夏日重现][02][1080P][简体][MP4]

王子变青蛙.The.Prince.Who.Turns.into.a.Frog.2005.E01.DVDRip.1080P.DHTCLUB
王子变青蛙.The.Prince.Who.Turns.into.a.Frog.2005.E02.DVDRip.1080P.DHTCLUB

[CASO][Kabukimonogatari][01][1280x720][x264_AAC][7430FF8C]
[CASO][Kabukimonogatari][02][1280x720][x264_AAC][3456FCVC]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;大致上就集数区别不一样，且集数也可以为中文，比如一、二这种命名的，基本上都符合要求，也就是批量添加时，会自动提取集数，并自动排序。&lt;/p&gt;
&lt;h3 id=&#34;使用一键自动排版添加至剧集&#34;&gt;使用一键自动排版添加至剧集&lt;/h3&gt;
&lt;p&gt;比如分集名称是我们常见的命名方式，也就是剧集名称后面带上分集的命名，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#常用格式
夜街酷斗第01集 / 夜街酷斗 第01集
夜街酷斗01 / 夜街酷斗 01
夜街酷斗01集 / 夜街酷斗 01集

#其它格式
夜街酷斗第01话 / 夜街酷斗 第01话
夜街酷斗第十二集 / 夜街酷斗 第十二集（中文集数）
夜街酷斗S01E01 / 夜街酷斗 S01E01
夜街酷斗EP01 / 夜街酷斗 EP01
夜街酷斗E01 / 夜街酷斗 E01

#带单集标题的格式，且集数和单集标题之间必须要有空格
夜街酷斗第01集 命运的相遇 / 夜街酷斗 第01集 命运的相遇
夜街酷斗01 命运的相遇 / 夜街酷斗 01 命运的相遇
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;剧集名称和集数之间，有空格和没空格都可以，有些分集命名可能会多出一点内容，比如&lt;code&gt;剧集名称xxxx 第01集&lt;/code&gt;，&lt;code&gt;xxxx&lt;/code&gt;为多出的内容，这种也是满足的。&lt;/p&gt;
&lt;p&gt;然后使用一件自动排版处理时，会自动提取集数，并自动排序。&lt;/p&gt;
&lt;h3 id=&#34;使用手动搜索添加&#34;&gt;使用手动搜索添加&lt;/h3&gt;
&lt;p&gt;比如分集名称命名不规范，或者手动补一下个别集数，都可以先搜索，再添加。&lt;/p&gt;
&lt;h2 id=&#34;添加教程&#34;&gt;添加教程&lt;/h2&gt;
&lt;p&gt;这里只大概说下&lt;code&gt;批量添加至剧集&lt;/code&gt;、&lt;code&gt;一键自动排版添加至剧集&lt;/code&gt;的步骤。&lt;/p&gt;
&lt;h3 id=&#34;批量添加至剧集&#34;&gt;批量添加至剧集&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：剧集管理的添加分集页面，也额外新增一个批量添加功能，如没看到请更新到最新版，逻辑和视频管理的一样，自行选择一种使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;先前往&lt;code&gt;视频管理&lt;/code&gt;，直接在右上角的搜索框，搜索该剧集的关键词，接下来再选择显示数量，调整搜索条件的显示个数，就可以一次性选择所有的集数，最后点击&lt;code&gt;批量添加至剧集&lt;/code&gt;，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/tvs03.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;会出现功能弹窗信息，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/tvs02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;然后如果你先前已经在视频管理添加过该剧集信息，可直接在弹窗页面搜索剧集里面的剧集名称，最后点确定，最后程序会自动判断，并自动给你提取并命名集数。&lt;/p&gt;
&lt;p&gt;如果你没有在视频管理添加过该剧集信息，那么直接点快速添加，然后填写剧集信息，或从api获取剧集信息，提交后会自动生成剧集数据，并将视频智能排序命名添加到剧集。&lt;/p&gt;
&lt;h3 id=&#34;一键自动排版添加至剧集&#34;&gt;一键自动排版添加至剧集&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：新版新增一键查询并补齐缺集的剧集功能，可一次性触发所有剧集的自动排版添加至剧集功能，效率大增。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ &lt;code&gt;CMS&lt;/code&gt;相关 ⇒ 剧集管理，添加剧集信息，且添加信息可以从豆瓣找到剧集链接后一键获取，豆瓣没有或获取不了的就手动填写。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/tvs01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;再到剧集管理，点击该剧集右侧选项的&lt;code&gt;添加分集&lt;/code&gt;，再使用&lt;code&gt;一键自动排版&lt;/code&gt;，输入上方命名的剧集名称，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/tv2229.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;目前默认填充为剧集名称，可自行修改，程序会根据你的命名，自动匹配包含该名称的分集，并自动提取集数并排序，最后点击提交即可。&lt;/p&gt;
&lt;h5 id=&#34;注意事项&#34;&gt;注意事项&lt;/h5&gt;
&lt;p&gt;对于有些分集命名可能会多出一点内容，比如&lt;code&gt;剧集名称xxxx 第01集&lt;/code&gt;，&lt;code&gt;xxxx&lt;/code&gt;为多出的内容，这时候如果你自动排版依旧使用剧集名称进行处理，会导致提取不出分集。&lt;/p&gt;
&lt;p&gt;解决方法有&lt;code&gt;2&lt;/code&gt;种，分别如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、自动排版输入剧集名称的时候，临时改成 剧集名称xxxx，这样就间接符合了自动排版分集命名规则，此时分集就能被识别了。
2、使用批量重命名功能，教程看后面，删除所有分集多出来的xxxx内容，这样所有分集就都完全满足了自动排版分集命名规则。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;分集顺序调整及纠正&#34;&gt;分集顺序调整及纠正&lt;/h3&gt;
&lt;p&gt;有时候一些单集的名称长短不一样，可能不太符合要求，这里推荐添加后，再前往剧集管理，点击剧集右侧的&lt;code&gt;添加分集&lt;/code&gt;查看下，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/tvs04.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;一般每集命名为&lt;code&gt;集数$视频id&lt;/code&gt;，如果集数名称有问题，可直接修改第一个参数；如果是集数排序有问题，可使用鼠标左键点击最左侧的&lt;code&gt;3杠图标&lt;/code&gt;，并上下自由拖动，根据集数拖到合适的位置，最后提交就可以了。&lt;/p&gt;
&lt;h2 id=&#34;批量重命名&#34;&gt;批量重命名&lt;/h2&gt;
&lt;p&gt;首先前往&lt;code&gt;视频管理&lt;/code&gt;，直接在右上角的搜索框，搜索该剧集的关键词，接下来再选择显示数量，调整搜索条件的显示个数，就可以一次性选择所有的集数，最后点击&lt;code&gt;批量重命名&lt;/code&gt;，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/62a19da0b48db9978ba08410-11111.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/62a19db4b48db9978ba08412-22222.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;自行选择替换、新增还是删除操作，这里大概说一下替换和删除里面的正则表达式。&lt;/p&gt;
&lt;p&gt;常见关键词正则如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#{1,10}代表1到10位数的范围，如果批量替换里面位数固定，比如7430FF8C为8位数，那么我可以写成{8}
[7430FF8C] 正则关键词为 \[[a-zA-Z0-9]{1,10}\]
(7430FF8C) 正则关键词为 \([a-zA-Z0-9]{1,10}\)

#使用右侧全替换的话，左侧一定不要有相关符号，比如使用\].*，在你想替换关键词的左侧，一定不要再次出现]，他会选择最前面的]，也就会给你去掉更多的关键词
]或)或.等符号及右侧全部内容 正则关键词为 \].*或\).*或\..*
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;使用右侧全替换的时候，建议先处理左侧的内容，避免左侧会出现相关干扰符号，导致右侧全替换出现不必要的问题。&lt;/p&gt;
&lt;p&gt;比如要批量替换的关键词为无规律，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[CASO][Kabukimonogatari][01][1280x720][x264_AAC][7430FF8C]
[CASO][Kabukimonogatari][02][1280x720][x264_AAC][3456FCVC]
[CASO][Kabukimonogatari][03][1280x720][x264_AAC][5233FB5C]
[CASO][Kabukimonogatari][04][1280x720][x264_AAC][7344OLK4]
[CASO][Kabukimonogatari][05][1280x720][x264_AAC][4325FF7C]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;前面的&lt;code&gt;[CASO][Kabukimonogatari][&lt;/code&gt;为一样的关键词，我们可以直接替换。&lt;/p&gt;
&lt;p&gt;接下来还剩&lt;code&gt;][1280x720][x264_AAC][7430FF8C]&lt;/code&gt;这种包含随机变化，无规律的关键词我们可以使用&lt;code&gt;2&lt;/code&gt;种办法，如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#第一种，先替换][1280x720][x264_AAC]这种固定一样的关键词，再把剩下[7430FF8C]无规律关键词使用正则\[[a-zA-Z0-9]{1,8}\]进行替换

#第二种直接使用正则\].*且意思包含]及右侧的全部关键词。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以上为需要替换的正则关键词，注意使用&lt;code&gt;\].*&lt;/code&gt;的话，需要左侧无任何&lt;code&gt;]&lt;/code&gt;关键词，不然他会选择从第一个&lt;code&gt;]&lt;/code&gt;符号开始，会给你去掉更多的关键词。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 快速替换ASS水印教程</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/replace-video-ass-watermark-fast/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/replace-video-ass-watermark-fast/</guid>
      <description>
        
        
        &lt;p&gt;该功能会将一到多个时间段的&lt;code&gt;ASS&lt;/code&gt;水印烧录进视频，且烧录后可以在相同时间段替换新的&lt;code&gt;ASS&lt;/code&gt;水印，也可以移除已添加的&lt;code&gt;ASS&lt;/code&gt;水印，且处理后的视频&lt;code&gt;M3U8&lt;/code&gt;链接不会改变。&lt;/p&gt;
&lt;p&gt;替换也就是只会处理有水印的地方，比如你源片时长&lt;code&gt;2&lt;/code&gt;小时，&lt;code&gt;ASS&lt;/code&gt;水印出现时长共&lt;code&gt;2&lt;/code&gt;分钟，那么更换水印的时候，只会处理&lt;code&gt;2&lt;/code&gt;分钟的视频，而不是直接去处理&lt;code&gt;2&lt;/code&gt;小时视频，极大的提高处理效率；而且也不需要保留整个源片，只需要保留加水印的部分就行，比如一个视频加&lt;code&gt;2&lt;/code&gt;分钟水印，系统处理后会默认保留&lt;code&gt;2&lt;/code&gt;分钟的源片，差不多又节省空间，也节省重转时间。&lt;/p&gt;
&lt;h2 id=&#34;相关说明&#34;&gt;相关说明&lt;/h2&gt;
&lt;p&gt;开启该功能后，仅对开启后转码的视频生效，已转码的视频可在视频管理使用重新转码生效；并且会强制转码源片一次，此后替换水印只会转码有水印的部分，即水印时间越短，处理越快。&lt;/p&gt;
&lt;h4 id=&#34;处理原理&#34;&gt;处理原理&lt;/h4&gt;
&lt;p&gt;我们可以添加多个时间段的&lt;code&gt;ASS&lt;/code&gt;水印规则，视频开始转码后，会自动绑定在视频时长范围内的所有规则&lt;code&gt;id&lt;/code&gt;，后面替换也只会替换/移除这些规则的水印，即新增的&lt;code&gt;ASS&lt;/code&gt;水印规则也只对后面转码的视频生效，且规则被绑定后无法被删除。&lt;/p&gt;
&lt;p&gt;当视频转码完成之后，才会开始处理并烧录该视频绑定的所有&lt;code&gt;ASS&lt;/code&gt;水印规则，所以转码完成不代表规则处理完成，查看是否完成可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/replace-video-ass-watermark-fast/#%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E8%A7%86%E9%A2%91%E6%98%AF%E5%90%A6%E5%B7%B2%E7%83%A7%E5%BD%95ass%E6%B0%B4%E5%8D%B0&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;处理期间，会自动从视频管理提取&lt;code&gt;绑定过ASS水印规则但没有被处理&lt;/code&gt; 或 &lt;code&gt;水印标志记录和当前设置的水印标志不一样&lt;/code&gt;的视频，然后烧录转码期间绑定的所有&lt;code&gt;ASS&lt;/code&gt;规则，烧录完成后，会给该视频记录/更新为当前设置的&lt;code&gt;水印标志&lt;/code&gt;，也就是接下来该视频的&lt;code&gt;水印标志记录&lt;/code&gt;和当前设置的&lt;code&gt;水印标志&lt;/code&gt;一样了，不会被再次提取处理了，只有当修改了当前设置的水印标志，会导致视频的&lt;code&gt;水印标志记录和当前设置的水印标志不一样&lt;/code&gt;，才会被重新提取，再次进行处理。&lt;/p&gt;
&lt;p&gt;所以如果你需要视频烧录/替换新的&lt;code&gt;ASS&lt;/code&gt;内容，就需要修改规则的&lt;code&gt;ASS&lt;/code&gt;内容和当前设置的水印标志，这样所有绑定过水印规则的视频，都符合&lt;code&gt;水印标志记录和当前设置的水印标志不一样&lt;/code&gt;，会重新被提取，并烧录修改的新&lt;code&gt;ASS&lt;/code&gt;内容。&lt;/p&gt;
&lt;h2 id=&#34;设置步骤&#34;&gt;设置步骤&lt;/h2&gt;
&lt;h3 id=&#34;添加水印规则&#34;&gt;添加水印规则&lt;/h3&gt;
&lt;p&gt;前往程序后台 ⇒ 点击左侧转码相关 ⇒ 快速替换&lt;code&gt;ASS&lt;/code&gt;水印，先点添加&lt;code&gt;ASS&lt;/code&gt;水印规则，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/ass1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;先设置好&lt;code&gt;开始时间&lt;/code&gt;和&lt;code&gt;持续时间&lt;/code&gt;，再前往&lt;code&gt;EFV&lt;/code&gt;专用的&lt;code&gt;ASS&lt;/code&gt;编辑器 ⇒ &lt;a href=&#34;https://docs.efvcms.com/assreplace.html&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;设置好相关参数后，直接将编辑器给的&lt;code&gt;ASS&lt;/code&gt;内容复制粘贴到设置项的&lt;code&gt;ASS&lt;/code&gt;内容框。最后提交即可。&lt;/p&gt;
&lt;p&gt;如果你想添加时间段的&lt;code&gt;ASS&lt;/code&gt;水印，那么就添加多少个规则，后面转码的时候，会自动绑定添加的规则，替换和移除的时候，只会处理已绑定的&lt;code&gt;ASS&lt;/code&gt;水印规则。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/ass2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;你要是有多台&lt;code&gt;EFV&lt;/code&gt;系统，可以通过导出配置，将当前所有&lt;code&gt;ASS&lt;/code&gt;规则导出，再导入到另一台&lt;code&gt;EFV&lt;/code&gt;系统。&lt;/p&gt;
&lt;h4 id=&#34;使用自有的ass水印文件&#34;&gt;使用自有的ASS水印文件&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;提示：自有的ASS字幕文件需修改下开始时间，通过上面的EFV专用的ASS编辑器获取的ASS字幕可不用修改。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果不想通过&lt;code&gt;EFV&lt;/code&gt;专用的&lt;code&gt;ASS&lt;/code&gt;编辑器获取&lt;code&gt;ASS&lt;/code&gt;水印，想自己通过其它方式获取，那这里举一个例子，比如我原&lt;code&gt;ASS&lt;/code&gt;字幕时间轴如：&lt;code&gt;Dialogue: 0,0:10:00.00,0:12:00.00,*Default,NTP,0,0,0,,{\an2}{\shad0.5\}{\bord1}{\fs35}{\fn方正大黑简体}BING  {\c&amp;amp;H00F0FF&amp;amp;}TEST BING.com{\c&amp;amp;HFFFFFF&amp;amp;} BING AWS\N\N\N\N AWS\N\N\N\N\N\N\N\N\N\N\N\N\N&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;然后我将开始时间按格式，即&lt;code&gt;00:10:00&lt;/code&gt;，持续时间&lt;code&gt;2&lt;/code&gt;分钟转成秒数，即&lt;code&gt;120&lt;/code&gt;，这&lt;code&gt;2&lt;/code&gt;个值填进去。&lt;/p&gt;
&lt;p&gt;由于&lt;code&gt;EFV&lt;/code&gt;系统处理&lt;code&gt;ASS&lt;/code&gt;字幕的时候会自动给字幕时间叠加设置的开始时间，所以这里我填入&lt;code&gt;ASS&lt;/code&gt;字幕的时候，需要将字幕原开始时间、结束时间都要减去设置的开始时间&lt;code&gt;00:10:00&lt;/code&gt;，即原时间为&lt;code&gt;Dialogue: 0,0:10:00.00,0:12:00.00&lt;/code&gt;，减去&lt;code&gt;00:10:00&lt;/code&gt;，也就是最终时间&lt;code&gt;Dialogue: 0,0:00:00.00,0:02:00.00&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;所以我的例子里面的&lt;code&gt;ASS&lt;/code&gt;时间轴需改成&lt;code&gt;Dialogue: 0,0:00:00.00,0:02:00.00,*Default,NTP,0,0,0,,{\an2}{\shad0.5\}{\bord1}{\fs35}{\fn方正大黑简体}BING  {\c&amp;amp;H00F0FF&amp;amp;}TEST BING.com{\c&amp;amp;HFFFFFF&amp;amp;} BING AWS\N\N\N\N AWS\N\N\N\N\N\N\N\N\N\N\N\N\N&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;然后将调整好时间的&lt;code&gt;ASS&lt;/code&gt;文件内容全部填进去即可。&lt;/p&gt;
&lt;h3 id=&#34;水印设置&#34;&gt;水印设置&lt;/h3&gt;
&lt;p&gt;接下来继续点击水印设置，说明如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#是否开启添加/替换ASS水印
开启后，会给你后面转码的所有视频，新增ASS水印，或替换ASS水印。

#是否移除已添加的ASS水印
如需移除所添加的ASS水印，则开启，且开启后，添加替换ASS水印会自动关闭，只会进行移除处理。

#水印标识
必填，不然不会给你烧录ASS水印，用英文数字组合即可，如kjkj22jk，即视频替换ASS水印后，均会被记录标识信息，那么之后就不会处理该视频；如果你后面需要给视频重新替换新的ASS水印，那么修改不一样的标识就行。

#烧录的并发数
默认为3，也就是每次同时处理3个视频，切勿设置太高，如果机器性能好点，可以适当调高。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后根据自己需求进行相关设置，&lt;code&gt;ASS&lt;/code&gt;水印总显示时间越短，处理越快，耐心等待自动处理完毕即可。&lt;/p&gt;
&lt;h3 id=&#34;如何查看视频是否已烧录ass水印&#34;&gt;如何查看视频是否已烧录ASS水印&lt;/h3&gt;
&lt;p&gt;前往视频管理，先去标题栏把&lt;code&gt;是否已烧录ASS水印&lt;/code&gt;调出来，方便标题栏查看。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/ass3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;然后点击&lt;code&gt;其它筛选&lt;/code&gt;，选择&lt;code&gt;已烧录或未烧录ASS水印&lt;/code&gt;即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/ass5.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;关于使用efv数据双向同步功能说明&#34;&gt;关于使用EFV数据双向同步功能说明&lt;/h3&gt;
&lt;p&gt;如果你是多台&lt;code&gt;EFV&lt;/code&gt;同时转码，并同步到一台&lt;code&gt;EFV&lt;/code&gt;进行管理，那么需注意以下几点：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、ASS水印规则如果部分一样、或者全部一样，那么只需要在一个EFV上创建共用的规则，然后再通过导出/导入的功能，复制到其它的所有EFV，之后再各自新建不共用的ASS规则。
2、所有的EFV，包括接收端，ASS水印设置的水印标志要全部一样，这样转码端同步到接收端后，由于水印标志一样，不会被重新处理，等后续需要替换新的ass水印，再修改水印标识。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关于第&lt;code&gt;1&lt;/code&gt;点，如果你没注意，每一台&lt;code&gt;EFV&lt;/code&gt;都是手动创建的规则，且存在一模一样的规则，由于接收端是根据规则&lt;code&gt;id&lt;/code&gt;过滤重复数据的，且每一台创建的规则&lt;code&gt;id&lt;/code&gt;都不一样，那么接收端将&lt;code&gt;ASS&lt;/code&gt;规则同步过去后，会出现如图的情况：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/assth.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;也就是接收端的&lt;code&gt;ASS&lt;/code&gt;替换水印功能页面，会出现重复的规则，但不会重复处理，因为视频是和规则&lt;code&gt;id&lt;/code&gt;绑定的，也就是处理视频的时候，只会烧录绑定&lt;code&gt;id&lt;/code&gt;的规则，虽然规则重复，但&lt;code&gt;id&lt;/code&gt;都是不同的，所以只会处理各自的视频。&lt;/p&gt;
&lt;p&gt;比如转码&lt;code&gt;A&lt;/code&gt;的视频和转码&lt;code&gt;A&lt;/code&gt;的规则&lt;code&gt;id&lt;/code&gt;绑定，转码&lt;code&gt;B&lt;/code&gt;的视频和转码&lt;code&gt;B&lt;/code&gt;的规则&lt;code&gt;id&lt;/code&gt;绑定，那么同步到接收端后，从转码&lt;code&gt;A&lt;/code&gt;同步过来的规则只会处理转码&lt;code&gt;A&lt;/code&gt;过来的视频，从转码&lt;code&gt;B&lt;/code&gt;同步过来的规则只会处理转码&lt;code&gt;B&lt;/code&gt;过来的视频。&lt;/p&gt;
&lt;p&gt;所以此时你需要烧录新的&lt;code&gt;ass&lt;/code&gt;水印的话，就得同时修改多个重复规则的内容，比如同时修改转码&lt;code&gt;A&lt;/code&gt;和转码&lt;code&gt;B&lt;/code&gt;过来的规则，这样等于会同时处理转码&lt;code&gt;A&lt;/code&gt;和转码&lt;code&gt;B&lt;/code&gt;过来的视频。&lt;/p&gt;
&lt;p&gt;最后，如果你使用导出和导入功能，由于该功能等同于复制粘贴，也就是规则&lt;code&gt;id&lt;/code&gt;都会一样，即所有的&lt;code&gt;EFV&lt;/code&gt;转码的视频，都是绑定相同的规则&lt;code&gt;id&lt;/code&gt;，同步到接收端后，也不会出现相同的规则，这样烧录新的&lt;code&gt;ass&lt;/code&gt;水印，也只需要修改一个规则，管理会更方便。&lt;/p&gt;
&lt;h2 id=&#34;api用法&#34;&gt;API用法&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：使用API之前，需前往转码设置下方，开启API，并设置好APIKEY。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;添加ass水印配置&#34;&gt;添加ASS水印配置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;POST /api/assconfig

请求头:
- Content-Type: application/json
- token: {apikey} // 或在请求体/URL参数中使用apikey

请求体:
{
    &amp;quot;apikey&amp;quot;: &amp;quot;5c20cEga22FgG7f&amp;quot;,  // 如果未在header中设置
    &amp;quot;configs&amp;quot;: [{
        &amp;quot;title&amp;quot;: &amp;quot;水印1&amp;quot;,         // 水印标题
        &amp;quot;ass&amp;quot;: &amp;quot;ASS字幕内容...&amp;quot;,  // ASS字幕内容
        &amp;quot;startTime&amp;quot;: &amp;quot;00:02:00&amp;quot;,  // 开始时间(时:分:秒)
        &amp;quot;duration&amp;quot;: 60            // 持续时间(秒)
    }]
}

返回示例:
{
    &amp;quot;success&amp;quot;: true,
    &amp;quot;results&amp;quot;: [{
        &amp;quot;success&amp;quot;: true,
        &amp;quot;id&amp;quot;: &amp;quot;507f1f77bcf86cd799439011&amp;quot;,
        &amp;quot;title&amp;quot;: &amp;quot;水印1&amp;quot;,
        &amp;quot;adjustedStartTime&amp;quot;: &amp;quot;00:02:00&amp;quot;,
        &amp;quot;adjustedDuration&amp;quot;: 60
    }]
}

curl示例:
curl -X POST http://your-domain/api/assconfig \
    -H &amp;quot;Content-Type: application/json&amp;quot; \
    -d &#39;{&amp;quot;apikey&amp;quot;:&amp;quot;5c20cEga22FgG7f&amp;quot;,&amp;quot;configs&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;水印1&amp;quot;,&amp;quot;ass&amp;quot;:&amp;quot;ASS内容&amp;quot;,&amp;quot;startTime&amp;quot;:&amp;quot;00:02:00&amp;quot;,&amp;quot;duration&amp;quot;:60}]}&#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;获取ass水印配置列表&#34;&gt;获取ASS水印配置列表&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;GET /api/assconfigs?apikey=5c20cEga22FgG7f

返回示例:
{
    &amp;quot;success&amp;quot;: true,
    &amp;quot;configs&amp;quot;: [{
        &amp;quot;_id&amp;quot;: &amp;quot;507f1f77bcf86cd799439011&amp;quot;,
        &amp;quot;title&amp;quot;: &amp;quot;水印1&amp;quot;,
        &amp;quot;startTime&amp;quot;: &amp;quot;00:02:00&amp;quot;,
        &amp;quot;duration&amp;quot;: 60,
        &amp;quot;assContent&amp;quot;: &amp;quot;ASS字幕内容...&amp;quot;
    }]
}

curl示例:
curl &amp;quot;http://your-domain/api/assconfigs?apikey=5c20cEga22FgG7f&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;更新ass水印配置&#34;&gt;更新ASS水印配置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;PUT /api/assconfig/{id} //id为ASS水印配置id


#直接替换整个ASS内容，请求体:
{
    &amp;quot;apikey&amp;quot;: &amp;quot;5c20cEga22FgG7f&amp;quot;,
    &amp;quot;assContent&amp;quot;: &amp;quot;[Script Info]\nScriptType: v4.00+\nPlayResX: 960\nPlayResY: 540\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\nStyle: Default,锐字云字库准圆体GBK,20,&amp;amp;H00DBDBDD,&amp;amp;H000000FF,&amp;amp;H00000000,&amp;amp;H00000000,0,0,0,0,96.1111,100,0,0,1,0,0.9,2,7,7,10,1\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\nDialogue: 0,0:00:00.00,0:00:20.00,*Default,NTP,0,0,0,,{\\an2}{\\shad0.5\\}{\\bord1}{\\fs35}{\\fn方正大黑简体}BING AWS  {\\c&amp;amp;H00F0FF&amp;amp;}WWW.EXAMPLE.COM{\\c&amp;amp;HFFFFFF&amp;amp;} BING AWS&amp;quot;
}

#替换关键词，请求体:
{
    &amp;quot;apikey&amp;quot;: &amp;quot;5c20cEga22FgG7f&amp;quot;,
    &amp;quot;replaceKeywords&amp;quot;: {
        &amp;quot;BING&amp;quot;: &amp;quot;AWS&amp;quot;,
        &amp;quot;BING.com&amp;quot;: &amp;quot;WWW.EXAMPLE.COM&amp;quot;,
        &amp;quot;AWS&amp;quot;: &amp;quot;BING&amp;quot;
    }
}

#返回示例:
{
    &amp;quot;success&amp;quot;: true,
    &amp;quot;id&amp;quot;: &amp;quot;507f1f77bcf86cd799439011&amp;quot;,
    &amp;quot;title&amp;quot;: &amp;quot;水印1&amp;quot;
}

#curl示例1(替换整个内容):
curl -X PUT http://your-domain/api/assconfig/507f1f77bcf86cd799439011 \
    -H &amp;quot;Content-Type: application/json&amp;quot; \
    -d &#39;{
        &amp;quot;apikey&amp;quot;:&amp;quot;5c20cEga22FgG7f&amp;quot;,
        &amp;quot;assContent&amp;quot;:&amp;quot;[Script Info]\nScriptType: v4.00+\nPlayResX: 960\nPlayResY: 540\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\nStyle: Default,锐字云字库准圆体GBK,20,&amp;amp;H00DBDBDD,&amp;amp;H000000FF,&amp;amp;H00000000,&amp;amp;H00000000,0,0,0,0,96.1111,100,0,0,1,0,0.9,2,7,7,10,1\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\nDialogue: 0,0:00:00.00,0:00:20.00,*Default,NTP,0,0,0,,{\\an2}{\\shad0.5\\}{\\bord1}{\\fs35}{\\fn方正大黑简体}BING AWS  {\\c&amp;amp;H00F0FF&amp;amp;}WWW.EXAMPLE.COM{\\c&amp;amp;HFFFFFF&amp;amp;} BING AWS&amp;quot;
    }&#39;

#curl示例2(替换关键词):
curl -X PUT http://your-domain/api/assconfig/507f1f77bcf86cd799439011 \
    -H &amp;quot;Content-Type: application/json&amp;quot; \
    -d &#39;{
        &amp;quot;apikey&amp;quot;:&amp;quot;5c20cEga22FgG7f&amp;quot;,
        &amp;quot;replaceKeywords&amp;quot;:{
            &amp;quot;BING&amp;quot;: &amp;quot;AWS&amp;quot;,
            &amp;quot;BING.com&amp;quot;: &amp;quot;WWW.EXAMPLE.COM&amp;quot;,
            &amp;quot;AWS&amp;quot;: &amp;quot;BING&amp;quot;
        }
    }&#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;删除ass水印配置&#34;&gt;删除ASS水印配置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;POST /api/assconfig/delete

请求头:
- Content-Type: application/json
- token: {apikey} (可选)

请求体:
{
    &amp;quot;apikey&amp;quot;: &amp;quot;5c20cEga22FgG7f&amp;quot;,
    &amp;quot;ids&amp;quot;: [&amp;quot;507f1f77bcf86cd799439011&amp;quot;, &amp;quot;507f1f77bcf86cd799439012&amp;quot;] //id为ASS水印配置id
}

返回示例:
{
    &amp;quot;success&amp;quot;: true,
    &amp;quot;results&amp;quot;: [{
        &amp;quot;id&amp;quot;: &amp;quot;507f1f77bcf86cd799439011&amp;quot;,
        &amp;quot;success&amp;quot;: true
    }]
}

curl示例:
curl -X POST http://your-domain/api/assconfig/delete \
    -H &amp;quot;Content-Type: application/json&amp;quot; \
    -d &#39;{&amp;quot;apikey&amp;quot;:&amp;quot;5c20cEga22FgG7f&amp;quot;,&amp;quot;ids&amp;quot;:[&amp;quot;507f1f77bcf86cd799439011&amp;quot;]}&#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;获取ass水印设置&#34;&gt;获取ASS水印设置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;GET /api/asssetting?apikey=5c20cEga22FgG7f

返回示例:
{
    &amp;quot;success&amp;quot;: true,
    &amp;quot;setting&amp;quot;: {
        &amp;quot;mark&amp;quot;: &amp;quot;watermark123&amp;quot;,    // 水印标识
        &amp;quot;open&amp;quot;: true,              // 是否开启添加/替换
        &amp;quot;delad&amp;quot;: false,            // 是否开启移除
        &amp;quot;num&amp;quot;: 3                   // 并发处理数
    }
}

curl示例:
curl &amp;quot;http://your-domain/api/asssetting?apikey=5c20cEga22FgG7f&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;更新ass水印设置&#34;&gt;更新ASS水印设置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;POST /api/asssetting

请求头:
- Content-Type: application/json
- token: {apikey} (可选)

请求体:
{
    &amp;quot;apikey&amp;quot;: &amp;quot;5c20cEga22FgG7f&amp;quot;,
    &amp;quot;mark&amp;quot;: &amp;quot;watermark123&amp;quot;,    // 水印标识(必填,仅允许英文数字)
    &amp;quot;open&amp;quot;: true,              // 是否开启添加/替换
    &amp;quot;delad&amp;quot;: false,            // 是否开启移除
    &amp;quot;num&amp;quot;: 3                   // 并发处理数(&amp;gt;0的整数)
}

返回示例:
{
    &amp;quot;success&amp;quot;: true,
    &amp;quot;setting&amp;quot;: {
        &amp;quot;mark&amp;quot;: &amp;quot;watermark123&amp;quot;,
        &amp;quot;open&amp;quot;: true,
        &amp;quot;delad&amp;quot;: false,
        &amp;quot;num&amp;quot;: 3
    }
}

curl示例:
curl -X POST http://your-domain/api/asssetting \
    -H &amp;quot;Content-Type: application/json&amp;quot; \
    -d &#39;{&amp;quot;apikey&amp;quot;:&amp;quot;5c20cEga22FgG7f&amp;quot;,&amp;quot;mark&amp;quot;:&amp;quot;watermark123&amp;quot;,&amp;quot;open&amp;quot;:true,&amp;quot;delad&amp;quot;:false,&amp;quot;num&amp;quot;:3}&#39;&lt;/code&gt;&lt;/pre&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 去除跑马灯和水印步骤</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/remove-scrolling-text-and-watermark-steps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/remove-scrolling-text-and-watermark-steps/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：去水印、跑马灯必须要转码下才生效；秒切是无效的，也就不会给你去除任何水印、跑马灯。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;去除水印、跑马灯过程中，会最大程度的给你还原之前的视频画面，但不会给你&lt;code&gt;100%&lt;/code&gt;还原，目前还没有可以&lt;code&gt;100%&lt;/code&gt;完全还原的技术。&lt;/p&gt;
&lt;p&gt;所以在去除的时候，建议在去除的同位置上，加上自己的水印、跑马灯，这样去除的时候，会同时烧录你的水印，可达到最佳效果。&lt;/p&gt;
&lt;h2 id=&#34;操作步骤&#34;&gt;操作步骤&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：目前暂时不能处理那种随机位置的水印，随机水印推荐使用水平镜像翻转功能，可以模糊随机水印，间接达到去水印目的，可转码相关开启该功能。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;设置去水印、跑马灯之前，需要先停止自动转码，否则需要去除水印的视频开始转码的话，再设置是无效的。&lt;/p&gt;
&lt;p&gt;先点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 去水印/跑马灯设置 ⇒ 添加模板 ⇒ 编辑模板，具体操作可看下方视频。&lt;/p&gt;
&lt;p&gt;模板的作用就是根据参照视频提前设置好相关除去规则，然后和该参照视频拥有同时间段，同位置水印、跑马灯的视频可直接使用，无需再次设置相关去除规则。&lt;/p&gt;
&lt;h3 id=&#34;视频演示&#34;&gt;视频演示&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：请点击播放器右下角全屏按钮进行观看。
&lt;/code&gt;&lt;/pre&gt;
&lt;iframe src=&#34;https://down.querydata.org/video/2.html&#34; frameborder=0 allowfullscreen&gt;&lt;/iframe&gt;
&lt;h5 id=&#34;绑定分类&#34;&gt;绑定分类&lt;/h5&gt;
&lt;pre&gt;&lt;code&gt;提示：目前EFV最新版和演示视频区别就是，新版已新增分类绑定功能，操作更方便。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;设置好去除规则模板后，可直接在模板页面给该模板绑定好视频分类，再将需要去除的视频调整到该分类，最后转码的时候该分类的视频自动使用该模板去除规则，无需手动给视频单独设置模板了。&lt;/p&gt;
&lt;h3 id=&#34;操作注意事项&#34;&gt;操作注意事项&lt;/h3&gt;
&lt;p&gt;设置的时候，你只需要长按鼠标左键，框住你选择的水印或跑马灯范围即可，设置期间框框可自行调整大小，坐标参数会自动根据你的框获取。&lt;/p&gt;
&lt;p&gt;每次只能添加一个规则，如果你有多个位置、时间段的水印或跑马灯，那么需要添加多次。&lt;/p&gt;
&lt;p&gt;最后给视频选择去除模板的时候，该视频必须符合你选择的模板去除规则，不然转码有概率会出错。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 扫描入库无效或缺视频</title>
      <link>https://docs.efvcms.com/docs/troubleshooting-transcoding-errors/scan-invalid-missing-videos/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/troubleshooting-transcoding-errors/scan-invalid-missing-videos/</guid>
      <description>
        
        
        &lt;p&gt;如果我们在扫描入库后，视频管理处没有/缺少视频，则一般存在如下问题：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、入库文件夹的视频与视频管理处的视频在名称上重复，导致入库失败。
2、检查下转码设置的入库后缀选项；看看要入库的视频在不在后缀范围内。
3、上传视频的编码不对，多常见为GBK，需转换为UTF-8。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关于编码查看问题，先使用&lt;code&gt;SSH&lt;/code&gt;客户端登录服务器：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#进入到入库文件夹，比如我的安装路径/home/express-ffmpeg
cd /home/express-ffmpeg/movies
#查看需要入库的视频文件名称
ls
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果文件夹名称都是乱码，则基本可以确定为编码问题，再使用命令转换编码。&lt;/p&gt;
&lt;p&gt;先安装&lt;code&gt;convmv&lt;/code&gt;，使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#CentOS 7+、AlmaLinux、Rocky Linux系统
yum install -y convmv

#Debian、Ubuntu系统
apt install -y convmv
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;再使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#在入库文件夹运行即可，比如/home/express-ffmpeg/movies，先进入该文件夹
cd /home/express-ffmpeg/movies
#转换为UTF-8
convmv -f GBK -t UTF-8 -r --notest *
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;不出意外，现在再查看文件不乱码了，此时就可以入库了。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 设置定时采集数据</title>
      <link>https://docs.efvcms.com/docs/efv-separation-system-setup-tutorial/related-usage-issues/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/efv-separation-system-setup-tutorial/related-usage-issues/</guid>
      <description>
        
        
        &lt;p&gt;如果你有安装宝塔面板，且任何服务器的宝塔面板都可以直接设置，进入宝塔后台，找到左侧的计划任务，点击添加，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/sea5.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;任务类型为&lt;code&gt;Shell&lt;/code&gt;脚本，名称和执行周期自行设置，海洋&lt;code&gt;CMS&lt;/code&gt;采集脚本如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/bash

#https://localhost/1t4j0x为后台登录地址
web_site=&amp;quot;https://localhost/1t4j0x/admin_reslib2.php&amp;quot;

# 登录海洋CMS后台 → 系统 → 网站资料设置 → 将cookie加密码替换到此处
web_pwd=&amp;quot;eb0c82f7218f66d5030f934427009b78&amp;quot;

#https://m3u8.caiji.com/seacms/vod/xml为采集链接
web_api=(   
    &#39;?ac=day&amp;amp;rid=1&amp;amp;url=https://m3u8.caiji.com/seacms/vod/xml&#39;
)

web_ua=&amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 seacmsbot/2.0;&amp;quot;

#采集单页
function get_content() {
echo &amp;quot;正在采集：$1&amp;quot;
cResult=$(curl --connect-timeout 10 -m 20 -k -s -L -A &amp;quot;$web_ua&amp;quot; &amp;quot;$1&amp;quot;)
echo $cResult | grep -q &amp;quot;采集&amp;quot;

if [ &amp;quot;$?&amp;quot; = &amp;quot;0&amp;quot; ]; then
    next_content &amp;quot;$cResult&amp;quot;
else
    echo &amp;quot;采集失败: $1&amp;quot;
fi
}

#采集下页
function next_content() {
    #检测并采集下页
    next_url=${1##*location.href=\&#39;}
    next_url=${next_url%%\&#39;*}
    
    if [ &amp;quot;${next_url:0:1}&amp;quot; = &amp;quot;?&amp;quot; ]; then
        get_content &amp;quot;$web_site$next_url&amp;quot;
    else
        echo &amp;quot;当前资源采集完成&amp;quot;
    fi  
}

#脚本入口
echo &amp;quot;开始执行采集任务...&amp;quot;
starttime=$(date +%s)

for url in ${web_api[@]}; do  
    if [[ ! -z $url ]]; then
        web_param=&amp;quot;$web_site$url&amp;amp;password=$web_pwd&amp;quot;
        get_content $web_param
    fi
done

endtime=$(date +%s)
echo &amp;quot;采集结束，耗时$[endtime - starttime]秒&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;设置好海洋&lt;code&gt;CMS&lt;/code&gt;后台地址和&lt;code&gt;cookie&lt;/code&gt;加密码后，再一起复制粘贴进&lt;code&gt;shell&lt;/code&gt;内容框即可。&lt;/p&gt;
&lt;p&gt;如果你没有安装过宝塔面板，可直接使用&lt;code&gt;SSH&lt;/code&gt;客户端，登录&lt;code&gt;EFV&lt;/code&gt;所在的服务器，运行命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#下载采集脚本
wget --no-check-certificate -O &#39;/opt/sea.sh&#39; https://down.querydata.org/down/sea.sh
chmod +x /opt/sea.sh
#后面的https://newdomain.com/seacms/vod/xml为你的EFV采集地址，如有KEY的话，请带上KEY，替换好相关内容后再运行该命令
sed -i &#39;s|https://m3u8.caiji.com/seacms/vod/xml|https://newdomain.com/seacms/vod/xml|g&#39; /opt/sea.sh
#后面的eb0c82f7218f66d5030f934427003453为你的海洋CMS加密码，替换好相关内容后再运行该命令
sed -i &#39;s|eb0c82f7218f66d5030f934427009b78|eb0c82f7218f66d5030f934427003453|g&#39; /opt/sea.sh
echo &#39;*/30 * * * * bash /opt/sea.sh&#39; &amp;gt;&amp;gt; crontab.bak
crontab crontab.bak
rm -rf crontab.bak
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;该命令行是每&lt;code&gt;30&lt;/code&gt;分钟运行一次，可在运行之前，自行调整时间，怕调整出问题的，可直接默认。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 使用Docker快速构建APP</title>
      <link>https://docs.efvcms.com/docs/app-building-and-usage-tutorial/quickly-package-app-with-docker/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/app-building-and-usage-tutorial/quickly-package-app-with-docker/</guid>
      <description>
        
        
        &lt;p&gt;由于墙的关系，尽量使用中国大陆以外的服务器进行打包操作，&lt;code&gt;VPS&lt;/code&gt;和独立服务器均可，直接在转码服务器上打包也可以，推荐&lt;code&gt;CentOS 7+&lt;/code&gt;、&lt;code&gt;AlmaLinux&lt;/code&gt;、&lt;code&gt;Rocky Linux&lt;/code&gt;、&lt;code&gt;Debian&lt;/code&gt;、&lt;code&gt;Ubuntu&lt;/code&gt;系统。&lt;/p&gt;
&lt;h2 id=&#34;构建步骤&#34;&gt;构建步骤&lt;/h2&gt;
&lt;p&gt;不要漏掉任何一个设置步骤，不然很可能打包后，使用会有问题。&lt;/p&gt;
&lt;h3 id=&#34;修改app名称&#34;&gt;修改APP名称&lt;/h3&gt;
&lt;p&gt;修改&lt;code&gt;android/app/src/main/AndroidManifest&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#找到中间位置，即android:label一行，此处为app名称，自行修改
 &amp;lt;application
     ...
 android:label=&amp;quot;flutter学习视频&amp;quot;
     ...
 &amp;lt;activity
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;修改app图标和相关图片&#34;&gt;修改APP图标和相关图片&lt;/h3&gt;
&lt;p&gt;准备一个&lt;code&gt;app&lt;/code&gt;的图标，&lt;code&gt;png&lt;/code&gt;格式，命名&lt;code&gt;icon.png&lt;/code&gt;，覆盖到&lt;code&gt;app&lt;/code&gt;源码目录&lt;code&gt;assets&lt;/code&gt;文件夹即可。&lt;/p&gt;
&lt;p&gt;还有&lt;code&gt;app展示图&lt;/code&gt;和&lt;code&gt;app logo&lt;/code&gt;修改，横屏&lt;code&gt;app&lt;/code&gt;修改 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/landscape-app-setup-and-tips/&#34;&gt;传送门&lt;/a&gt;，竖屏&lt;code&gt;app&lt;/code&gt;修改 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/portrait-app-setup-and-tips/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;接下来横屏&lt;code&gt;app&lt;/code&gt;，且只有横屏&lt;code&gt;app&lt;/code&gt;需要配置替换一个图片，即图集界面强制广告图片，路径&lt;code&gt;assets/benad.jpg&lt;/code&gt;，尺寸建议&lt;code&gt;800x1164&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;修改app其它信息&#34;&gt;修改APP其它信息&lt;/h3&gt;
&lt;p&gt;修改&lt;code&gt;android/app/build.gradle&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#修改applicationId，为唯一的应用ID，一旦设置，后期就不能改了，更新app的时候，依然用这个ID
applicationId &amp;quot;com.moemv.flutter&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;给app配置api域名和图片cdn加速&#34;&gt;给app配置api域名和图片cdn加速&lt;/h3&gt;
&lt;p&gt;首先我们需要一个网络比较好的&lt;code&gt;VPS&lt;/code&gt;安装&lt;code&gt;api接口&lt;/code&gt;和&lt;code&gt;图片cdn&lt;/code&gt;，相关说明和搭建教程参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/app-api-interface-setup-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h5 id=&#34;配置api域名和图片cdn加速&#34;&gt;配置api域名和图片cdn加速&lt;/h5&gt;
&lt;p&gt;编辑&lt;code&gt;lib/core/utils/helper.dart&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#横屏和竖屏app配置有区别，注意区分，不要乱删字符，如&amp;amp;url=，不然封面，截图都不会显示了

#竖屏app配置，image.efvcms.com为图片cdn域名，6860e43596fd11d4ee66303d为图片cdn的apikey
String cdnUrl = &#39;https://image.efvcms.com/api?apikey=6860e43596fd11d4ee66303d&amp;amp;url=&#39; +

#横屏app配置，且有2个地方，6860e43596fd11d4ee66303d为图片cdn的apikey
String cdnUrl =
    &#39;$cdn/api?apikey=6860e43596fd11d4ee66303d&amp;amp;url=&#39; + url + &#39;&amp;amp;force=true&#39;;
    
String cdnUrl = &#39;$cdn$url?apikey=6860e43596fd11d4ee66303d&amp;amp;force=true&#39;;
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&#34;配置app的api域名&#34;&gt;配置app的api域名&lt;/h5&gt;
&lt;p&gt;编辑竖屏&lt;code&gt;lib/app/data/provider/dio_provider.dart&lt;/code&gt;或横屏&lt;code&gt;lib/app/data/provider/api_dio.dart&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#该参数为app的api接口绑定的域名，且必须使用ssl证书并开启https
const baseUrl = &#39;https://m3u8.efvcms.com/api/&#39;;

#该参数为EFV的apikey，可在EFV的转码设置获取
const apiKey = &#39;domybestth&#39;;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;配置app的基础信息&#34;&gt;配置app的基础信息&lt;/h3&gt;
&lt;p&gt;编辑&lt;code&gt;lib/core/values/strings.dart&lt;/code&gt;文件，大致如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#该参数为EFV所绑定的域名地址，且必须使用ssl证书并开启https
const host = &#39;https://app.leimulamu.com&#39;;

#该参数为app检测的版本号，可在EFV转码后台设置，一样就不会通知更新
const version = 230601;

#时间戳防盗链对接，off为不使用时间戳防盗链，其他值生效，注意如果开启时间戳防盗链，需设置解析json接口，并将解析key值填进去，且不要设置ip授权
const tokenapi = &#39;off&#39;;

#&amp;lt;仅竖屏app需配置&amp;gt;app标题
const title = &amp;quot;雷姆拉姆&amp;quot;;

#该参数为EFV所绑定的域名地址，不需要http://，只写域名，该选项仅横屏海报app存在
const emailRoot = &#39;app.leimulamu.com&#39;;

#&amp;lt;仅横屏app需配置&amp;gt;app的上传域名配置，即改成EFV所绑定的域名地址
const uploadUrl = &#39;https://app.leimulamu.com/api2/uploads&#39;;

#&amp;lt;仅横屏app需配置&amp;gt;图片cdn域名配置，可搭建多个图片cdn加速，并设置多个，用户可在个人中心进行图片线路切换
const cdnUrls = [
  &#39;https://cdn1.efvcms.com&#39;,
  &#39;https://cdn2.efvcms.com&#39;,
  &#39;https://cdn3.efvcms.com&#39;
];
图片cdn域名按照默认的格式，一行一个，自行删减，且都需要放在英文单引号中间，末尾需要用英文逗号结尾，最后一个域名可不用英文逗号，其它都要；如果只有一个图片cdn域名，可参考以下配置：
const cdnUrls = [
  &#39;https://cdn.efvcms.com&#39;
];
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意这里的版本号是&lt;code&gt;app&lt;/code&gt;更新的配置，更新具体可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/app-upgrade-version-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;给app签名&#34;&gt;给app签名&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：首次打包需要签名，更新打包的时候，直接用该签名的文件即可。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;日后为了方便给用户更新&lt;code&gt;app&lt;/code&gt;，我们需要给&lt;code&gt;app&lt;/code&gt;签名，先使用&lt;code&gt;SSH&lt;/code&gt;客户端，比如&lt;code&gt;Xshell&lt;/code&gt;软件，登录服务器，再使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#CentOS 7+、AlmaLinux、Rocky Linux系统
yum install java-11-openjdk -y

#Debian、Ubuntu系统
apt update -y
apt install default-jre -y
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后使用命令签名：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;keytool -genkey -v -keystore /root/upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输入签名的密匙及其它相关信息，使用拼音就行了，最后问你是否正确的时候，你输入 是，再输入密匙确认即可。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;提示：请保管好upload-keystore.jks文件，不然会影响以后的app更新操作。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后会在我们的根目录&lt;code&gt;/root&lt;/code&gt;文件夹生成一个密匙文件&lt;code&gt;upload-keystore.jks&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;接下来我们解压&lt;code&gt;app&lt;/code&gt;源码包，再将密匙文件&lt;code&gt;upload-keystore.jks&lt;/code&gt;存放到&lt;code&gt;app&lt;/code&gt;源码根目录。&lt;/p&gt;
&lt;p&gt;然后编辑根目录&lt;code&gt;android&lt;/code&gt;文件夹中&lt;code&gt;key.properties&lt;/code&gt;文件，修改内容：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;storePassword=efvcms
keyPassword=efvcms
keyAlias=upload
storeFile=/efvapp/upload-keystore.jks
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;efvcms&lt;/code&gt;均为签名密匙，&lt;code&gt;/efvapp/upload-keystore.jks&lt;/code&gt;为密匙路径，即&lt;code&gt;key.properties&lt;/code&gt;文件在&lt;code&gt;app&lt;/code&gt;源码根目录的路径，别乱放就行。&lt;/p&gt;
&lt;h3 id=&#34;给app配置google统计&#34;&gt;给app配置google统计&lt;/h3&gt;
&lt;p&gt;先前往&lt;code&gt;google&lt;/code&gt;统计官网 ⇒ &lt;a href=&#34;https://console.firebase.google.com/&#34;&gt;传送门&lt;/a&gt;，然后创建项目，名称随便填。&lt;/p&gt;
&lt;p&gt;进去后，就可以看到添加应用提示，根据操作系统选择，比如我点击安卓图标，&lt;code&gt;Android 软件包名称&lt;/code&gt;为上面设置的&lt;code&gt;applicationId&lt;/code&gt;参数，如： &lt;code&gt;com.moemv.flutter&lt;/code&gt;，其它可选，自己看着办。&lt;/p&gt;
&lt;p&gt;然后注册后，下载&lt;code&gt;google-services.json&lt;/code&gt;文件，丢到&lt;code&gt;app&lt;/code&gt;源码包的&lt;code&gt;android/app&lt;/code&gt;文件夹即可。&lt;/p&gt;
&lt;h3 id=&#34;构建打包app&#34;&gt;构建打包app&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：在配置绝对没问题情况下，有时候会因为网络啥的问题而打包失败，可以重新运行打包命令；且有时候因为插件要升级导致打包失败的，可以联系我们
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;首先安装&lt;code&gt;Docker&lt;/code&gt; ⇒ &lt;a href=&#34;https://docs.efvcms.com/blog/linux-tutorial/linux-quick-install-docker/&#34;&gt;传送门&lt;/a&gt;，再将修改好的&lt;code&gt;app&lt;/code&gt;源码上传到服务器，比如我&lt;code&gt;app&lt;/code&gt;源码路径为&lt;code&gt;/opt/efvapp&lt;/code&gt;，则在&lt;code&gt;SSH&lt;/code&gt;使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#竖屏app使用该命令
docker run -v /opt/efvapp:/efvapp moerats/efvapp:3.1

#横屏app使用该命令
docker run -v /opt/efvapp:/efvapp moerats/efvapp:3.3.3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意&lt;code&gt;-v&lt;/code&gt;前面的&lt;code&gt;/opt/efvapp&lt;/code&gt;为源码路径，自行修改，其它不要动，该命令第一次运行时间比较长，等待即可，直到打包完成。&lt;/p&gt;
&lt;p&gt;如果后面有修改&lt;code&gt;app&lt;/code&gt;参数的，可以重新执行上面的命令进行重新构建，第二次及以后的打包时间会大大缩短。&lt;/p&gt;
&lt;p&gt;最后&lt;code&gt;apk&lt;/code&gt;文件在&lt;code&gt;build\app\outputs\flutter-apk&lt;/code&gt;文件夹，共有&lt;code&gt;3&lt;/code&gt;个版本，都是针对不同的移动&lt;code&gt;CPU&lt;/code&gt;架构，一般可以直接用&lt;code&gt;arm64-v8a&lt;/code&gt;即可，具体架构说明如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器，很少设备，三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器，早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后接下来，需要相关设置就可以用，横屏&lt;code&gt;app&lt;/code&gt;设置教程 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/landscape-app-setup-and-tips/&#34;&gt;传送门&lt;/a&gt;，竖屏&lt;code&gt;app&lt;/code&gt;设置教程 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/app-building-and-usage-tutorial/portrait-app-setup-and-tips/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 视频防盗防播及图片加密</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/video-anti-theft-anti-playback-and-image-encryption/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/video-anti-theft-anti-playback-and-image-encryption/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：由于功能会经常更新，如果你找不到相关功能选项，请更新到最新版后再使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;防盗链白名单设置&#34;&gt;防盗链白名单设置&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：推荐新手使用，也就是指定部分网站可以使用EFV的M3U8、图片等链接，其它网站均会返回403无权限。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 防盗链/图片加密设置，找到&lt;code&gt;防盗链白名单设置&lt;/code&gt;功能，直接设置域名即可，比如&lt;code&gt;demo.efvcms.com&lt;/code&gt;，且支持泛域名，比如&lt;code&gt;*.efvcms.com&lt;/code&gt;，即&lt;code&gt;efvcms.com&lt;/code&gt;的所有子域名都能使用；且多域名配置中间用&lt;code&gt;|&lt;/code&gt;分开，比如&lt;code&gt;demo.efvcms.com|*.efvtest.com&lt;/code&gt;，可设置无数个域名。&lt;/p&gt;
&lt;h2 id=&#34;ts禁止下载合并&#34;&gt;TS禁止下载合并&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能屏蔽了绝大部分的下载工具，即禁止被这些工具下载合成M3U8。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 防盗链/图片加密设置，开启该功能即可。&lt;/p&gt;
&lt;h2 id=&#34;ts切片伪装png图片&#34;&gt;TS切片伪装PNG图片&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能在切片的时候会将生成的TS切片变成PNG图片，而且无法退回TS切片，适合同步到云存储使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 转码设置，开启&lt;code&gt;TS切片伪装PNG&lt;/code&gt;功能即可。&lt;/p&gt;
&lt;h2 id=&#34;ts切片伪装jpeg图片&#34;&gt;TS切片伪装JPEG图片&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能不会修改TS切片信息，只播放的时候，会动态的将TS切片伪装成JPEG破损图片，关闭则退回TS切片。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 转码设置，开启&lt;code&gt;TS切片伪装JPEG&lt;/code&gt;功能即可。&lt;/p&gt;
&lt;h2 id=&#34;时间戳播放次数防盗链&#34;&gt;时间戳+播放次数防盗链&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：目前结合防盗、兼容性来说，此防盗链算是最适合的，并强烈推荐结合TS加密功能一起使用，效果可最大化。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 防盗链/图片加密设置，相关设置项如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#时间戳+播放次数防盗链
开启防盗链的开关，开启后所有m3u8均无法直接访问，需根据规则组装获取可访问的m3u8链接才能正常访问。

#设置时间戳防盗链key值
防盗链对接逻辑的一部分，可随时修改，随时生效

#严格下载防护
开启后，视频播放一次后会立即失效，需结合时间戳防盗链功能一起使用，可有效防止视频被一些工具或浏览器嗅探和下载，且仅对开启TS加密功能期间转码的视频生效。

#开启TS或伪装切片的时间戳防盗链验证
防盗链默认只会验证M3U8和TS加密的KEY文件，如果你想连切片也一起验证，则开启。

#开启时间戳防盗链ip验证
开启该功能后，当用户访问视频TS加密的key文件或切片文件时，会验证其ip地址是否和访问m3u8地址的ip一致，不一样会阻止访问，也就是禁止绕过m3u8访问切片。

#设置时间戳防盗链的json解析接口
可设置一到多个解析接口地址，用来解析m3u8链接，并生成可直接播放的新m3u8链接
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;对接原理&#34;&gt;对接原理&lt;/h3&gt;
&lt;p&gt;开启时间戳防盗链功能后，我们需要使用播放次数、过期时间戳、时间戳&lt;code&gt;KEY&lt;/code&gt;值和&lt;code&gt;M3U8&lt;/code&gt;链接进行组装加密，获取到一个可供播放的新&lt;code&gt;KEY&lt;/code&gt;，然后该&lt;code&gt;M3U8&lt;/code&gt;链接后面加上这个新&lt;code&gt;KEY&lt;/code&gt;值就可以正常播放了。&lt;/p&gt;
&lt;p&gt;主要对接参数说明：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;播放次数：比如我播放次数设置5，即请求5次M3U8链接后，会直接失效。
过期时间戳：比如我设置5分钟后过期，即5分钟后该M3U8链接直接失效。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果访问&lt;code&gt;M3U8&lt;/code&gt;链接的时候，使用的新&lt;code&gt;KEY&lt;/code&gt;值不对，或者单&lt;code&gt;ip&lt;/code&gt;播放次数用完、时间戳已过期，都会提示无权限。&lt;/p&gt;
&lt;p&gt;单独访问&lt;code&gt;TS&lt;/code&gt;加密的&lt;code&gt;KEY&lt;/code&gt;文件和切片文件的时候，使用的&lt;code&gt;IP&lt;/code&gt;和对应的&lt;code&gt;M3U8&lt;/code&gt;的&lt;code&gt;IP&lt;/code&gt;来源不一样，或新&lt;code&gt;KEY&lt;/code&gt;值不对，&lt;code&gt;KEY&lt;/code&gt;文件播放次数用完等，也会提示无权限。&lt;/p&gt;
&lt;h3 id=&#34;返回信息&#34;&gt;返回信息&lt;/h3&gt;
&lt;p&gt;访问&lt;code&gt;M3U8&lt;/code&gt;无权限的时候默认会返回&lt;code&gt;403&lt;/code&gt;提示，如果你想返回一段视频，可以添加切片广告 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/intro-and-in-video-ad-settings-steps/&#34;&gt;传送门&lt;/a&gt;，添加后，可以不用&lt;code&gt;开启切片广告&lt;/code&gt;功能，只需要存在广告视频就会生效给时间戳防盗链。&lt;/p&gt;
&lt;p&gt;如果添加多个切片广告，则无权限的会随机返回其中一个切片广告视频。&lt;/p&gt;
&lt;h3 id=&#34;对接说明&#34;&gt;对接说明&lt;/h3&gt;
&lt;p&gt;可通过自行对接 或 直接使用解析接口获取可访问的&lt;code&gt;m3u8&lt;/code&gt;链接，按需求选择即可，对接文档 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/api-interface-usage-tutorial/timestamp-anti-hotlinking-integration-tutorial/&#34;&gt;传送门&lt;/a&gt;，然后自行开发对接。&lt;/p&gt;
&lt;p&gt;自带的&lt;code&gt;CMS&lt;/code&gt;、苹果&lt;code&gt;CMS&lt;/code&gt;和&lt;code&gt;爱影CMS&lt;/code&gt;均已适配，且自带的&lt;code&gt;CMS&lt;/code&gt;开启该功能后会自动处理，苹果&lt;code&gt;CMS&lt;/code&gt;可前往&lt;code&gt;发布到苹果CMS&lt;/code&gt;文档获取对接文件 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/&#34;&gt;传送门&lt;/a&gt;，爱影&lt;code&gt;CMS&lt;/code&gt;可前往&lt;code&gt;发布到爱影CMS&lt;/code&gt;文档获取对接文件 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/iy-cms-publishing-tutorial/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;动态加密封面截图&#34;&gt;动态加密封面/截图&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能为动态处理，即服务器里面的图片并未加密，只是读取的时候给你加密，且开启和关闭均立即生效。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 防盗链/图片加密设置，开启该功能；且不能同时开启&lt;code&gt;图片转换txt文本&lt;/code&gt;功能，不然&lt;code&gt;txt文本&lt;/code&gt;功能优先级会高于&lt;code&gt;加密&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;开启图片加密后，基本上转码生成的封面、截图全部会被加密乱码，完全看不到任何实质内容，需要在前端使用特有的解密逻辑，方可正常显示。&lt;/p&gt;
&lt;p&gt;这里提供一个简单的对接示例 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/api-interface-usage-tutorial/cover-screenshot-encryption-usage-guide/&#34;&gt;传送门&lt;/a&gt;，并根据文档示例集成到自己的网站即可。&lt;/p&gt;
&lt;h2 id=&#34;封面截图动态转换txt文本&#34;&gt;封面/截图动态转换txt文本&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能为动态处理，即服务器里面的图片并未处理，只是读取的时候给你转txt，且开启和关闭均立即生效。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 防盗链/图片加密设置，开启该功能。&lt;/p&gt;
&lt;p&gt;开启之后，程序会自动将封面/截图自动转换成&lt;code&gt;txt&lt;/code&gt;文本，且默认的截图和图片均会无法正常查看，直接请求会显示&lt;code&gt;403 Forbidden&lt;/code&gt;提示。&lt;/p&gt;
&lt;h3 id=&#34;使用方法&#34;&gt;使用方法&lt;/h3&gt;
&lt;p&gt;我的图片链接为&lt;code&gt;/videos/202104/16/60797eb23b54185df2317c5f/cover.jpg&lt;/code&gt;，我直接将&lt;code&gt;.jpg&lt;/code&gt;换成&lt;code&gt;.txt&lt;/code&gt;就可以了。&lt;/p&gt;
&lt;p&gt;比如&lt;code&gt;/videos/202104/16/60797eb23b54185df2317c5f/cover.txt&lt;/code&gt;，读取的时候会自动转换成&lt;code&gt;txt&lt;/code&gt;文本。&lt;/p&gt;
&lt;p&gt;且原有&lt;code&gt;.jpg&lt;/code&gt;地址会返回&lt;code&gt;403 Forbidden&lt;/code&gt;提示，既不会显示图片了，然后直接在前端使用&lt;code&gt;base64&lt;/code&gt;解密调用。&lt;/p&gt;
&lt;p&gt;这里提供一个简单的对接示例 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/api-interface-usage-tutorial/cover-screenshot-text-usage-guide/&#34;&gt;传送门&lt;/a&gt;，并根据文档示例集成到自己的网站即可。&lt;/p&gt;
&lt;h2 id=&#34;hls双重防盗链&#34;&gt;HLS双重防盗链&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该防盗链属于里面盗取难度最大的，几乎不可能被盗，由于国产浏览器问题，推荐仅APP使用开启。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 防盗链/图片加密设置，设置防盗链&lt;code&gt;KEY&lt;/code&gt;值，且设置自动开启，留空立即关闭。&lt;/p&gt;
&lt;p&gt;然后前往&lt;code&gt;转码设置&lt;/code&gt;，开启&lt;code&gt;TS&lt;/code&gt;加密，也就是需和&lt;code&gt;TS&lt;/code&gt;加密搭配一起使用才生效，即该功能仅仅对&lt;code&gt;TS&lt;/code&gt;加密的&lt;code&gt;M3U8&lt;/code&gt;有效。&lt;/p&gt;
&lt;h3 id=&#34;加密原理&#34;&gt;加密原理&lt;/h3&gt;
&lt;p&gt;该功能参考保利威视的防盗链策略，&lt;code&gt;EFV&lt;/code&gt;系统对&lt;code&gt;M3U8&lt;/code&gt;的&lt;code&gt;KEY&lt;/code&gt;文件链接和&lt;code&gt;KEY&lt;/code&gt;文件内容进行双向对称加密和解密。&lt;/p&gt;
&lt;p&gt;比如我开启并设置&lt;code&gt;HLS&lt;/code&gt;双重防盗链后，在没有解密的情况下，读取一个&lt;code&gt;M3U8&lt;/code&gt;文件，内容如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI=&amp;quot;http://192.168.3.16?token=FEfKlXoXbFF7xr7yPAK2k81G5kZesZEQyAlqDPc67GIS1VUVAZfO0euFgQMxjRpAplZpOxuv/to=&amp;quot;
#EXTINF:4.800000,
indexEccdE0fc0ACcdC0A.ts
#EXTINF:4.360000,
indexf81cggd7A0c0905E.ts
#EXTINF:3.320000,
index31696Ba7gab3CA3d.ts
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;会发现&lt;code&gt;TS&lt;/code&gt;加密的&lt;code&gt;key&lt;/code&gt;文件地址为本地地址，意味着读取不到&lt;code&gt;key&lt;/code&gt;文件，也就是播放不了该&lt;code&gt;M3U8&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;如果在我们已经对接过解密的网站播放，通过抓包获取到了&lt;code&gt;key&lt;/code&gt;文件链接，并获取到key文件内容，依然不能下载，因为&lt;code&gt;key&lt;/code&gt;文件内容也会加密，也就是说的双重加密，总之盗取难度极大。&lt;/p&gt;
&lt;h3 id=&#34;使用说明&#34;&gt;使用说明&lt;/h3&gt;
&lt;p&gt;需要使用的可自行查看文档获取解密&lt;code&gt;hls.js&lt;/code&gt;文件 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/api-interface-usage-tutorial/hls-dual-anti-hotlinking-integration-tutorial/&#34;&gt;传送门&lt;/a&gt;，并根据文档教程集成到自己的网站即可。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 下载中心的数据入库、更新和删除</title>
      <link>https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-download-storage/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-download-storage/</guid>
      <description>
        
        
        &lt;h2 id=&#34;下载中心接口使用&#34;&gt;下载中心接口使用&lt;/h2&gt;
&lt;h3 id=&#34;视频下载&#34;&gt;视频下载&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;POST /api/downloadm3u8

body: {
    #必填参数
    apikey, //转码设置获取
    name, //视频名称，下载完成后自动入库到视频管理的视频名称
    url,  //下载链接，注意如果地址包含&amp;amp;等特殊符号，如果影响到使用，记得转义下
    type,  //下载类型，如m3u8、downloadall、video，且m3u8仅支持下载m3u8链接，video支持mp4、mkv等视频直链，downloadall支持m3u8、mp4、mkv等视频直链和youtube视频地址下载，建议下载M3U8首选m3u8类型，m3u8类型出错就使用downloadall类型下载M3U8。

    #可选参数，如用不到相关参数可不用传递；如传递customHeaders，则优先使用该值，不传递会默认使用下载设置的自定义请求头设置项。
    poster,  //封面链接，封面仅支持jpg、png、jpeg、webp格式，下载转码后，会自动转换成封面1和封面2；如不填会自动生成封面。
    category, //视频分类，不存在会自动创建
    clientId, //传递一个数据库id，即客户端辨识视频id，当使用通知接口返回信息的时候会返回该id，让你对应并进行数据填充。
    geturl, //解析接口配置，设置详情看下方
    originaltitle, //视频原名
    customHeaders, //自定义请求头，可设置User-Agent、Referer、Cookie等，格式：Header-Name: Header-Value，每行一个，可使用换行符\n分隔。如：User-Agent: xxx\nReferer: xxx。
    aka, //视频别名
    language, //语言
    banben, //版本，如HD、高清等
    director, //导演，多个导演用英文逗号,分开，如导演1,导演2,导演3
    stars, //主演，多个主演用英文逗号,分开，如主演1,主演2,主演3
    writer, //编剧，多个编剧用英文逗号,分开，如编剧1,编剧2,编剧3
    tags, //分类标签，多个标签用英文逗号,分开，如剧情,悬疑,搞笑
    summary, //视频简介
    country, //发行地区
    year, //发行年份
    rate, //豆瓣评分
    filename, //自定义下载文件名称，如不传递则随机命名

    #可选参数，可自动入库到剧集，下面3个都必填，如用不到可不用传递；且剧集id可以使用剧集api添加后获取
    tvId, //剧集id，填入后，会在转码完成时，自动添加进剧集
    tvepisodes, //集数，如 01，会在添加进剧集后，自动排序；集数命名要规范，位数和总集数一致，如总集数2位数，则用01、10，3位数用001、010。
    tvepisodesname, //集数，如 01
}

response: {
    success: 1|0,  //1成功，0失败
    id //下载中心数据id，可用于更新api
}

#curl命令使用示例
curl http://127.0.0.1:3000/api/downloadm3u8 -d &amp;quot;name=西游记&amp;amp;category=动作片&amp;amp;url=http://127.0.0.1:8080/1.m3u8&amp;amp;apikey=5c20cEga&amp;amp;type=m3u8&amp;amp;poster=http://127.0.0.1:8080/1.jpg
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意部分参数的格式，切勿乱填，且导入成功后，部分信息不会显示在下载中心，直到下载完成后，会自动将你填入的所有信息入库到视频管理。&lt;/p&gt;
&lt;h5 id=&#34;解析接口配置&#34;&gt;解析接口配置&lt;/h5&gt;
&lt;p&gt;如果获取到的&lt;code&gt;m3u8&lt;/code&gt;需要配合解析接口使用，那么得填入&lt;code&gt;解析接口配置&lt;/code&gt;，格式为：&lt;code&gt;解析参数$解析接口&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;比如我获取到的&lt;code&gt;m3u8&lt;/code&gt;链接为：&lt;code&gt;http://127.0.0.1:8080/1.m3u8&lt;/code&gt;，解析接口为：&lt;code&gt;http://127.0.0.1:3000/api?url=&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;然后访问解析&lt;code&gt;m3u8&lt;/code&gt;的地址，如：&lt;code&gt;http://127.0.0.1:3000/api?url=http://127.0.0.1:8080/1.m3u8&lt;/code&gt;，返回&lt;code&gt;json&lt;/code&gt;数据如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
    code: &#39;200&#39;,
    url: &#39;http://127.0.0.1:8080/9.m3u8&#39;,
    type: &#39;hls&#39;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;且&lt;code&gt;url&lt;/code&gt;参数为解析后获取到的&lt;code&gt;m3u8&lt;/code&gt;链接，那么&lt;code&gt;解析接口配置&lt;/code&gt;就填入：&lt;code&gt;url$http://127.0.0.1:3000/api?url=&lt;/code&gt;，最后下载的时候，会提取解析后的&lt;code&gt;m3u8&lt;/code&gt;进行下载。&lt;/p&gt;
&lt;h3 id=&#34;音频下载&#34;&gt;音频下载&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;POST /api/downloadm3u8

body: {
    #必填参数
    apikey, //转码设置获取
    name, //音频名称，下载完成后自动入库到音频管理的音频名称
    url,  //音频文件链接，支持 mp3、m4a、flac 等
    type,  //下载类型，仅支持传入audio

    #可选参数
    category, //音频分类，不存在会自动创建

    #可选参数，可自动入库到专辑，下面2个都必填，如用不到可不用传递；且专辑id可以使用专辑api添加后获取
    albumId, //专辑id，填入后，会在转码完成时，自动添加进专辑
    albumepisodes, //集数，如 01，会在添加进专辑后，自动排序；集数命名要规范，位数和总集数一致，如总集数2位数，则用01、10，3位数用001、010。
}

response: {
    success: 1|0,  //1成功，0失败
    id //下载中心数据id，可用于更新api
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下载完成后，会自动入库到音频管理，再进行转码切片。&lt;/p&gt;
&lt;h3 id=&#34;修改下载中心的任务数据&#34;&gt;修改下载中心的任务数据&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;POST /api/updatedownload

body: {
    #必填参数，且id和name二选一，只需要传递一个参数即可，用来匹配指定数据
    apikey, //转码设置获取
    id, // 下载中心数据ID，可通过全部数据接口获取id
    name, // 视频名称

    #可选参数，如用不到相关参数可不用传递
    url,  //下载链接，注意如果地址包含&amp;amp;等特殊符号，如果影响到使用，记得转义下
    type,  //下载类型，如m3u8、downloadall、video，且m3u8仅支持下载m3u8链接，video支持mp4、mkv等视频直链，downloadall支持m3u8、mp4、mkv等视频直链和youtube视频地址下载，建议下载M3U8首选m3u8类型，m3u8类型出错就使用downloadall类型下载M3U8。
    poster,  //封面链接，封面仅支持jpg、png、jpeg、webp格式，下载转码后，会自动转换成封面1和封面2；如不填会自动生成封面。
    category, //视频分类，不存在会自动创建
    clientId, //传递一个数据库id，即客户端辨识视频id，当使用通知接口返回信息的时候会返回该id，让你对应并进行数据填充。
    geturl, //解析接口配置，设置详情看下方
    originaltitle, //视频原名
    customHeaders, //自定义请求头，可设置User-Agent、Referer、Cookie等，格式：Header-Name: Header-Value，每行一个，可使用换行符\n分隔。如：User-Agent: xxx\nReferer: xxx。
    aka, //视频别名
    language, //语言
    banben, //版本，如HD、高清等
    director, //导演，多个导演用英文逗号,分开，如导演1,导演2,导演3
    stars, //主演，多个主演用英文逗号,分开，如主演1,主演2,主演3
    writer, //编剧，多个编剧用英文逗号,分开，如编剧1,编剧2,编剧3
    tags, //分类标签，多个标签用英文逗号,分开，如剧情,悬疑,搞笑
    summary, //视频简介
    country, //发行地区
    year, //发行年份
    rate, //豆瓣评分
    filename, //自定义下载文件名称，如不传递则随机命名

    #可选参数，可自动入库到剧集，下面3个都必填，如用不到可不用传递；且剧集id可以使用剧集api添加后获取
    tvId, //剧集id，填入后，会在转码完成时，自动添加进剧集
    tvepisodes, //集数，如 01，会在添加进剧集后，自动排序；集数命名要规范，位数和总集数一致，如总集数2位数，则用01、10，3位数用001、010。
    tvepisodesname, //集数，如 01
}

response: {
    success: 1|0, // 1成功，0失败
    data: [] // 当name对应多条记录时，返回所有匹配的记录ID和name
}

#curl命令使用示例
curl -X POST http://127.0.0.1:3000/api/updatedownload -d &amp;quot;name=西游记&amp;amp;category=动作片&amp;amp;poster=http://127.0.0.1:8080/2.jpg&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意部分参数的格式，切勿乱填，更新成功后，下载状态均会设置成&lt;code&gt;等待下载&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;全部数据获取&#34;&gt;全部数据获取&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#apikey在转码设置下方获取
GET /api/downloadlist?apikey=TBG47Y5X7UQ //默认获取下载中心所有的数据信息，且pagecount为总页数，默认每页20个数据

#可选参数
page //页数，默认为第1页
status //状态，默认为全部，且只能为：下载完成、下载出错、等待下载

#带参数的请求参考
GET /api/downloadlist?apikey=TBG47Y5X7UQ&amp;amp;page=1&amp;amp;status=下载出错
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;下载中心删除接口&#34;&gt;下载中心删除接口&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：apikey和apisecret参数在转码设置下方获取。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;删除单个下载任务&#34;&gt;删除单个下载任务&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#该操作会将下载中心的指定下载任务数据和文件全删除
DELETE: /api/deletedownload

data: {
  apikey,
  apisecret,
  id //下载中心的下载任务id
  name //下载中心的下载任务名称，如有多个同名数据，会一起删除
}

{
&amp;quot;success&amp;quot;: 1|0  //1为删除成功
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;apikey&lt;/code&gt;和&lt;code&gt;apisecret&lt;/code&gt;必传，且&lt;code&gt;id&lt;/code&gt;和&lt;code&gt;name&lt;/code&gt;只需传一个即可。&lt;/p&gt;
&lt;h3 id=&#34;批量删除多个下载任务&#34;&gt;批量删除多个下载任务&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#该操作会批量删除下载中心的指定下载任务数据和文件
POST: /api/batchdeletedownload

data: {
  apikey,
  apisecret,
  items: [
      { id: &amp;quot;下载任务ID1&amp;quot; },
      { id: &amp;quot;下载任务ID2&amp;quot; },
      { name: &amp;quot;下载任务名称1&amp;quot; },
      { name: &amp;quot;下载任务名称2&amp;quot; },
  ]
}

{
&amp;quot;success&amp;quot;: 1,
&amp;quot;message&amp;quot;: &amp;quot;批量删除任务已开始处理&amp;quot;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;apikey&lt;/code&gt;和&lt;code&gt;apisecret&lt;/code&gt;必传，同下载任务的&lt;code&gt;id&lt;/code&gt;和&lt;code&gt;name&lt;/code&gt;只需传一个即可，且多个下载任务&lt;code&gt;id&lt;/code&gt;和&lt;code&gt;name&lt;/code&gt;可混合传递，默认每5个一组进行处理。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 音频专辑管理的专辑数据入库和更新</title>
      <link>https://docs.efvcms.com/docs/api-interface-usage-tutorial/album-save-update/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/api-interface-usage-tutorial/album-save-update/</guid>
      <description>
        
        
        &lt;h2 id=&#34;专辑详情信息入库&#34;&gt;专辑详情信息入库&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;POST /api/postalbum

body: {
    #必填参数
    apikey,      // 转码设置获取
    title,       // 专辑标题
    poster,      // 封面，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。

    #可选参数，如用不到相关参数可不用传递
    episodescount, // 曲目数量/集数，如 12
    category,      // 专辑分类，不存在会自动创建
    author,        // 作者/歌手，多人可用英文逗号,分开，如 歌手1,歌手2
    language,      // 语言，仅限：国语、粤语、英语、日语、韩语、其它，默认 国语
    type,          // 专辑类型，仅限：专辑、EP、单曲、合集、有声书、播客、其它，默认 专辑
    tags,          // 分类标签，多个标签用英文逗号,分开，如 流行,摇滚,华语
    summary,       // 专辑简介
    year           // 发行年份，如 2024
}

response: {
    success: 1|0,  //1成功，并会直接返回专辑的id；0失败
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;专辑详情信息更新&#34;&gt;专辑详情信息更新&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;POST /api/postupalbum

body: {
    #必填参数，且title和id只需要传递一个即可
    apikey,  //api，转码设置获取
    title,   //专辑名称，如果只匹配到一个数据，则直接更新，匹配不到，会自动模糊搜索
    id,      //专辑id

    #可选参数，如用不到相关参数可不用传递
    editname,      //修改专辑名称，传入则修改
    poster,        //封面，仅支持jpg、png、jpeg、webp格式，可为相对或绝对路径，相对路径以切片根目录为参考，如./movies/test.png；也可以为链接，如为链接，则会自动下载并处理。
    episodescount, //曲目数量/集数，如12
    category,      //专辑分类，不存在会自动创建
    author,        //作者/歌手，多人用英文逗号,分开，如 歌手1,歌手2
    language,      //语言，仅限：国语、粤语、英语、日语、韩语、其它
    type,          //专辑类型，仅限：专辑、EP、单曲、合集、有声书、播客、其它
    status,        //专辑状态：lianzai（连载中）、wanjie（完结）
    tags,          //分类标签，多个标签用英文逗号,分开，如 流行,摇滚,华语
    summary,       //专辑简介
    year,          //发行年份，如 2024

    // 可选参数，episodes 曲目/单集列表
    &amp;quot;episodes&amp;quot;: [
        {
            &amp;quot;episode&amp;quot;: &amp;quot;01&amp;quot;,                   // 曲目/单集名称
            &amp;quot;audioid&amp;quot;: &amp;quot;6927dc33b57d659e211c7b58&amp;quot;  // 对应的音频ID
        },
        {
            &amp;quot;episode&amp;quot;: &amp;quot;02&amp;quot;,
            &amp;quot;audioid&amp;quot;: &amp;quot;6927ddc9142fdea1e550965c&amp;quot;
        }
    ]
}

response: {
    success: 1|0,  //1成功，并会直接返回更新专辑的id和名称；0失败
}
&lt;/code&gt;&lt;/pre&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 转码完成和同步完成的视频数据通知</title>
      <link>https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-transcode-sync-callback/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/api-interface-usage-tutorial/video-transcode-sync-callback/</guid>
      <description>
        
        
        &lt;h2 id=&#34;通知域名获取转码信息&#34;&gt;通知域名获取转码信息&lt;/h2&gt;
&lt;p&gt;通知域名的作用就是可以将转码完成的视频所有详细信息传给通知域名。&lt;/p&gt;
&lt;p&gt;先去&lt;code&gt;EFV&lt;/code&gt;后台&lt;code&gt;转码设置&lt;/code&gt;设置一个&lt;code&gt;对接域名&lt;/code&gt;，开启&lt;code&gt;域名通知&lt;/code&gt;即可，如果你想设置多个通知域名，中间请使用英文&lt;code&gt;|&lt;/code&gt;分开。&lt;/p&gt;
&lt;p&gt;且通知方式有&lt;code&gt;2&lt;/code&gt;种，分为手动通知和转码自动通知，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#自动通知
需前往转码设置开启转码完成自动通知，即视频转码完成后，立马会将m3u8链接等信息自动通知到指定域名。

#手动通知
如你此前未开启过转码自动通知，或想先编辑视频或剧集信息后再通知，则可以通过手动发布的方式通知。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;EFV&lt;/code&gt;会将转码完成的视频详细信息&lt;code&gt;JSON&lt;/code&gt;类型&lt;code&gt;POST&lt;/code&gt;到这个域名，您在您的后台只需要针对这个接收&lt;code&gt;API&lt;/code&gt;处理&lt;code&gt;JSON&lt;/code&gt;数据入库您自己的第三方程序数据库即可。&lt;/p&gt;
&lt;h4 id=&#34;注意事项&#34;&gt;注意事项&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;1、开启转码自动通知后，依旧可以使用手动发布再次进行通知，自行在接收端做好重复过滤。
2、发布后，如果想再次通知，可以先下架视频/剧集，重新发布通知；或者使用全部发布功能，然后把再次通知打勾即可。
3、对于已经发布的剧集，如果该剧集有添加新的分集，会自动进行通知，远程需做好相关处理即可。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果你的操作都没问题，但是&lt;code&gt;POST&lt;/code&gt;接口获取不到任何数据，那么可以前往在线接收&lt;code&gt;POST&lt;/code&gt;数据的网站 ⇒ &lt;a href=&#34;https://post.querydata.org/&#34;&gt;传送门&lt;/a&gt;，用来验证数据是否能正常通知，如果正常通知，那么请检查你的接口是否有问题。&lt;/p&gt;
&lt;h3 id=&#34;单个视频接收的json数据&#34;&gt;单个视频接收的JSON数据&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;{
poster2: {
  url: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/poster.jpg&#39;,
  height: 773,
  width: 540
},
count: 23,
retry: false,
autoPublish: false,
director: [ &#39;古桥一浩&#39; ],
writer: [ &#39;古桥一浩&#39; ],
stars: [
  &#39;三宅健太&#39;,  &#39;宫野真守&#39;, &#39;樱井孝宏&#39;,
  &#39;伊藤静&#39;,   &#39;梶裕贵&#39;,  &#39;绵贯龙之介&#39;,
  &#39;濑户麻沙美&#39;, &#39;早见沙织&#39;, &#39;滨野大辉&#39;,
  &#39;柳田淳一&#39;,  &#39;铃木玲子&#39;, &#39;石冢运升&#39;,
  &#39;中井和哉&#39;,  &#39;天崎滉平&#39;, &#39;菅原慎介&#39;,
  &#39;町山芹菜&#39;
],
country: [ &#39;日本&#39; ],
tags: [ &#39;剧情&#39;, &#39;喜剧&#39;, &#39;战争&#39;, &#39;动画&#39; ],
screenshots: [
  &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/0.jpg&#39;,
  &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/2.jpg&#39;,
  &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/1.jpg&#39;,
  &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/3.jpg&#39;
],
_id: &#39;61ffbfbb9b36dd00c878b4a1&#39;,
originalname: &#39;窈窕淑女前篇：红绪，花样的17岁&#39;,
status: &#39;finished&#39;,
path: &#39;./movies/Haikara-san ga Toru the movie.mkv&#39;,
category: &#39;日本动漫&#39;,
size: &#39;5497612960&#39;,
createAt: &#39;2022-02-16T09:25:49.733Z&#39;,
m3u8paths: [
  {
    _id: &#39;6200c8949dc15a00c15be7db&#39;,
    hd: 640,
    path: &#39;./public/videos/202202/07/61ffbfbb9b36dd00c878b4a1/8f89fb/index.m3u8&#39;
  },
  {
    _id: &#39;6200cc499dc15a00c15be809&#39;,
    hd: 1280,
    path: &#39;./public/videos/202202/07/61ffbfbb9b36dd00c878b4a1/08cad8/index.m3u8&#39;
  }
],
thirdm3u8: [],
__v: 1,
height: 1080,
width: 1920,
duration: &#39;97分钟&#39;,
moviepath: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1&#39;,
gif: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/1.gif&#39;,
previewvideo: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/preview.mp4&#39;,
poster: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/cover.jpg&#39;,
firstScreen: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/first.jpg&#39;,
aka: &#39;&#39;,
banben: &#39;HD&#39;,
language: &#39;日语&#39;,
originaltitle: &#39;劇場版 はいからさんが通る 前編 ～紅緒、花の17歳～&#39;,
rate: 7.5,
summary: &#39;根据70年代大受欢迎的少女漫画《窈窕淑女》改编的剧场版动画，《窈窕淑女》的题目字面意思出自诗经：“窈窕淑女，君子好逑&amp;amp;#34;。大和和纪的《窈窕淑女》是1977年的少女漫画优秀杰作，曾经红极一时。讲述了一个关...&#39;,
year: 2017
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意&lt;code&gt;m3u8paths&lt;/code&gt;里边的&lt;code&gt;hd&lt;/code&gt;参数，&lt;code&gt;320&lt;/code&gt;为&lt;code&gt;240P&lt;/code&gt;、&lt;code&gt;480&lt;/code&gt;为&lt;code&gt;360P&lt;/code&gt;、&lt;code&gt;640&lt;/code&gt;为&lt;code&gt;480P&lt;/code&gt;、&lt;code&gt;1138&lt;/code&gt;为&lt;code&gt;640P&lt;/code&gt;、&lt;code&gt;1280&lt;/code&gt;为&lt;code&gt;720P&lt;/code&gt;、&lt;code&gt;1920&lt;/code&gt;为&lt;code&gt;1080P&lt;/code&gt;、&lt;code&gt;2560&lt;/code&gt;为&lt;code&gt;2K&lt;/code&gt;、&lt;code&gt;3840&lt;/code&gt;为&lt;code&gt;4K&lt;/code&gt;、&lt;code&gt;20000&lt;/code&gt;为原画，&lt;code&gt;path&lt;/code&gt;参数为&lt;code&gt;M3U8&lt;/code&gt;路径，需自行移除&lt;code&gt;./public&lt;/code&gt;后，拼接下域名就可以使用了。&lt;/p&gt;
&lt;h3 id=&#34;剧集接收的json数据&#34;&gt;剧集接收的JSON数据&lt;/h3&gt;
&lt;p&gt;由于剧集需要先整理分集，所以暂时没自动发布，只能通过手动点击正式发布，才会通知到域名。&lt;/p&gt;
&lt;p&gt;如果剧集发布后，后面该剧集有添加新的分集，会自动再次&lt;code&gt;post&lt;/code&gt;到接口，远程做好重新处理就行。&lt;/p&gt;
&lt;p&gt;数据如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
poster2: {
    url: &#39;/poster/623eaaf9b1d50c9badb2f47b-poster2.jpg&#39;,
    height: 763,
    width: 540
},
count: 263,
director: [ &#39;中山敦史&#39;, &#39;山本裕介&#39;, &#39;名和宗则&#39;, &#39;森义博&#39;, &#39;重原克也&#39; ],
writer: [ &#39;木村畅&#39;, &#39;横手美智子&#39; ],
stars: [
    &#39;兴津和幸&#39;,   &#39;小野大辅&#39;,   &#39;伊藤静&#39;,
    &#39;大原沙耶香&#39;, &#39;麦人&#39;,       &#39;田中敦子&#39;,
    &#39;土师孝也&#39;,   &#39;中村悠一&#39;,   &#39;高桥李依&#39;,
    &#39;稻田彻&#39;,     &#39;绵贯龙之介&#39;, &#39;野濑育二&#39;,
    &#39;松冈祯丞&#39;,   &#39;千本木彩花&#39;, &#39;加隈亚衣&#39;,
    &#39;田村由香里&#39;, &#39;柳田淳一&#39;,   &#39;相马康一&#39;,
    &#39;手冢弘道&#39;,   &#39;井上喜久子&#39;, &#39;菅生隆之&#39;,
    &#39;大桥彩香&#39;,   &#39;朝井彩加&#39;,   &#39;阪口大助&#39;,
    &#39;樱井浩美&#39;,   &#39;天崎滉平&#39;,   &#39;菅原慎介&#39;,
    &#39;木下浩之&#39;,   &#39;千叶进步&#39;,   &#39;松本忍&#39;,
    &#39;松风雅也&#39;,   &#39;岩泽俊树&#39;,   &#39;内匠靖明&#39;,
    &#39;木内太郎&#39;,   &#39;伊丸冈笃&#39;,   &#39;池田胜&#39;,
    &#39;潘惠子&#39;,     &#39;深川和征&#39;
],
country: [ &#39;日本&#39; ],
tags: [ &#39;动画&#39;, &#39;奇幻&#39; ],
published: &#39;waiting&#39;,
_id: &#39;623eaaf9b1d50c9badb2f47b&#39;,
title: &#39;骑士＆魔法&#39;,
originaltitle: &#39;ナイツ&amp;amp;amp;マジック&#39;,
aka: &amp;quot;Knight&#39;s Magic&amp;quot;,
year: 2017,
duration: &#39;24分钟&#39;,
episodescount: &#39;13&#39;,
language: &#39;日语&#39;,
rate: 6.6,
summary: &#39;能干的程序员，同时是重度机器人宅的青年，转生到了巨大机器人“幻晶骑士（Silhouette Knight）”震动大地的骑士与魔法的异世界！？以艾尔涅斯帝·埃切贝里亚的身份转生的他，活用丰富的机械知识...&#39;,
status: &#39;wanjie&#39;,
zhouqi: &#39;&#39;,
episodes: [
    {
    _id: &#39;62777218e7a65ed82225e5bc&#39;,
    episode: &#39;01&#39;,
    movieid: &#39;62010cfa471273018072295a&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5bd&#39;,
    episode: &#39;02&#39;,
    movieid: &#39;62010cfa471273018072295b&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5be&#39;,
    episode: &#39;03&#39;,
    movieid: &#39;62010cfa471273018072295c&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5bf&#39;,
    episode: &#39;04&#39;,
    movieid: &#39;62010cfa471273018072295d&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c0&#39;,
    episode: &#39;05&#39;,
    movieid: &#39;62010cfa471273018072295f&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c1&#39;,
    episode: &#39;06&#39;,
    movieid: &#39;62010cfa4712730180722960&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c2&#39;,
    episode: &#39;07&#39;,
    movieid: &#39;62010cfa4712730180722961&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c3&#39;,
    episode: &#39;08&#39;,
    movieid: &#39;62010cfa4712730180722963&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c4&#39;,
    episode: &#39;09&#39;,
    movieid: &#39;62010cfa4712730180722964&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c5&#39;,
    episode: &#39;10&#39;,
    movieid: &#39;62010cfa4712730180722959&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c6&#39;,
    episode: &#39;11&#39;,
    movieid: &#39;62010cfa4712730180722965&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c7&#39;,
    episode: &#39;12&#39;,
    movieid: &#39;62010cfa471273018072295e&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c8&#39;,
    episode: &#39;13&#39;,
    movieid: &#39;62010cfa4712730180722962&#39;
    }
],
createAt: &#39;2022-05-08T07:32:40.856Z&#39;,
__v: 0,
poster: &#39;/poster/623eaaf9b1d50c9badb2f47b-poster.jpg&#39;,
category: &#39;日本动漫&#39;,
updateAt: &#39;2023-01-16T16:01:40.804Z&#39;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里剧集数据只会返回该剧集详情信息和所有单集的&lt;code&gt;视频id&lt;/code&gt;，不会返回其&lt;code&gt;M3U8链接&lt;/code&gt;，且&lt;code&gt;episodes&lt;/code&gt;数组为集数信息，&lt;code&gt;movieid&lt;/code&gt;为对应的&lt;code&gt;视频id&lt;/code&gt;，然后可以通过以下方法获取单集的&lt;code&gt;M3U8链接&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、获取单集的自适应M3U8，拼接格式：/movie/auto/ + 视频id + .m3u8
/movie/auto/679f0dd2ce4be83f7186d431.m3u8

2、获取某剧集里所有单集的视频详情信息，包括截图、M3U8链接等，apikey前往转码设置获取，tvid为该剧集id。
剧集里面的所有集数的详情信息获取接口：/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;tvid=681983c5a0934b5dad7b0ae7，获取后再通过对应的视频id入库
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;自适应M3U8&lt;/code&gt;和&lt;code&gt;分辨率M3U8&lt;/code&gt;都可以用，图方便就用&lt;code&gt;自适应M3U8&lt;/code&gt;，有其他需求就用&lt;code&gt;分辨率M3U8&lt;/code&gt;，不了解&lt;code&gt;自适应M3U8&lt;/code&gt;的可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/multi-bitrate-settings-and-adaptive-m3u8/#%E8%87%AA%E9%80%82%E5%BA%94m3u8%E8%AF%B4%E6%98%8E&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;同步完成获取转码信息&#34;&gt;同步完成获取转码信息&lt;/h2&gt;
&lt;p&gt;先去&lt;code&gt;EFV&lt;/code&gt;后台&lt;code&gt;转码设置&lt;/code&gt;开启&lt;code&gt;域名通知&lt;/code&gt;和&lt;code&gt;同步完成通知&lt;/code&gt;，再设置一个&lt;code&gt;对接域名&lt;/code&gt;，如果你想设置多个通知域名，中间请使用英文&lt;code&gt;|&lt;/code&gt;分开。&lt;/p&gt;
&lt;p&gt;当每一个视频同步完成后，&lt;code&gt;EFV&lt;/code&gt;会将视频的详细信息&lt;code&gt;JSON&lt;/code&gt;类型&lt;code&gt;POST&lt;/code&gt;到这个域名，您在您的后台只需要针对这个接收&lt;code&gt;API&lt;/code&gt;处理&lt;code&gt;JSON&lt;/code&gt;数据入库您自己的第三方程序数据库即可。&lt;/p&gt;
&lt;h3 id=&#34;单个视频接收的json数据-1&#34;&gt;单个视频接收的JSON数据&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;{
poster2: {
  url: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/poster.jpg&#39;,
  height: 773,
  width: 540
},
count: 23,
retry: false,
autoPublish: false,
director: [ &#39;古桥一浩&#39; ],
writer: [ &#39;古桥一浩&#39; ],
stars: [
  &#39;三宅健太&#39;,  &#39;宫野真守&#39;, &#39;樱井孝宏&#39;,
  &#39;伊藤静&#39;,   &#39;梶裕贵&#39;,  &#39;绵贯龙之介&#39;,
  &#39;濑户麻沙美&#39;, &#39;早见沙织&#39;, &#39;滨野大辉&#39;,
  &#39;柳田淳一&#39;,  &#39;铃木玲子&#39;, &#39;石冢运升&#39;,
  &#39;中井和哉&#39;,  &#39;天崎滉平&#39;, &#39;菅原慎介&#39;,
  &#39;町山芹菜&#39;
],
country: [ &#39;日本&#39; ],
tags: [ &#39;剧情&#39;, &#39;喜剧&#39;, &#39;战争&#39;, &#39;动画&#39; ],
screenshots: [
  &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/0.jpg&#39;,
  &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/2.jpg&#39;,
  &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/1.jpg&#39;,
  &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/3.jpg&#39;
],
_id: &#39;61ffbfbb9b36dd00c878b4a1&#39;,
originalname: &#39;窈窕淑女前篇：红绪，花样的17岁&#39;,
status: &#39;finished&#39;,
path: &#39;./movies/Haikara-san ga Toru the movie.mkv&#39;,
category: &#39;日本动漫&#39;,
size: &#39;5497612960&#39;,
createAt: &#39;2022-02-16T09:25:49.733Z&#39;,
m3u8paths: [
  {
    _id: &#39;6200c8949dc15a00c15be7db&#39;,
    hd: 640,
    path: &#39;./public/videos/202202/07/61ffbfbb9b36dd00c878b4a1/8f89fb/index.m3u8&#39;
  },
  {
    _id: &#39;6200cc499dc15a00c15be809&#39;,
    hd: 1280,
    path: &#39;./public/videos/202202/07/61ffbfbb9b36dd00c878b4a1/08cad8/index.m3u8&#39;
  }
],
thirdm3u8: [],
__v: 1,
height: 1080,
width: 1920,
duration: &#39;97分钟&#39;,
moviepath: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1&#39;,
gif: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/1.gif&#39;,
previewvideo: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/preview.mp4&#39;,
poster: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/cover.jpg&#39;,
firstScreen: &#39;/videos/202202/07/61ffbfbb9b36dd00c878b4a1/first.jpg&#39;,
aka: &#39;&#39;,
banben: &#39;HD&#39;,
language: &#39;日语&#39;,
originaltitle: &#39;劇場版 はいからさんが通る 前編 ～紅緒、花の17歳～&#39;,
rate: 7.5,
summary: &#39;根据70年代大受欢迎的少女漫画《窈窕淑女》改编的剧场版动画，《窈窕淑女》的题目字面意思出自诗经：“窈窕淑女，君子好逑&amp;amp;#34;。大和和纪的《窈窕淑女》是1977年的少女漫画优秀杰作，曾经红极一时。讲述了一个关...&#39;,
year: 2017
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意&lt;code&gt;m3u8paths&lt;/code&gt;里边的&lt;code&gt;hd&lt;/code&gt;参数，&lt;code&gt;320&lt;/code&gt;为&lt;code&gt;240P&lt;/code&gt;、&lt;code&gt;480&lt;/code&gt;为&lt;code&gt;360P&lt;/code&gt;、&lt;code&gt;640&lt;/code&gt;为&lt;code&gt;480P&lt;/code&gt;、&lt;code&gt;1138&lt;/code&gt;为&lt;code&gt;640P&lt;/code&gt;、&lt;code&gt;1280&lt;/code&gt;为&lt;code&gt;720P&lt;/code&gt;、&lt;code&gt;1920&lt;/code&gt;为&lt;code&gt;1080P&lt;/code&gt;、&lt;code&gt;2560&lt;/code&gt;为&lt;code&gt;2K&lt;/code&gt;、&lt;code&gt;20000&lt;/code&gt;为原画。&lt;/p&gt;
&lt;h3 id=&#34;剧集接收的json数据-1&#34;&gt;剧集接收的JSON数据&lt;/h3&gt;
&lt;p&gt;提示：这里仅仅只是剧集里面封面同步完成后的通知，不包括单集同步。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
poster2: {
    url: &#39;/poster/623eaaf9b1d50c9badb2f47b-poster2.jpg&#39;,
    height: 763,
    width: 540
},
count: 263,
director: [ &#39;中山敦史&#39;, &#39;山本裕介&#39;, &#39;名和宗则&#39;, &#39;森义博&#39;, &#39;重原克也&#39; ],
writer: [ &#39;木村畅&#39;, &#39;横手美智子&#39; ],
stars: [
    &#39;兴津和幸&#39;,   &#39;小野大辅&#39;,   &#39;伊藤静&#39;,
    &#39;大原沙耶香&#39;, &#39;麦人&#39;,       &#39;田中敦子&#39;,
    &#39;土师孝也&#39;,   &#39;中村悠一&#39;,   &#39;高桥李依&#39;,
    &#39;稻田彻&#39;,     &#39;绵贯龙之介&#39;, &#39;野濑育二&#39;,
    &#39;松冈祯丞&#39;,   &#39;千本木彩花&#39;, &#39;加隈亚衣&#39;,
    &#39;田村由香里&#39;, &#39;柳田淳一&#39;,   &#39;相马康一&#39;,
    &#39;手冢弘道&#39;,   &#39;井上喜久子&#39;, &#39;菅生隆之&#39;,
    &#39;大桥彩香&#39;,   &#39;朝井彩加&#39;,   &#39;阪口大助&#39;,
    &#39;樱井浩美&#39;,   &#39;天崎滉平&#39;,   &#39;菅原慎介&#39;,
    &#39;木下浩之&#39;,   &#39;千叶进步&#39;,   &#39;松本忍&#39;,
    &#39;松风雅也&#39;,   &#39;岩泽俊树&#39;,   &#39;内匠靖明&#39;,
    &#39;木内太郎&#39;,   &#39;伊丸冈笃&#39;,   &#39;池田胜&#39;,
    &#39;潘惠子&#39;,     &#39;深川和征&#39;
],
country: [ &#39;日本&#39; ],
tags: [ &#39;动画&#39;, &#39;奇幻&#39; ],
published: &#39;waiting&#39;,
_id: &#39;623eaaf9b1d50c9badb2f47b&#39;,
title: &#39;骑士＆魔法&#39;,
originaltitle: &#39;ナイツ&amp;amp;amp;マジック&#39;,
aka: &amp;quot;Knight&#39;s Magic&amp;quot;,
year: 2017,
duration: &#39;24分钟&#39;,
episodescount: &#39;13&#39;,
language: &#39;日语&#39;,
rate: 6.6,
summary: &#39;能干的程序员，同时是重度机器人宅的青年，转生到了巨大机器人“幻晶骑士（Silhouette Knight）”震动大地的骑士与魔法的异世界！？以艾尔涅斯帝·埃切贝里亚的身份转生的他，活用丰富的机械知识...&#39;,
status: &#39;wanjie&#39;,
zhouqi: &#39;&#39;,
episodes: [
    {
    _id: &#39;62777218e7a65ed82225e5bc&#39;,
    episode: &#39;01&#39;,
    movieid: &#39;62010cfa471273018072295a&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5bd&#39;,
    episode: &#39;02&#39;,
    movieid: &#39;62010cfa471273018072295b&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5be&#39;,
    episode: &#39;03&#39;,
    movieid: &#39;62010cfa471273018072295c&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5bf&#39;,
    episode: &#39;04&#39;,
    movieid: &#39;62010cfa471273018072295d&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c0&#39;,
    episode: &#39;05&#39;,
    movieid: &#39;62010cfa471273018072295f&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c1&#39;,
    episode: &#39;06&#39;,
    movieid: &#39;62010cfa4712730180722960&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c2&#39;,
    episode: &#39;07&#39;,
    movieid: &#39;62010cfa4712730180722961&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c3&#39;,
    episode: &#39;08&#39;,
    movieid: &#39;62010cfa4712730180722963&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c4&#39;,
    episode: &#39;09&#39;,
    movieid: &#39;62010cfa4712730180722964&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c5&#39;,
    episode: &#39;10&#39;,
    movieid: &#39;62010cfa4712730180722959&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c6&#39;,
    episode: &#39;11&#39;,
    movieid: &#39;62010cfa4712730180722965&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c7&#39;,
    episode: &#39;12&#39;,
    movieid: &#39;62010cfa471273018072295e&#39;
    },
    {
    _id: &#39;62777218e7a65ed82225e5c8&#39;,
    episode: &#39;13&#39;,
    movieid: &#39;62010cfa4712730180722962&#39;
    }
],
createAt: &#39;2022-05-08T07:32:40.856Z&#39;,
__v: 0,
poster: &#39;/poster/623eaaf9b1d50c9badb2f47b-poster.jpg&#39;,
category: &#39;日本动漫&#39;,
updateAt: &#39;2023-01-16T16:01:40.804Z&#39;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里剧集数据只会返回该剧集详情信息和所有单集的&lt;code&gt;视频id&lt;/code&gt;，不会返回其&lt;code&gt;M3U8链接&lt;/code&gt;，且&lt;code&gt;episodes&lt;/code&gt;数组为集数信息，&lt;code&gt;movieid&lt;/code&gt;为对应的&lt;code&gt;视频id&lt;/code&gt;，然后可以通过以下方法获取单集的&lt;code&gt;M3U8链接&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、获取单集的自适应M3U8链接，拼接格式：/movie/auto/ + 视频id + .m3u8
/movie/auto/679f0dd2ce4be83f7186d431.m3u8

2、获取某剧集里所有单集的视频详情信息，包括截图、分辨率M3U8链接等，apikey前往转码设置获取，tvid为该剧集id。
剧集里面的所有集数的详情信息获取接口：/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;tvid=681983c5a0934b5dad7b0ae7，获取后再通过对应的视频id入库
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;自适应M3U8&lt;/code&gt;和&lt;code&gt;分辨率M3U8&lt;/code&gt;都可以用，图方便就用&lt;code&gt;自适应M3U8&lt;/code&gt;，有其他需求就用&lt;code&gt;分辨率M3U8&lt;/code&gt;，不了解&lt;code&gt;自适应M3U8&lt;/code&gt;的可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/multi-bitrate-settings-and-adaptive-m3u8/#%E8%87%AA%E9%80%82%E5%BA%94m3u8%E8%AF%B4%E6%98%8E&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: M3U8播放失败等问题</title>
      <link>https://docs.efvcms.com/docs/troubleshooting-transcoding-errors/m3u8-playback-failure-or-stuttering-issues/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/troubleshooting-transcoding-errors/m3u8-playback-failure-or-stuttering-issues/</guid>
      <description>
        
        
        &lt;p&gt;引起播放失败的原因有很多种，请先把这个文档页面看完了，再根据自身情况进行查找和修复问题。&lt;/p&gt;
&lt;h3 id=&#34;播放失败的常见问题&#34;&gt;播放失败的常见问题&lt;/h3&gt;
&lt;p&gt;如果出现&lt;code&gt;M3U8&lt;/code&gt;播放失败的问题，推荐在&lt;code&gt;pc&lt;/code&gt;上使用谷歌浏览器打开播放页面，按下&lt;code&gt;f12&lt;/code&gt;，点击播放的时候查看控制台，常见问题如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/m3u8s1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;这种需要给&lt;code&gt;EFV&lt;/code&gt;绑定的域名开启&lt;code&gt;SSL&lt;/code&gt;，强制&lt;code&gt;https&lt;/code&gt;访问，然后在其它网站填写&lt;code&gt;M3U8&lt;/code&gt;链接的时候，也用&lt;code&gt;https&lt;/code&gt;，如果是采集的话，那么将转码设置的域名设置，修改成&lt;code&gt;https&lt;/code&gt;即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/m3u8s2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;这种就是跨域问题，一般如果你没有在&lt;code&gt;防盗链/图片加密设置&lt;/code&gt; 设置&lt;code&gt;引用域名&lt;/code&gt;，默认是不会跨域的；当然你要是设置了，且播放域名在&lt;code&gt;引用域名&lt;/code&gt;列表，也是不会跨域的。如果引用域名都正常，且你是使用&lt;code&gt;nginx&lt;/code&gt;绑定&lt;code&gt;EFV&lt;/code&gt;，则可以更换&lt;code&gt;nginx&lt;/code&gt;版本试试，或者直接卸载&lt;code&gt;nginx&lt;/code&gt;，使用&lt;code&gt;EFV&lt;/code&gt;自带的网站管理，可解决该问题。&lt;/p&gt;
&lt;h3 id=&#34;自适应m3u8播放不了&#34;&gt;自适应M3U8播放不了&lt;/h3&gt;
&lt;p&gt;自适应&lt;code&gt;M3U8&lt;/code&gt;播放需要转码设置的&lt;code&gt;设置域名&lt;/code&gt;填写正确，不然会播放不了，可前往转码设置检查下设置域名是否正确，自适应介绍 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/multi-bitrate-settings-and-adaptive-m3u8/#%E8%87%AA%E9%80%82%E5%BA%94m3u8%E8%AF%B4%E6%98%8E&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;开启切片广告后播放不了&#34;&gt;开启切片广告后播放不了&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;提示：最新版已优化该功能，并解决了该问题，如出现请更新到最新版，并且重新添加切片广告即可。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果开启切片广告后播放不了，但关掉后可以播放，则可以确定为该问题。&lt;/p&gt;
&lt;p&gt;目前已知问题就是广告视频和转码后的视频在分辨率上相差太大，导致兼容性出现问题，可以换个分辨率相差不大的广告视频试试。&lt;/p&gt;
&lt;h3 id=&#34;开启图片伪装后播放不了&#34;&gt;开启图片伪装后播放不了&lt;/h3&gt;
&lt;p&gt;如果&lt;code&gt;EFV&lt;/code&gt;后台的预览地址可以播放，但只是你的第三方程序播放不了，可能就是你那边用的播放器&lt;code&gt;hls.min.js&lt;/code&gt;或者&lt;code&gt;hls.js&lt;/code&gt;版本过旧，更新下该文件即可，推荐版本：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#可用版本
https://cdn.bootcdn.net/ajax/libs/hls.js/0.14.1/hls.min.js
https://cdn.bootcdn.net/ajax/libs/hls.js/0.14.1/hls.js
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;开启防盗链后播放不了&#34;&gt;开启防盗链后播放不了&lt;/h3&gt;
&lt;p&gt;有些防盗链需要自己亲自对接后才能正常播放，相关防盗链介绍及使用 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/video-anti-theft-anti-playback-and-image-encryption/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;app或ios不能播放&#34;&gt;APP或IOS不能播放&lt;/h3&gt;
&lt;p&gt;1、如果在&lt;code&gt;防盗链/图片加密设置&lt;/code&gt;中开启了&lt;code&gt;TS&lt;/code&gt;防下载合并功能，试试关闭看看。&lt;/p&gt;
&lt;p&gt;2、切片域名未开启&lt;code&gt;SSL&lt;/code&gt;证书，必须开启，并使用&lt;code&gt;https&lt;/code&gt;域名，如果已开启，可能是域名&lt;code&gt;ssl&lt;/code&gt;证书链有问题，域名证书检测 ⇒ &lt;a href=&#34;https://myssl.com/&#34;&gt;传送门&lt;/a&gt;，如果检测超时，或提示证书链等问题，则为该问题，可以自己补全下证书链，或重新签发证书。&lt;/p&gt;
&lt;h2 id=&#34;其它播放问题&#34;&gt;其它播放问题&lt;/h2&gt;
&lt;h3 id=&#34;m3u8播放出现跳帧问题&#34;&gt;M3U8播放出现跳帧问题&lt;/h3&gt;
&lt;p&gt;可能播放器问题，目前已知阿里云播放器播放&lt;code&gt;TS&lt;/code&gt;加密的切片会出现跳帧问题，可前往转码设置，开启&lt;code&gt;HLS播放优化&lt;/code&gt;功能，没该选项的需更新到最新版，如解决不了，可尝试更换播放器。&lt;/p&gt;
&lt;h3 id=&#34;m3u8播放卡住或快进卡住&#34;&gt;M3U8播放卡住或快进卡住&lt;/h3&gt;
&lt;p&gt;1、如果是秒切的&lt;code&gt;M3U8&lt;/code&gt;，则可能是源片有问题，关掉秒切，直接转码矫正下试试，如果转码后不出现，则源片有点问题，直接使用转码即可。&lt;/p&gt;
&lt;p&gt;2、排除上面的问题后，则可能是网络不好或者并发太高。&lt;/p&gt;
&lt;h3 id=&#34;m3u8播放出现画面抖动&#34;&gt;m3u8播放出现画面抖动&lt;/h3&gt;
&lt;p&gt;1、如果是秒切的&lt;code&gt;M3U8&lt;/code&gt;，则可能是源片有问题，关掉秒切，直接转码矫正下试试，如果转码后不出现，则源片有点问题，直接使用转码即可。&lt;/p&gt;
&lt;p&gt;2、如果秒切和转码都出现抖动，可以试试换片源，如果换了还是出现，可能是服务器硬件有瑕疵，可以去我们的演示站测试，确定可以更换服务器。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: srt和ass字幕烧录教程</title>
      <link>https://docs.efvcms.com/docs/transcoding-function-details/srt-ass-subtitle-burning-tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/transcoding-function-details/srt-ass-subtitle-burning-tutorial/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：烧录字幕必须要转码下才生效，秒切是无效的，也就不会给你烧录任何字幕。
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;srt和ass字幕入库&#34;&gt;srt和ass字幕入库&lt;/h2&gt;
&lt;p&gt;即将服务器的字幕文件入库烧录，具体说明和操作可查看 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/transcode-server-files-for-ingestion/#%E5%85%A5%E5%BA%93%E7%83%A7%E5%BD%95ass%E5%92%8Csrt%E5%AD%97%E5%B9%95&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;后台上传字幕&#34;&gt;后台上传字幕&lt;/h2&gt;
&lt;p&gt;目前支持&lt;code&gt;ass&lt;/code&gt;和&lt;code&gt;srt&lt;/code&gt;字幕，字幕和视频同名会自动匹配，如&lt;code&gt;西游记.mp4&lt;/code&gt;、&lt;code&gt;西游记.ass&lt;/code&gt;，匹配后会在视频转码期间自动烧录字幕。&lt;/p&gt;
&lt;h2 id=&#34;自动提取字幕&#34;&gt;自动提取字幕&lt;/h2&gt;
&lt;p&gt;如果你的视频包含字幕流，比如&lt;code&gt;mkv&lt;/code&gt;等，可点击&lt;code&gt;EFV&lt;/code&gt;后台左侧 ⇒ 转码相关 ⇒ 开启&lt;code&gt;自动提取字幕&lt;/code&gt;功能。&lt;/p&gt;
&lt;p&gt;开启该功能后，系统会优先判断是否存在字幕文件，即有没有入库或后台上传过字幕文件，如都没有，则会在转码的时候自动提取&lt;code&gt;srt&lt;/code&gt;或&lt;code&gt;ass&lt;/code&gt;字幕文件，并烧录进视频中；如有多个字幕，默认提取第一个字幕，且优先提取中文字幕。&lt;/p&gt;
&lt;h2 id=&#34;筛选字幕烧录&#34;&gt;筛选字幕烧录&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：该功能可指定烧录带语言标识的字幕文件，即无需和视频同名，适用于入库字幕和BT管理下载带字幕的视频，暂不支持后台上传。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一般字幕文件需和视频同名才会被烧录，如果你的字幕文件有一到多个，且都带有语言标识，也就是和视频不完全同名，可前往&lt;code&gt;转码设置&lt;/code&gt;设置&lt;code&gt;筛选字幕烧录&lt;/code&gt;功能项，可以烧录指定语言的字幕文件。&lt;/p&gt;
&lt;p&gt;设置格式&lt;code&gt;zh-Hans&lt;/code&gt;、&lt;code&gt;zh-Hans|BluRay&lt;/code&gt;或&lt;code&gt;zh-Hans|BluRay|forced&lt;/code&gt;，支持&lt;code&gt;N&lt;/code&gt;个关键词，且多个关键词使用&lt;code&gt;|&lt;/code&gt;分开，参数详解：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、如设置zh-Hans，则会匹配同时包含视频名称和zh-Hans的字幕文件，如：
西游记.mp4
西游记.zh-Hans.ass
西游记.zh-Hant.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.ass

2、如设置zh-Hans|BluRay，则会匹配同时包含视频名称、zh-Hans和BluRay的字幕文件，如：
西游记.mp4
西游记.zh-Hans.ass
西游记.zh-Hant.ass
西游记.zh-Hans.BluRay.ass
西游记.zh-Hant.BluRay.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.BluRay.ass

3、如设置zh-Hans|BluRay|forced，则会匹配同时包含视频名称、zh-Hans、BluRay和forced的字幕文件，如：
西游记.mp4
西游记.zh-Hans.ass
西游记.zh-Hant.ass
西游记.zh-Hans.BluRay.ass
西游记.zh-Hant.BluRay.ass
西游记.zh-Hans.BluRay.forced.ass
西游记.zh-Hant.BluRay.forced.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.BluRay.forced.ass
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;该设置项为递进筛选，通常第一个关键词为语言，如果第一个关键词没有筛选到任何字幕文件，则不会继续筛选，会默认使用和视频同名的字幕文件。&lt;/p&gt;
&lt;p&gt;如果第一个关键词只筛选出一个字幕文件，则不会继续筛选，会默认使用该字幕文件。&lt;/p&gt;
&lt;p&gt;如果第一个关键词筛选出多个字幕文件，则会使用第二个关键词从选出的字幕文件继续筛选，直到只选出一个字幕文件后不会继续筛选，会默认使用该字幕文件；当关键词都用完了，还是有多个字幕文件符合，则会随机使用其中一个字幕文件。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 采集下载器类型参考</title>
      <link>https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/reference-for-collecting-downloader-types/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/mac-cms-publishing-tutorial/reference-for-collecting-downloader-types/</guid>
      <description>
        
        
        &lt;p&gt;可前往苹果&lt;code&gt;CMS&lt;/code&gt;后台，再点击最上面导航的&lt;code&gt;视频&lt;/code&gt;栏目，在左侧找到&lt;code&gt;下载器&lt;/code&gt;，每个下载器的编码就可以直接看到了，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/downcjapi.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;然后将你要使用的下载器编码，填入到采集设置页面的下载器选项。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 程序重启等相关命令</title>
      <link>https://docs.efvcms.com/docs/getting-started/program-startup-restart-commands/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/getting-started/program-startup-restart-commands/</guid>
      <description>
        
        
        &lt;p&gt;使用脚本安装后，程序已经启动，并配置好了开机自启，无需再次启动。&lt;/p&gt;
&lt;p&gt;如果运行以下命令提示&lt;code&gt;-bash: pm2: command not found&lt;/code&gt;，则需要先运行一下&lt;code&gt;source /etc/profile&lt;/code&gt;，然重新运行即可。&lt;/p&gt;
&lt;h2 id=&#34;启动和重启的区别&#34;&gt;启动和重启的区别&lt;/h2&gt;
&lt;p&gt;启动的前提是需要程序的&lt;code&gt;pm2&lt;/code&gt;进程不存在，可以使用&lt;code&gt;pm2 list&lt;/code&gt;命令查看相关进程，如果有看到&lt;code&gt;name&lt;/code&gt;为&lt;code&gt;efvcms&lt;/code&gt;的，则为进程存在。&lt;/p&gt;
&lt;p&gt;如果进程存在则不能使用启动命令，需要使用&lt;code&gt;pm2 restart efvcms&lt;/code&gt;重启命令；或者使用&lt;code&gt;pm2 kill&lt;/code&gt;命令杀掉进程，再使用启动命令运行程序。&lt;/p&gt;
&lt;h2 id=&#34;启动命令&#34;&gt;启动命令&lt;/h2&gt;
&lt;p&gt;比如我的程序安装的路径为&lt;code&gt;/home/express-ffmpeg&lt;/code&gt;，相关命令为：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#先进入程序目录，请根据你的安装情况修改目录路径
cd /home/express-ffmpeg

#启动命令，这里会启动EFV相关的所有进程
export PATH=python3/bin:$PATH &amp;amp;&amp;amp; pm2 start ecosystem.config.js --env production
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;重启命令&#34;&gt;重启命令&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;#重启全部进程，包括EFV程序，网站管理部分、BT管理部分
pm2 restart all

#只重启EFV程序
pm2 restart efvcms
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;关闭命令&#34;&gt;关闭命令&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;#关闭全部进程
pm2 kill

#关闭EFV程序
pm2 del efvcms

#关闭网站管理功能，如果你不用程序自带的网站管理功能可以关闭
pm2 del caddyserver

#关闭BT下载功能，如果你不用程序自带的BT管理功能可以关闭
pm2 del aria2c
pm2 del aria2server

#关闭FTP功能，如果你不用FTP多用户上传功能可以关闭
pm2 del ftpserver
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关闭后再使用&lt;code&gt;pm2 save&lt;/code&gt;命令刷新现有进程。&lt;/p&gt;
&lt;p&gt;注意如果关闭后，你想再次启动相关功能，可以先关闭全部进程，然后看上方的启动教程，重新启动全部进程。&lt;/p&gt;
&lt;h2 id=&#34;查看日志&#34;&gt;查看日志&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;#查看EFV程序运行日志
pm2 log efvcms

#查看网站管理日志，如果网站管理绑定域名后打不开，可以查看日志报错
pm2 log caddyserver

#查看BT下载日志，如果你想查看BT管理的下载等进程，可以查看
pm2 log aria2c
pm2 log aria2server

#查看FTP功能日志，如果你想查看FTP运行进程，可以查看
pm2 log ftpserver
&lt;/code&gt;&lt;/pre&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 横屏APP设置及注意事项</title>
      <link>https://docs.efvcms.com/docs/app-building-and-usage-tutorial/landscape-app-setup-and-tips/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/app-building-and-usage-tutorial/landscape-app-setup-and-tips/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：如果你只想使用app，不想用内置cms，可以关闭内置cms，且用户组等设置依旧在后台cms相关栏进行设置。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;APP&lt;/code&gt;打包成功后，需要前往&lt;code&gt;EFV&lt;/code&gt;后台，&lt;code&gt;CMS&lt;/code&gt;管理的&lt;code&gt;app&lt;/code&gt;广告管理，设置开屏广告、&lt;code&gt;app&lt;/code&gt;广告、播放器广告才能正常使用，设置方法看下面。&lt;/p&gt;
&lt;p&gt;且横屏海报&lt;code&gt;app&lt;/code&gt;默认用的&lt;code&gt;封面1&lt;/code&gt;，&lt;code&gt;封面1&lt;/code&gt;相关介绍 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/cover-1-2-and-screenshot-principle-explanation/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;图集和推广切换&#34;&gt;图集和推广切换&lt;/h2&gt;
&lt;p&gt;最新版横屏&lt;code&gt;app&lt;/code&gt;已将以前的&lt;code&gt;推广页面&lt;/code&gt; 现在换成了 &lt;code&gt;图集页面&lt;/code&gt;，如果你不使用&lt;code&gt;图集&lt;/code&gt;功能，只用视频功能，那么可以把&lt;code&gt;图集页面&lt;/code&gt; 改成 &lt;code&gt;推广页面&lt;/code&gt; 。&lt;/p&gt;
&lt;h3 id=&#34;页面展示&#34;&gt;页面展示&lt;/h3&gt;
&lt;p&gt;左侧是&lt;code&gt;图集&lt;/code&gt;页面，右侧是&lt;code&gt;推广&lt;/code&gt;页面，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/62df68f1b48db9978ba08429-33.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;修改方法&#34;&gt;修改方法&lt;/h3&gt;
&lt;p&gt;修改&lt;code&gt;lib/app/modules/container/controller.dart&lt;/code&gt;文件，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#24行上下，后期可能会有变动
原代码：final List&amp;lt;Widget&amp;gt; pages = [HomePage(), HotPage(), ImagesPage(), UserPage()];
修改后：final List&amp;lt;Widget&amp;gt; pages = [HomePage(), HotPage(), AdPage(), UserPage()];
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;修改&lt;code&gt;lib/app/modules/container/page.dart&lt;/code&gt;文件，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#40行上下，后期可能会有变动，title为下方导航显示字体，可自行修改
原代码：TabItem(icon: LineIcons.image, title: &#39;图集&#39;),
修改后：TabItem(icon: LineIcons.ad, title: &#39;推广&#39;),
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;修改&lt;code&gt;lib/app/modules/splash/binding.dart&lt;/code&gt;文件，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#19-20行上下，后期可能会有变动，即这2行注释符号//互换，也就是取消图集，推广生效
原代码：
// Get.lazyPut&amp;lt;AdController&amp;gt;(() =&amp;gt; AdController());
Get.lazyPut&amp;lt;ImagesController&amp;gt;(() =&amp;gt; ImagesController());

修改后：
Get.lazyPut&amp;lt;AdController&amp;gt;(() =&amp;gt; AdController());
// Get.lazyPut&amp;lt;ImagesController&amp;gt;(() =&amp;gt; ImagesController());
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后修改完成，就可以打包了，图集功能也成功移除。&lt;/p&gt;
&lt;h2 id=&#34;展示图及广告设置等&#34;&gt;展示图及广告设置等&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;注意：展示图中的推广页面已被图集板块代替，如果你按照上面方法切换回推广，可继续生效。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;设置相关图片及广告&#34;&gt;设置相关图片及广告&lt;/h3&gt;
&lt;p&gt;对于广告，如果你没适合的广告商，可以随便设置下，顺便美化下&lt;code&gt;app&lt;/code&gt;，广告位置如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627b1e26fb27ed094830b632-123345.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;上面的布局图中，&lt;code&gt;app&lt;/code&gt;展示图和&lt;code&gt;app logo&lt;/code&gt;是固定的，也就是打包后就改不了了，其它广告图片可以直接在&lt;code&gt;EFV&lt;/code&gt;后台进行修改设置。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#展示图显示时间由用户请求分离cms的api的延迟决定，如果分离cms的服务器网络足够快，用户请求api时间越短，展示图显示时间越短
1、app展示图(图片参考大小488x680)，修改app源码包assets/splash.png，自行将自己的展示图替换进去即可

2、app logo(图片参考大小180x60)，修改app源码包assets/logo.png，自行将自己的logo替换进去即可。

#广告设置入口，点击左侧特别功能 ⇒ APP广告管理 ⇒添加app广告
3、开屏广告(图片参考大小680x1030)，只需要选择开屏广告、设置广告标题、上传图片、广告链接、广告持续时间。

#app广告我们可以用来推广app下载、购物商品推广、其它相关产品推广，也可以填写与本站有关的说明，会随机出现在app各种内页展示
4、app广告(图片参考大小200x200)，只需要选择app广告、设置广告标题(app广告名称)，广告词(app广告介绍)、上传图片(app广告图标)、广告链接(app广告链接)。

5、播放器广告(图片参考大小640x360)，设置广告标题、上传图片、广告链接、广告持续时间。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;开屏广告、&lt;code&gt;app&lt;/code&gt;广告、播放器广告，在使用期间可任意设置和修改，且可以同时设置多个，随机展示。&lt;/p&gt;
&lt;p&gt;最后注意广告等图尽量压缩下，不然用户网络不好的时候，图片又大的话，可能会出现加载过慢或者不加载的问题，图片压缩网站 ⇒ &lt;a href=&#34;https://tinypng.com/&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;检查app广告设置是否生效&#34;&gt;检查app广告设置是否生效&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;注意：开屏广告和播放器广告必须设置时长，开屏不设置会有问题。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我们设置好广告后，可以刷新下&lt;code&gt;app&lt;/code&gt;的&lt;code&gt;api&lt;/code&gt;缓存，登录&lt;code&gt;api&lt;/code&gt;在的服务器，使用命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;redis-cli
flushall
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后浏览器访问相关地址，检查下是否有广告数据，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#开屏广告
https://xx.com/api/getad?type=splash

#app广告
https://xx.com/api/appads?type=app

#播放器广告
https://xx.com/api/flowads
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;https://xx.com&lt;/code&gt;为&lt;code&gt;api&lt;/code&gt;域名，如果&lt;code&gt;3&lt;/code&gt;个广告接口都有数据，那么则设置完毕，否则有一个没数据都会出现访问问题。&lt;/p&gt;
&lt;h2 id=&#34;首页幻灯片设置&#34;&gt;首页幻灯片设置&lt;/h2&gt;
&lt;p&gt;幻灯片就是顶部展示一直轮流滑动的&lt;code&gt;5&lt;/code&gt;个电影，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627bb047fb27ed094830b636-32144.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;幻灯片设置&#34;&gt;幻灯片设置&lt;/h3&gt;
&lt;p&gt;幻灯片其实也就是推荐功能，可以前往视频管理，点击要推荐的电影右侧选项，再点击推荐视频即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627bb0b6fb27ed094830b638-1324.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;首页公告说明&#34;&gt;首页公告说明&lt;/h2&gt;
&lt;p&gt;关于首页幻灯片下方的公告说明，公告可在&lt;code&gt;EFV高级版&lt;/code&gt;后台，&lt;code&gt;CMS&lt;/code&gt;相关处找到&lt;code&gt;公告管理&lt;/code&gt;并设置，可设置多个公告，会依次循环滑动，相关截图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/62bd7b93b48db9978ba08418-2344.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;图集说明&#34;&gt;图集说明&lt;/h2&gt;
&lt;p&gt;如果你使用&lt;code&gt;图集&lt;/code&gt;功能，则必须上传至少一个图集，不然该页面可能会一直转圈。&lt;/p&gt;
&lt;p&gt;且图集内页自带一个强制图片广告功能，即任何普通用户想看完整图集，都会先看&lt;code&gt;N&lt;/code&gt;秒图片广告，直到图片广告消失，才可以看具体内容。&lt;/p&gt;
&lt;p&gt;且只要该用户付费了，也就是在任意一个付费用户组，该图片广告会自动消失，付费到期后，该图片广告会重新出现。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/62df68d7b48db9978ba08427-12124.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;图片广告说明&#34;&gt;图片广告说明&lt;/h3&gt;
&lt;p&gt;图集界面强制广告图片为固定的，路径&lt;code&gt;assets/benad.jpg&lt;/code&gt;，尺寸建议&lt;code&gt;800x1164&lt;/code&gt;，且点击后默认跳转购买&lt;code&gt;vip&lt;/code&gt;界面。&lt;/p&gt;
&lt;p&gt;如果你不想跳转到购买&lt;code&gt;vip&lt;/code&gt;界面，想跳转其它外部链接，则可以修改&lt;code&gt;lib/app/modules/detail/page.dart&lt;/code&gt;文件，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#181行上下，后期可能会有变动，后面为广告跳转链接，注意使用https，不然可能因安全问题跳不了。
原代码：Get.toNamed(&amp;quot;/buy_vip&amp;quot;);
修改后：launchURL(&#39;https://www.baidu.com&#39;);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后重新打包&lt;code&gt;app&lt;/code&gt;就可以了。&lt;/p&gt;
&lt;h2 id=&#34;系列说明&#34;&gt;系列说明&lt;/h2&gt;
&lt;p&gt;系列展示在视频播放页下方，也就是如果你在&lt;code&gt;EFV&lt;/code&gt;后台添加一个系列，并将与该系列有关的视频添加进去，那么该系列里的视频播放列表会展示该系列的其它视频，方便用户查看，样式如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627a8a01fb27ed094830b626-1111.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;系列设置&#34;&gt;系列设置&lt;/h3&gt;
&lt;p&gt;前往程序后台 ⇒ 点击左侧转码相关 ⇒ 系列管理，点击添加系列，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627a888efb27ed094830b61e-000.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;然后&lt;code&gt;电影&lt;/code&gt;的话，前往视频管理，点击要添加的电影右侧选项，找到添加系列，然后进行搜索添加，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627a88ecfb27ed094830b620-222.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627a891ffb27ed094830b622-2222222.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;同样，对于&lt;code&gt;剧集&lt;/code&gt;也一样，前往剧集管理，点击要添加的剧集右侧选项，找到添加系列，然后进行搜索添加，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627a8956fb27ed094830b624-555.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;设置好了后，等缓存生效，则会自动显示在&lt;code&gt;app&lt;/code&gt;播放列表。&lt;/p&gt;
&lt;h2 id=&#34;用户权限及支付设置&#34;&gt;用户权限及支付设置&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;提示：app会员模式已精简，和cms互通的就是以下2种模式，也就是只有这2种有效，其它可能会无效。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前&lt;code&gt;app&lt;/code&gt;支付方式支持信支付和好支付，运营可以走&lt;code&gt;2&lt;/code&gt;种模式，分别如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;第1种：视频全部免费观看 + 广告推广。
第2种：视频默认全部只能试看n秒 + 升级会员看完整版 + 广告推广 + 部分视频限时免费。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;相关设置跟随&lt;code&gt;CMS&lt;/code&gt;，也就是通用，可以参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/cms-function-details/user-group-description-recommended-settings/&#34;&gt;用户组会员说明及推荐设置&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;注意进入支付管理设置支付的时候，必须设置一下&lt;code&gt;APP&lt;/code&gt;支付页显示信息，即用户支付时看到的提示信息，不然会有问题。&lt;/p&gt;
&lt;h3 id=&#34;免费模式相关说明&#34;&gt;免费模式相关说明&lt;/h3&gt;
&lt;p&gt;由于&lt;code&gt;app&lt;/code&gt;默认是给付费模式用的，如果走免费模式，可能需要改下&lt;code&gt;app&lt;/code&gt;少许样式，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://docs.efvcms.com/image/627ce8d1fb27ed094830b63d-12ww.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;播放页面的修改&lt;code&gt;lib/app/modules/play/page.dart&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#找到并删掉以下代码即可
_.havePermission
    ? Container()
    : Container(
        padding: EdgeInsets.all(8.0),
        child: GradientButton(
          increaseWidthBy: double.infinity,
          increaseHeightBy: 5.0,
          child: Text(&#39;购买会员，观看完整影片！&#39;),
          callback: () {
            Get.toNamed(&amp;quot;/buy_vip&amp;quot;);
          },
          gradient: Gradients.byDesign,
          shadowColor: Gradients.byDesign.colors.last
              .withOpacity(0.25),
        ),
      ),
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;用户页面的可以修改&lt;code&gt;lib/app/modules/user/page.dart&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#找到并删掉以下代码即可
ListTile(
  leading: Icon(Icons.account_circle),
  title: Text(&#39;购买会员&#39;),
  tileColor: Colors.white,
  trailing: Icon(Icons.navigate_next),
  onTap: () {
    Get.toNamed(&#39;/buy_vip&#39;);
  },
),
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后重新构建&lt;code&gt;app&lt;/code&gt;就可以了，然后上述截图有关付费按钮就去掉了。&lt;/p&gt;
&lt;h3 id=&#34;付费模式相关说明&#34;&gt;付费模式相关说明&lt;/h3&gt;
&lt;p&gt;付费模式下，&lt;code&gt;试看&lt;/code&gt;必须打开，如果你给部分视频设置限时免费，则建议新建一个&lt;code&gt;限时免费&lt;/code&gt;的分类，再把设置过限时免费的视频添加到该分类，方便用户区分。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 获取视频、剧集管理全部数据</title>
      <link>https://docs.efvcms.com/docs/api-interface-usage-tutorial/fetch-all-video-and-audio-data/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.efvcms.com/docs/api-interface-usage-tutorial/fetch-all-video-and-audio-data/</guid>
      <description>
        
        
        &lt;pre&gt;&lt;code&gt;提示：接口可能会偶尔进行优化，如发现一些参数不生效，需更新到最新版使用。
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;获取视频列表和剧集列表的数据&#34;&gt;获取视频列表和剧集列表的数据&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;#后面为转码设置的apikey，该接口会获取视频管理中转码完成的数据 和 剧集管理的全部数据
Get /api/videolist?apikey=5c20cEga22FgG7f

#支持参数
page, search, time, category, type, status, published, limit, id
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;基础参数可独立使用&#34;&gt;基础参数（可独立使用）&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;type：数据类型，只能传入tv和movie值
     - movie：只输出视频管理中转码完成的数据
     - tv：只输出剧集管理的数据
     - 不传则输出视频管理中转码完成的数据 和 剧集管理的全部数据

page：页数，默认为第1页

limit：每页显示多少个数据，默认20

search：搜索关键词
     - 不传type时：同时搜索视频管理的标题(originalname)和剧集管理的标题(title)
     - type=movie时：仅搜索视频管理标题
     - type=tv时：仅搜索剧集管理标题

category：分类提取
     - 不传type时：同时提取视频管理和剧集管理的指定分类数据
     - type=movie时：仅提取视频管理的分类数据
     - type=tv时：仅提取剧集管理的分类数据

isasync：获取已同步到云存储的数据，可传递isasync=true生效。
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;高级参数必须结合type参数一起使用&#34;&gt;高级参数（必须结合type参数一起使用）&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;status：视频状态，仅限type=movie时使用
     - 可传入：waiting、error、finished、intv
     - 不传则默认提取所有数据

published：剧集状态，仅限type=tv时使用
     - 可传入：published、waiting
     - 不传则默认提取所有数据

time：提取最近多少小时的数据
     - 填入数值即可，单位：小时
     - 必须配合type使用

id：视频id或剧集id
     - 传入视频管理的视频id时：输出该视频所有信息
     - 传入剧集管理的剧集id时：输出视频管理中该剧集的所有单集视频
     - 必须配合type使用
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;status详解&#34;&gt;status详解&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;由于视频状态过多，这里会把部分状态合并到一个里面进行查询：

waiting：输出等待转码和待审核的视频
     - 返回信息status字段为：waiting、审核

error：输出所有转码出错的视频
     - 返回信息status字段为：秒切失败、错误：存在相同文件夹、应用重启中断、转码错误、error &amp;amp; failed、生成多音轨视频时出错！

finished：输出转码完成和已发布视频
     - 返回信息status字段为：finished、转码完成

intv：输出转码完成并添加进剧集的视频
     - 返回信息status字段为：intv
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;published详解&#34;&gt;published详解&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;waiting：输出等待发布的剧集
     - 返回信息published字段为：waiting

published：输出已经发布的剧集
     - 返回信息published字段为：published
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;参数组合使用规则&#34;&gt;参数组合使用规则&lt;/h3&gt;
&lt;h4 id=&#34;-允许的参数组合&#34;&gt;✅ 允许的参数组合&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;1. 不传type（同时输出视频管理+剧集管理）&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;可使用参数：search、category、page、limit

示例：
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;search=教育
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;category=教育视频
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;search=数学&amp;amp;category=教育视频
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;2. type=movie（仅视频管理）&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;可使用参数：status、search、category、time、id，可任意组合

示例：
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=movie&amp;amp;status=finished
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=movie&amp;amp;status=finished&amp;amp;category=教育视频
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=movie&amp;amp;search=数学&amp;amp;category=教育视频&amp;amp;time=24
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=movie&amp;amp;id=视频ID
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;3. type=tv（仅剧集管理）&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;可使用参数：published、search、category、time、id，可任意组合

示例：
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;published=published
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;published=waiting&amp;amp;category=连续剧
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;search=破冰&amp;amp;published=published&amp;amp;time=48
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;id=剧集ID
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;-不允许的参数组合&#34;&gt;❌ 不允许的参数组合&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;- type=movie + published（movie不支持published参数）
- type=tv + status（tv不支持status参数）
- 不传type + status（status必须配合type=movie使用）
- 不传type + published（published必须配合type=tv使用）
- 不传type + time（time必须配合type使用）
- 不传type + id（id必须配合type使用）
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;完整使用示例&#34;&gt;完整使用示例&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 示例1：获取所有数据（视频+剧集）
/api/videolist?apikey=5c20cEga22FgG7f

# 示例2：跨类型搜索&amp;quot;教育&amp;quot;关键词
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;search=教育

# 示例3：跨类型获取&amp;quot;教育视频&amp;quot;分类的所有内容
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;category=教育视频

# 示例4：跨类型搜索+分类提取
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;search=数学&amp;amp;category=教育视频

# 示例5：获取已完成的视频，教育分类，第2页
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=movie&amp;amp;status=finished&amp;amp;category=教育视频&amp;amp;page=2

# 示例6：获取已发布的剧集，最近24小时
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;published=published&amp;amp;time=24

# 示例7：搜索包含&amp;quot;破冰&amp;quot;的已发布剧集
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;search=破冰&amp;amp;published=published

# 示例8：获取指定剧集的所有单集
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;id=剧集ID

# 示例9：获取指定视频的详细信息
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=movie&amp;amp;id=视频ID

# 示例10：每页显示50条数据
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;limit=50&amp;amp;page=1

# 示例11：获取转码错误的视频，最近12小时
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=movie&amp;amp;status=error&amp;amp;time=12

# 示例12：获取等待发布的剧集，连续剧分类
/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;published=waiting&amp;amp;category=连续剧
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;返回数据字段说明&#34;&gt;返回数据字段说明&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;通用字段&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;code&lt;/code&gt;：状态码，&lt;code&gt;1&lt;/code&gt;表示成功，&lt;code&gt;0&lt;/code&gt;表示失败&lt;/li&gt;
&lt;li&gt;&lt;code&gt;msg&lt;/code&gt;：返回信息描述&lt;/li&gt;
&lt;li&gt;&lt;code&gt;page&lt;/code&gt;：当前页码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pagecount&lt;/code&gt;：总页数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;limit&lt;/code&gt;：每页显示的数据条数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;total&lt;/code&gt;：符合条件的数据总数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;数据统计字段&lt;/strong&gt;（仅在不传&lt;code&gt;type&lt;/code&gt;或不传&lt;code&gt;id&lt;/code&gt;时返回）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;movieCount&lt;/code&gt;：视频管理中转码完成的视频数量（不包括已添加进剧集的视频数量）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;singleEpisodeCount&lt;/code&gt;：视频管理中已添加进剧集的视频数量&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tvCount&lt;/code&gt;：剧集管理的剧集数量&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;说明&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;当使用&lt;code&gt;search&lt;/code&gt;或&lt;code&gt;category&lt;/code&gt;参数且不传&lt;code&gt;type&lt;/code&gt;时，&lt;code&gt;singleEpisodeCount&lt;/code&gt;为&lt;code&gt;0&lt;/code&gt;（已合并到&lt;code&gt;movieCount&lt;/code&gt;中统计）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;movieCount&lt;/code&gt; + &lt;code&gt;singleEpisodeCount&lt;/code&gt; + &lt;code&gt;tvCount&lt;/code&gt; = &lt;code&gt;total&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;数据类型标识字段&lt;/strong&gt;（&lt;code&gt;list&lt;/code&gt;数组中每条数据都包含）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;datatype&lt;/code&gt;：数据类型标识
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;movie&lt;/code&gt;：视频管理中转码完成的视频（不包括已添加进剧集的视频）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;singleEpisode&lt;/code&gt;：视频管理中已添加进剧集的视频&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tv&lt;/code&gt;：剧集管理的剧集&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;其他说明&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;所有结果按&lt;code&gt;updateAt&lt;/code&gt;时间倒序排列（最新更新的在前）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;categoryStats&lt;/code&gt;：分类统计信息数组&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;默认返回信息示例不传type&#34;&gt;默认返回信息示例（不传type）&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 默认输出：视频管理中转码完成的数据 和 剧集管理全部数据
/api/videolist?apikey=5c20cEga22FgG7f

{
    &amp;quot;code&amp;quot;: 1,
    &amp;quot;msg&amp;quot;: &amp;quot;数据列表&amp;quot;,
    &amp;quot;page&amp;quot;: 1,
    &amp;quot;pagecount&amp;quot;: 1,
    &amp;quot;limit&amp;quot;: 20,
    &amp;quot;total&amp;quot;: 4,
    &amp;quot;movieCount&amp;quot;: 1,
    &amp;quot;singleEpisodeCount&amp;quot;: 2,
    &amp;quot;tvCount&amp;quot;: 1,
    &amp;quot;list&amp;quot;: [
        {
            &amp;quot;_id&amp;quot;: &amp;quot;6927dc25b57d659e211c7a8a&amp;quot;,
            &amp;quot;director&amp;quot;: [
                &amp;quot;冯友薇&amp;quot;
            ],
            &amp;quot;writer&amp;quot;: [
                &amp;quot;鸟山明&amp;quot;,
                &amp;quot;冯友薇&amp;quot;
            ],
            &amp;quot;stars&amp;quot;: [
                &amp;quot;柴田秀胜&amp;quot;,
                &amp;quot;野泽雅子&amp;quot;,
                &amp;quot;岛本须美&amp;quot;
            ],
            &amp;quot;country&amp;quot;: [
                &amp;quot;日本&amp;quot;
            ],
            &amp;quot;tags&amp;quot;: [
                &amp;quot;喜剧&amp;quot;,
                &amp;quot;动画&amp;quot;,
                &amp;quot;奇幻&amp;quot;,
                &amp;quot;冒险&amp;quot;
            ],
            &amp;quot;published&amp;quot;: &amp;quot;waiting&amp;quot;,
            &amp;quot;title&amp;quot;: &amp;quot;七龙珠&amp;quot;,
            &amp;quot;enTitle&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;tcTitle&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;originaltitle&amp;quot;: &amp;quot;ドラゴンボール&amp;quot;,
            &amp;quot;aka&amp;quot;: &amp;quot;龙珠 / Dragonball&amp;quot;,
            &amp;quot;year&amp;quot;: 1986,
            &amp;quot;duration&amp;quot;: &amp;quot;25分钟&amp;quot;,
            &amp;quot;episodescount&amp;quot;: &amp;quot;153&amp;quot;,
            &amp;quot;language&amp;quot;: &amp;quot;日语&amp;quot;,
            &amp;quot;rate&amp;quot;: 9.3,
            &amp;quot;summary&amp;quot;: &amp;quot;很久很久以前，曾流传着这样一个传说...&amp;quot;,
            &amp;quot;enSummary&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;tcSummary&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;status&amp;quot;: &amp;quot;lianzai&amp;quot;,
            &amp;quot;zhouqi&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;episodes&amp;quot;: [
                {
                    &amp;quot;_id&amp;quot;: &amp;quot;6927dde2142fdea1e5509909&amp;quot;,
                    &amp;quot;episode&amp;quot;: &amp;quot;01&amp;quot;,
                    &amp;quot;movieid&amp;quot;: &amp;quot;6927dc33b57d659e211c7b58&amp;quot;
                },
                {
                    &amp;quot;_id&amp;quot;: &amp;quot;6927dde2142fdea1e550990a&amp;quot;,
                    &amp;quot;episode&amp;quot;: &amp;quot;02&amp;quot;,
                    &amp;quot;movieid&amp;quot;: &amp;quot;6927ddc9142fdea1e550965c&amp;quot;
                }
            ],
            &amp;quot;updateAt&amp;quot;: &amp;quot;2025-11-27T05:13:06.637Z&amp;quot;,
            &amp;quot;createAt&amp;quot;: &amp;quot;2025-11-27T05:13:06.637Z&amp;quot;,
            &amp;quot;poster&amp;quot;: &amp;quot;/poster/6927dc25b57d659e211c7a8a/poster.webp&amp;quot;,
            &amp;quot;poster2&amp;quot;: {
                &amp;quot;url&amp;quot;: &amp;quot;/poster/6927dc25b57d659e211c7a8a/poster2.webp&amp;quot;,
                &amp;quot;height&amp;quot;: 810,
                &amp;quot;width&amp;quot;: 540
            },
            &amp;quot;category&amp;quot;: &amp;quot;日本动漫&amp;quot;,
            &amp;quot;datatype&amp;quot;: &amp;quot;tv&amp;quot;
        },
        {
            &amp;quot;_id&amp;quot;: &amp;quot;6927dc33b57d659e211c7bca&amp;quot;,
            &amp;quot;director&amp;quot;: [
                &amp;quot;宫崎骏&amp;quot;
            ],
            &amp;quot;writer&amp;quot;: [
                &amp;quot;宫崎骏&amp;quot;
            ],
            &amp;quot;stars&amp;quot;: [
                &amp;quot;胡立成&amp;quot;,
                &amp;quot;彭昱畅&amp;quot;,
                &amp;quot;神木隆之介&amp;quot;
            ],
            &amp;quot;country&amp;quot;: [
                &amp;quot;日本&amp;quot;
            ],
            &amp;quot;tags&amp;quot;: [
                &amp;quot;剧情&amp;quot;,
                &amp;quot;动画&amp;quot;,
                &amp;quot;奇幻&amp;quot;
            ],
            &amp;quot;screenshots&amp;quot;: [
                &amp;quot;/videos/202511/27/6927dc33b57d659e211c7bca/1.webp&amp;quot;,
                &amp;quot;/videos/202511/27/6927dc33b57d659e211c7bca/0.webp&amp;quot;
            ],
            &amp;quot;status&amp;quot;: &amp;quot;转码完成&amp;quot;,
            &amp;quot;originalname&amp;quot;: &amp;quot;千与千寻&amp;quot;,
            &amp;quot;size&amp;quot;: &amp;quot;68338293&amp;quot;,
            &amp;quot;m3u8paths&amp;quot;: [
                {
                    &amp;quot;_id&amp;quot;: &amp;quot;6927dcf0142fdea1e55091ac&amp;quot;,
                    &amp;quot;hd&amp;quot;: 20000,
                    &amp;quot;path&amp;quot;: &amp;quot;./public/videos/202511/27/6927dc33b57d659e211c7bca/20000/index.m3u8&amp;quot;
                }
            ],
            &amp;quot;updateAt&amp;quot;: &amp;quot;2025-11-27T05:10:41.740Z&amp;quot;,
            &amp;quot;createAt&amp;quot;: &amp;quot;2025-11-27T05:10:41.698Z&amp;quot;,
            &amp;quot;aka&amp;quot;: &amp;quot;神隐少女(台) / 千与千寻的神隐&amp;quot;,
            &amp;quot;banben&amp;quot;: &amp;quot;HD&amp;quot;,
            &amp;quot;duration&amp;quot;: &amp;quot;2分钟&amp;quot;,
            &amp;quot;language&amp;quot;: &amp;quot;日语&amp;quot;,
            &amp;quot;originaltitle&amp;quot;: &amp;quot;千と千尋の神隠し&amp;quot;,
            &amp;quot;poster&amp;quot;: &amp;quot;/videos/202511/27/6927dc33b57d659e211c7bca/cover.jpg&amp;quot;,
            &amp;quot;rate&amp;quot;: 9.4,
            &amp;quot;summary&amp;quot;: &amp;quot;千寻和爸爸妈妈一同驱车前往新家...&amp;quot;,
            &amp;quot;year&amp;quot;: 2001,
            &amp;quot;moviepath&amp;quot;: &amp;quot;/videos/202511/27/6927dc33b57d659e211c7bca&amp;quot;,
            &amp;quot;time&amp;quot;: &amp;quot;00:02:11&amp;quot;,
            &amp;quot;previewvideo&amp;quot;: &amp;quot;/videos/202511/27/6927dc33b57d659e211c7bca/preview.mp4&amp;quot;,
            &amp;quot;category&amp;quot;: &amp;quot;日本动漫&amp;quot;,
            &amp;quot;totv&amp;quot;: null,
            &amp;quot;trym3u8&amp;quot;: &amp;quot;/try/6927dc33b57d659e211c7bca.m3u8&amp;quot;,
            &amp;quot;datatype&amp;quot;: &amp;quot;movie&amp;quot;
        },
        {
            &amp;quot;_id&amp;quot;: &amp;quot;6927dc33b57d659e211c7b58&amp;quot;,
            &amp;quot;director&amp;quot;: [],
            &amp;quot;writer&amp;quot;: [],
            &amp;quot;stars&amp;quot;: [],
            &amp;quot;screenshots&amp;quot;: [
                &amp;quot;/videos/202511/27/6927dc33b57d659e211c7b58/1.webp&amp;quot;
            ],
            &amp;quot;status&amp;quot;: &amp;quot;intv&amp;quot;,
            &amp;quot;originalname&amp;quot;: &amp;quot;七龙珠 01&amp;quot;,
            &amp;quot;size&amp;quot;: &amp;quot;2479735&amp;quot;,
            &amp;quot;m3u8paths&amp;quot;: [
                {
                    &amp;quot;_id&amp;quot;: &amp;quot;6927dc9a142fdea1e5508e31&amp;quot;,
                    &amp;quot;hd&amp;quot;: 20000,
                    &amp;quot;path&amp;quot;: &amp;quot;./public/videos/202511/27/6927dc33b57d659e211c7b58/20000/index.m3u8&amp;quot;
                }
            ],
            &amp;quot;updateAt&amp;quot;: &amp;quot;2025-11-27T05:09:03.898Z&amp;quot;,
            &amp;quot;createAt&amp;quot;: &amp;quot;2025-11-27T05:07:38.905Z&amp;quot;,
            &amp;quot;moviepath&amp;quot;: &amp;quot;/videos/202511/27/6927dc33b57d659e211c7b58&amp;quot;,
            &amp;quot;duration&amp;quot;: &amp;quot;0分钟&amp;quot;,
            &amp;quot;time&amp;quot;: &amp;quot;00:00:16&amp;quot;,
            &amp;quot;poster&amp;quot;: &amp;quot;/videos/202511/27/6927dc33b57d659e211c7b58/cover.webp&amp;quot;,
            &amp;quot;totv&amp;quot;: &amp;quot;6927dc25b57d659e211c7a8a&amp;quot;,
            &amp;quot;category&amp;quot;: &amp;quot;日本动漫&amp;quot;,
            &amp;quot;trym3u8&amp;quot;: &amp;quot;/try/6927dc33b57d659e211c7b58.m3u8&amp;quot;,
            &amp;quot;datatype&amp;quot;: &amp;quot;singleEpisode&amp;quot;
        },
        {
            &amp;quot;_id&amp;quot;: &amp;quot;6927ddc9142fdea1e550965c&amp;quot;,
            &amp;quot;director&amp;quot;: [],
            &amp;quot;writer&amp;quot;: [],
            &amp;quot;stars&amp;quot;: [],
            &amp;quot;screenshots&amp;quot;: [
                &amp;quot;/videos/202511/27/6927ddc9142fdea1e550965c/1.webp&amp;quot;
            ],
            &amp;quot;status&amp;quot;: &amp;quot;intv&amp;quot;,
            &amp;quot;originalname&amp;quot;: &amp;quot;七龙珠 02&amp;quot;,
            &amp;quot;size&amp;quot;: &amp;quot;2567891&amp;quot;,
            &amp;quot;m3u8paths&amp;quot;: [
                {
                    &amp;quot;_id&amp;quot;: &amp;quot;6927dc9a142fdea1e5987u36&amp;quot;,
                    &amp;quot;hd&amp;quot;: 20000,
                    &amp;quot;path&amp;quot;: &amp;quot;./public/videos/202511/27/6927ddc9142fdea1e550965c/20000/index.m3u8&amp;quot;
                }
            ],
            &amp;quot;updateAt&amp;quot;: &amp;quot;2025-11-27T05:08:52.765Z&amp;quot;,
            &amp;quot;createAt&amp;quot;: &amp;quot;2025-11-27T05:07:25.432Z&amp;quot;,
            &amp;quot;moviepath&amp;quot;: &amp;quot;/videos/202511/27/6927ddc9142fdea1e550965c&amp;quot;,
            &amp;quot;duration&amp;quot;: &amp;quot;0分钟&amp;quot;,
            &amp;quot;time&amp;quot;: &amp;quot;00:00:18&amp;quot;,
            &amp;quot;poster&amp;quot;: &amp;quot;/videos/202511/27/6927ddc9142fdea1e550965c/cover.webp&amp;quot;,
            &amp;quot;totv&amp;quot;: &amp;quot;6927dc25b57d659e211c7a8a&amp;quot;,
            &amp;quot;category&amp;quot;: &amp;quot;日本动漫&amp;quot;,
            &amp;quot;trym3u8&amp;quot;: &amp;quot;/try/6927ddc9142fdea1e550965c.m3u8&amp;quot;,
            &amp;quot;datatype&amp;quot;: &amp;quot;singleEpisode&amp;quot;
        }
    ],
    &amp;quot;categoryStats&amp;quot;: [
        {
            &amp;quot;分类名称&amp;quot;: &amp;quot;未分类&amp;quot;,
            &amp;quot;电影数量&amp;quot;: 0,
            &amp;quot;单集数量&amp;quot;: 0,
            &amp;quot;剧集数量&amp;quot;: 0
        },
        {
            &amp;quot;分类名称&amp;quot;: &amp;quot;日本动漫&amp;quot;,
            &amp;quot;电影数量&amp;quot;: 1,
            &amp;quot;单集数量&amp;quot;: 2,
            &amp;quot;剧集数量&amp;quot;: 1
        }
    ]
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意&lt;code&gt;datatype&lt;/code&gt;为&lt;code&gt;movie&lt;/code&gt;或&lt;code&gt;singleEpisode&lt;/code&gt;是来自于视频管理的数据，含有&lt;code&gt;m3u8paths&lt;/code&gt;参数，即对应的&lt;code&gt;m3u8&lt;/code&gt;信息，且&lt;code&gt;m3u8paths&lt;/code&gt;里边的&lt;code&gt;hd&lt;/code&gt;参数，&lt;code&gt;320&lt;/code&gt;为&lt;code&gt;240P&lt;/code&gt;、&lt;code&gt;480&lt;/code&gt;为&lt;code&gt;360P&lt;/code&gt;、&lt;code&gt;640&lt;/code&gt;为&lt;code&gt;480P&lt;/code&gt;、&lt;code&gt;1138&lt;/code&gt;为&lt;code&gt;640P&lt;/code&gt;、&lt;code&gt;1280&lt;/code&gt;为&lt;code&gt;720P&lt;/code&gt;、&lt;code&gt;1920&lt;/code&gt;为&lt;code&gt;1080P&lt;/code&gt;、&lt;code&gt;2560&lt;/code&gt;为&lt;code&gt;2K&lt;/code&gt;、&lt;code&gt;3840&lt;/code&gt;为&lt;code&gt;4K&lt;/code&gt;、&lt;code&gt;20000&lt;/code&gt;为原画，&lt;code&gt;path&lt;/code&gt;参数为&lt;code&gt;M3U8&lt;/code&gt;路径，需自行移除&lt;code&gt;./public&lt;/code&gt;后，拼接下域名就可以使用了。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;datatype&lt;/code&gt;为&lt;code&gt;tv&lt;/code&gt;为剧集信息，没有&lt;code&gt;m3u8paths&lt;/code&gt;参数，其分集的&lt;code&gt;m3u8&lt;/code&gt;信息可参考下方说明。&lt;/p&gt;
&lt;h2 id=&#34;关于剧集说明&#34;&gt;关于剧集说明&lt;/h2&gt;
&lt;p&gt;剧集数据只会返回该剧集详情信息和所有单集的&lt;code&gt;视频id&lt;/code&gt;，不会返回其&lt;code&gt;M3U8链接&lt;/code&gt;，且&lt;code&gt;episodes&lt;/code&gt;数组为集数信息，&lt;code&gt;movieid&lt;/code&gt;为对应的&lt;code&gt;视频id&lt;/code&gt;，然后可以通过以下方法获取单集的&lt;code&gt;M3U8链接&lt;/code&gt;，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1、获取单集的自适应M3U8链接，拼接格式：/movie/auto/ + 视频id + .m3u8
/movie/auto/679f0dd2ce4be83f7186d431.m3u8

2、获取某剧集里所有单集的视频详情信息，包括截图、分辨率M3U8链接等，id为该剧集id。
剧集里面的所有集数的详情信息获取接口：/api/videolist?apikey=5c20cEga22FgG7f&amp;amp;type=tv&amp;amp;id=681983c5a0934b5dad7b0ae7

#接口返回信息如下：
{
    &amp;quot;code&amp;quot;: 1,
    &amp;quot;msg&amp;quot;: &amp;quot;数据列表&amp;quot;,
    &amp;quot;page&amp;quot;: 1,
    &amp;quot;pagecount&amp;quot;: 1,
    &amp;quot;limit&amp;quot;: 20,
    &amp;quot;total&amp;quot;: 2,
    &amp;quot;movieCount&amp;quot;: 0,
    &amp;quot;singleEpisodeCount&amp;quot;: 2,
    &amp;quot;tvCount&amp;quot;: 1,
    &amp;quot;tvDetail&amp;quot;: {
        &amp;quot;_id&amp;quot;: &amp;quot;6927dc25b57d659e211c7a8a&amp;quot;,
        &amp;quot;title&amp;quot;: &amp;quot;七龙珠&amp;quot;,
        &amp;quot;originaltitle&amp;quot;: &amp;quot;ドラゴンボール&amp;quot;,
        &amp;quot;year&amp;quot;: 1986,
        &amp;quot;duration&amp;quot;: &amp;quot;25分钟&amp;quot;,
        &amp;quot;episodescount&amp;quot;: &amp;quot;153&amp;quot;,
        &amp;quot;language&amp;quot;: &amp;quot;日语&amp;quot;,
        &amp;quot;rate&amp;quot;: 9.3,
        &amp;quot;summary&amp;quot;: &amp;quot;很久很久以前，曾流传着这样一个传说...&amp;quot;,
        &amp;quot;status&amp;quot;: &amp;quot;lianzai&amp;quot;,
        &amp;quot;episodes&amp;quot;: [
            {
                &amp;quot;_id&amp;quot;: &amp;quot;6927dde2142fdea1e5509909&amp;quot;,
                &amp;quot;episode&amp;quot;: &amp;quot;01&amp;quot;,
                &amp;quot;movieid&amp;quot;: &amp;quot;6927dc33b57d659e211c7b58&amp;quot;
            },
            {
                &amp;quot;_id&amp;quot;: &amp;quot;6927dde2142fdea1e550990a&amp;quot;,
                &amp;quot;episode&amp;quot;: &amp;quot;02&amp;quot;,
                &amp;quot;movieid&amp;quot;: &amp;quot;6927ddc9142fdea1e550965c&amp;quot;
            }
        ],
        &amp;quot;poster&amp;quot;: &amp;quot;/poster/6927dc25b57d659e211c7a8a/poster.webp&amp;quot;,
        &amp;quot;category&amp;quot;: &amp;quot;日本动漫&amp;quot;,
        &amp;quot;datatype&amp;quot;: &amp;quot;tv&amp;quot;
    },
    &amp;quot;list&amp;quot;: [
        {
            &amp;quot;_id&amp;quot;: &amp;quot;6927dc33b57d659e211c7b58&amp;quot;,
            &amp;quot;status&amp;quot;: &amp;quot;intv&amp;quot;,
            &amp;quot;originalname&amp;quot;: &amp;quot;七龙珠 01&amp;quot;,
            &amp;quot;size&amp;quot;: &amp;quot;2479735&amp;quot;,
            &amp;quot;m3u8paths&amp;quot;: [
                {
                    &amp;quot;_id&amp;quot;: &amp;quot;6927dc9a142fdea1e5508e31&amp;quot;,
                    &amp;quot;hd&amp;quot;: 20000,
                    &amp;quot;path&amp;quot;: &amp;quot;./public/videos/202511/27/6927dc33b57d659e211c7b58/20000/index.m3u8&amp;quot;
                }
            ],
            &amp;quot;moviepath&amp;quot;: &amp;quot;/videos/202511/27/6927dc33b57d659e211c7b58&amp;quot;,
            &amp;quot;duration&amp;quot;: &amp;quot;0分钟&amp;quot;,
            &amp;quot;time&amp;quot;: &amp;quot;00:00:16&amp;quot;,
            &amp;quot;poster&amp;quot;: &amp;quot;/videos/202511/27/6927dc33b57d659e211c7b58/cover.webp&amp;quot;,
            &amp;quot;totv&amp;quot;: &amp;quot;6927dc25b57d659e211c7a8a&amp;quot;,
            &amp;quot;category&amp;quot;: &amp;quot;日本动漫&amp;quot;,
            &amp;quot;trym3u8&amp;quot;: &amp;quot;/try/6927dc33b57d659e211c7b58.m3u8&amp;quot;,
            &amp;quot;datatype&amp;quot;: &amp;quot;singleEpisode&amp;quot;
        },
        {
            &amp;quot;_id&amp;quot;: &amp;quot;6927ddc9142fdea1e550965c&amp;quot;,
            &amp;quot;status&amp;quot;: &amp;quot;intv&amp;quot;,
            &amp;quot;originalname&amp;quot;: &amp;quot;七龙珠 02&amp;quot;,
            &amp;quot;size&amp;quot;: &amp;quot;2567891&amp;quot;,
            &amp;quot;m3u8paths&amp;quot;: [
                {
                    &amp;quot;_id&amp;quot;: &amp;quot;6927dc9a142fdea1e5987u36&amp;quot;,
                    &amp;quot;hd&amp;quot;: 20000,
                    &amp;quot;path&amp;quot;: &amp;quot;./public/videos/202511/27/6927ddc9142fdea1e550965c/20000/index.m3u8&amp;quot;
                }
            ],
            &amp;quot;moviepath&amp;quot;: &amp;quot;/videos/202511/27/6927ddc9142fdea1e550965c&amp;quot;,
            &amp;quot;duration&amp;quot;: &amp;quot;0分钟&amp;quot;,
            &amp;quot;time&amp;quot;: &amp;quot;00:00:18&amp;quot;,
            &amp;quot;poster&amp;quot;: &amp;quot;/videos/202511/27/6927ddc9142fdea1e550965c/cover.webp&amp;quot;,
            &amp;quot;totv&amp;quot;: &amp;quot;6927dc25b57d659e211c7a8a&amp;quot;,
            &amp;quot;category&amp;quot;: &amp;quot;日本动漫&amp;quot;,
            &amp;quot;trym3u8&amp;quot;: &amp;quot;/try/6927ddc9142fdea1e550965c.m3u8&amp;quot;,
            &amp;quot;datatype&amp;quot;: &amp;quot;singleEpisode&amp;quot;
        }
    ],
    &amp;quot;categoryStats&amp;quot;: []
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;tvDetail&lt;/code&gt;为该剧集信息，&lt;code&gt;list&lt;/code&gt;为分集列表，可根据剧集里面分集&lt;code&gt;movieid&lt;/code&gt;，对应的&lt;code&gt;list&lt;/code&gt;里面的&lt;code&gt;_id&lt;/code&gt;，对应入库即可。&lt;/p&gt;
&lt;p&gt;最后&lt;code&gt;自适应M3U8&lt;/code&gt;和&lt;code&gt;分辨率M3U8&lt;/code&gt;都可以用，图方便就用&lt;code&gt;自适应M3U8&lt;/code&gt;，有其他需求就用&lt;code&gt;分辨率M3U8&lt;/code&gt;，不了解&lt;code&gt;自适应M3U8&lt;/code&gt;的可参考 ⇒ &lt;a href=&#34;https://docs.efvcms.com/docs/transcoding-function-details/multi-bitrate-settings-and-adaptive-m3u8/#%E8%87%AA%E9%80%82%E5%BA%94m3u8%E8%AF%B4%E6%98%8E&#34;&gt;传送门&lt;/a&gt;。&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
