Discuz! 本地MP4附件帖内直接播放完整配置教程【传统BBCODE编辑器下】
适用场景:Discuz! X系列及主流版本,需实现用户上传的本地MP4附件在帖子中无需跳转、直接播放的效果。配置核心围绕权限开放、附件设置及文件读取模式调整,全程无需安装额外插件,以下为详细操作步骤。 <h2 class="ce-header ce-header--left">一、基础权限配置:开放多媒体代码使用权限</h2> MP4附件播放依赖多媒体代码解析,需先为目标用户组及版块开放对应权限,避免权限拦截导致播放失败。 <h3 class="ce-header ce-header--left">1.1 用户组权限设置(核心前提)</h3> 操作路径:论坛后台 → 用户 → 用户组 → 选择目标用户组(如“普通用户组”“管理员组”)→ 点击“编辑”→ 切换至“帖子相关”选项卡具体设置:找到“允许使用 等多媒体代码”选项,选择“是”。若需限制仅特定用户组使用,可针对性配置对应组权限,未配置组默认无权限。说明:此设置为后续附件播放的基础,若用户组无此权限,即使完成其他配置,播放代码也会被过滤。 <h3 class="ce-header ce-header--left">1.2 版块权限设置(精准管控)</h3> 操作路径:论坛后台 → 论坛 → 版块管理 → 选择需支持MP4播放的版块(如“视频分享区”)→ 点击“编辑”→ 切换至“帖子选项”选项卡具体设置:勾选“允许使用多媒体代码”,确认后保存设置。若需全论坛版块支持,可批量编辑所有版块或在“设置复制”中选中此项配置复制到其他版块。说明:版块权限优先级高于全局设置,可实现“部分版块开放、部分版块限制”的精细化管理。 <h2 class="ce-header ce-header--left">二、核心附件配置:开启URL访问与媒体播放功能</h2> 通过全局设置开放附件的URL访问权限,使MP4附件能通过特定格式被帖子直接调用,同时启用媒体附件原生播放功能。操作路径:论坛后台 → 全局 → 上传设置 → 切换至“论坛附件”选项卡具体设置: <ul class="cdx-list-unordered"><li class="cdx-list__item">找到“附件 URL 地址、媒体附件播放”选项,选择“是”(开启后上传的附件可通过“attach://aid.ext”格式在任意帖子内引用,无需依赖帖子关联关系。)</li></ul> 关键说明: 1. 开启“附件URL地址”后,附件地址将突破帖子阅读权限和收费限制,所有获取地址的用户均可直接访问,若论坛有付费附件或私密内容,需谨慎开启; 2. 此两项设置需与第一步的用户组、版块权限配合生效,单独开启无法实现播放功能。 <h2 class="ce-header ce-header--left">三、底层配置调整:修改文件读取模式</h2> Discuz! 需通过特定文件读取模式支持附件URL调用在线播放,默认模式可能导致播放失败,需修改配置文件中的对应参数。 <h3 class="ce-header ce-header--left">3.1 找到配置文件</h3> 通过FTP工具或服务器文件管理,定位到论坛根目录下的“config_global.php”文件——该文件为核心配置文件,修改前建议备份以防出错。 <h3 class="ce-header ce-header--left">3.2 修改本地文件读取模式</h3> 用文本编辑器打开“config_global.php”,搜索以下代码片段:<code></code> plain <button class="editorjs-codeFlask_CopyButton" title="复制代码" id="codeflask-copy-QI8eb3ENkR"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect> <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path> </svg> </button> <button class="editorjs-codeFlask_Toggle" id="codeflask-Toggle-QI8eb3ENkR"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="6 9 12 15 18 9"></polyline> </svg> </button> <button class="editorjs-codeFlask_BottomToggle expand-mode" title="展开代码" data-empty="false"><span class="toggle-icon">▼</span> 展开</button> <code></code>将“$_config['download']['readmod']”中的值修改为1或4,修改后如下(以1为例): plain <button class="editorjs-codeFlask_CopyButton" title="复制代码" id="codeflask-copy-vxOHUnuJEU"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect> <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path> </svg> </button> <button class="editorjs-codeFlask_Toggle" id="codeflask-Toggle-vxOHUnuJEU"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="6 9 12 15 18 9"></polyline> </svg> </button> <button class="editorjs-codeFlask_BottomToggle expand-mode" title="展开代码" data-empty="false"><span class="toggle-icon">▼</span> 展开</button> 模式说明:<br>本地文件读取模式; 模式2为最节省内存方式,但不支持多线程下载。<br>如需附件URL地址、媒体附件播放,需选择支持Range参数的读取模式1或4,其他模式会导致部分浏览器下视频播放异常 1=fread 2=readfile 3=fpassthru 4=fpassthru+multiple <h3 class="ce-header ce-header--left">3.3 生效方式</h3> 保存修改后的“config_global.php”文件并覆盖原文件,无需重启服务器,配置立即生效。 <h2 class="ce-header ce-header--left">四、实战使用:帖子中调用MP4附件并播放</h2> 完成上述配置后,用户可按以下步骤在帖子中上传并调用MP4附件实现直接播放。 <h3 class="ce-header ce-header--left">4.1 上传MP4附件</h3> 进入发帖/回帖界面,点击“上传附件”,选择本地MP4文件完成上传,确保文件格式为论坛支持的MP4编码(建议H.264编码,兼容性最佳)。 <h3 class="ce-header ce-header--left">4.2 调用附件实现播放</h3> <img id="aimg_p0S5lje3jv" class="image-tool__image-picture _zoom" src="https://www.dismall.com/data/attachment/forum/202511/28/080320wlx949e49m7ixdpg.png" title="" alt="" data-aid="38074"/> 附件上传成功后,点击附件旁的“播放器”按钮,会自动在编辑器中插入“attach://aid.mp4”格式的bbcode(其中aid为附件ID,mp4为文件后缀),发布帖子后即可渲染为播放组件。 <h2 class="ce-header ce-header--left">五、避坑指南与常见问题排查</h2> <h3 class="ce-header ce-header--left">5.1 配置完成后无法播放?</h3> <ul class="cdx-list-unordered"><li class="cdx-list__item">检查“config_global.php”的读取模式是否为1或4,若仍为其他数字需重新修改并保存;</li><li class="cdx-list__item">确认用户组和版块的“多媒体代码权限”是否均已开启,缺一不可;</li><li class="cdx-list__item">核实MP4文件编码,若为特殊编码可转换为H.264后重新上传。</li></ul> <h3 class="ce-header ce-header--left">5.2 附件URL泄露风险?</h3> 附件<em>, </em>MP4<em>, </em>播放<em>, </em>Discuz<em>, </em>本地<em>, </em>MP4<em>, </em>MP4 教程不错,前排支持一下。 啥也不说了,楼主就是给力!<br /><font color="#ffffff">插入空白字符以填充字数</font> 支持。好久不弄都忘了 前排支持 可以设置一个固定的默认封面吗? <br />X5开始已经可以自动截取封面了,X5以前暂时不支持 看看怎么操作 教程不错,前排支持一下。 学习下。。。。。。。。。。。
頁:
[1]