0

大白编辑器尝试视频上传 mp4转webm

xinyu
2025-04-22 27

环境配置  确保pclose popen shell_exec exec 等函数没被禁用

安装 ffmpeg

例如我在linux系列服务 /www/wwworoot 执行命令

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
xz -d ffmpeg-release-amd64-static.tar.xz
tar -xvf ffmpeg-release-amd64-static.tar
PHP

  安装后 你的ffmpeg相对地址就是

'/www/wwwroot/ffmpeg-7.0.2-amd64-static/'
打开upload.php format-mp4-webm.php
ffmpegpath,ffprobepath 地址替换成 对应地址
另外把upload.php中的 #$this->onvideo($uid, $conf); 的#去掉
 
本次测试转换位置为 upload.php
pclose(popen('php80 '.__DIR__.'/format-mp4-webm.php '.$tmpfile,'r'));
 
 

 客户打开发帖界面 F12输入JS

			
		let input = document.createElement('input');
		input.type = 'file';
		input.multiple = true;
		input.onchange = async function () {
            
				let p = new FormData();
				p.set('video',this.files [0]);
            return fetch('https://ai.acgi.moe/attach-create.htm',{
					method:'POST',
					headers:{
						'content-action': 'attach/video',
						'content-mime': this.files [0].type,
						'content-width':999,
						'ajax-fetch':1,
					},
					body:p
				}).then(async response=>{
					const reader = response.body.getReader();
					while(true){
						const {done,value} = await reader.read();
						if(done)break;
						console.log(new TextDecoder().decode(value));
					}
				});
        };
            
		input.click();
		input.remove();
JavaScript

 

题外话 如何把所有文件转化为 MP4

 

 
        if (in_array('mp4', $extarr)):
            $extname = 'mp4';
        elseif (in_array('webm', $extarr)):
            $extname = 'webm';
        else:
            $extname = 'video';
        endif;
把这里非MP4统一改成video 接着修改
 
        $video->gif(\FFMpeg\Coordinate\TimeCode::fromSeconds(10), new \FFMpeg\Coordinate\Dimension(320, 240), 3)->save($tmpfile . '.gif');
        move_uploaded_file($_FILES ['video'] ['tmp_name'], $tmpfile . '.' . $extname);
 
下面添加条件当格式为video
if($extname=='video'):
        pclose(popen('php80 '.__DIR__.'/format-to-mp4 '.$tmpfile,'r'));
endif;
本站申明 1、本论坛一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请投诉举报
2、本论坛的资源部分来源于网络,如有侵权,请 私信联系站长进行删除处理。
3、不得发布和链接任何有关政治, 色情, 宗教, 迷信.低俗、变态、血腥、暴力以及危害国家安全.诋毁政府形象等违法言论和信息的帖子.
4、本帖图片及内容纯属发布用户个人意见,与本站无关!
4,本帖如为原创资源/教程分享帖,则本站与发布用户共同享有内容版权!
6,本站管理有权在不经发布者同意的情况下,根据版规及相关法律法规删除/修改本帖!
7,如无特别说明,任何个人或者组织不得转载本帖内容!任何个人或团体不得将本站资源用于非法用途!
8,未尽事宜最终解释权归本站(小白网)所有!

最新回复 (0)

    暂无评论

    • Xiuno论坛
      2

请先登录后发表评论!

返回
请先登录后发表评论!