联系官方销售客服

1835022288

028-61286886

求助 版主:论坛审计组
各位老大如果上传字段是视频音频怎么获取他的时长数据呢能获取文
类型:迅睿CMS 更新时间:2019-10-17 11:00:27

各位老大,如果上传字段是视频、音频,怎么获取他的时长数据呢

能获取文件的大小,怎么读出来呢?

image.png

回帖
  • 迅睿粉丝
    #1楼    迅睿粉丝
    2019-10-16 21:54:09
    Chrome 0
    php好像办不到
  • 迅睿粉丝
    #2楼    迅睿粉丝
    2019-10-16 22:05:06
    Chrome 0
    我看到七牛云的空间好像能返回相关变量。。由于自己的测试域名https证书快过期,没办法用七牛云测试!!不知道我们的应用中心的七牛云插件能不能!!
    https://developer.qiniu.com/kodo/manual/1235/vars

    还有大哥,上传视频怎么自动获取一张截图呢??

    上传的文件大小数据库有,但是不知道咋获取!!!大哥能指点一下吗??


    image.png


    语音视频都测试成功了,但是有些数据都无法实现。。。
  • 迅睿粉丝
    #3楼    迅睿粉丝
    2019-10-16 22:07:27
    Chrome 0
    回复迅睿框架创始人 大哥休息了吧??打扰了
  • 迅睿粉丝
    #4楼    迅睿粉丝
    2019-10-17 10:13:27
    Chrome 0
    安装FFmpeg 和 FFmpeg开发包
    然后自定义函数,就可以获取视频封面了

    function createVideoThumb($fileName,$dir,$file = null){
     
        $movie = new ffmpeg_movie($dir.'/'.$fileName);//这里就是视频的存储路径
        $ff_frame = $movie->getFrame(1);
        $gd_image = $ff_frame->toGDImage();
     
        $filenames =substr($fileName,0,strrpos($fileName,'.')); 
        $img="./upload/".$filenames."_video.jpg";//存图片的路径
        imagejpeg($gd_image, $img);
        imagedestroy($gd_image);
     
    }

  • 迅睿粉丝
    #5楼    迅睿粉丝
    2019-10-17 10:54:23
    Chrome 0
    还有一种方法,你需要组件的用JS输出 data:image 数据,再通过PHP转为图片-
        <video id="video" controls="controls">
            <source src="123.mp4">
        </video>
        <div id="output"></div>
        <script type="text/javascript">
        (function() {
            var video, output;
            var scale = 0.8;
            var initialize = function() {
                output = document.getElementById("output");
                video = document.getElementById("video");
                video.addEventListener('loadeddata', captureImage); // 用于向指定元素添加事件句柄。
            };
    
            var captureImage = function() {
                var canvas = document.createElement("canvas"); // 创建一个画布
                canvas.width = video.videoWidth * scale;
                canvas.height = video.videoHeight * scale;
                canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height); // getContext:设置画布环境;drawImage:画画 
    
                var img = document.createElement("img");
                img.src = canvas.toDataURL("image/png"); // 获取图片的url
                output.appendChild(img);
            };
    
            initialize();
        })();
        </script>
    满意答案
  • 迅睿粉丝
    #6楼    迅睿粉丝
    2019-10-17 10:54:46
    Chrome 0
    ibennie不需要组件,打错字了!抱歉
  • 迅睿粉丝
    #7楼    迅睿粉丝
    2019-10-17 10:54:56
    Chrome 0
    感谢你提供的解决方案,这可能是现阶段唯一能解决的办法了~~不过我有点懒,不想折腾了,以后数据肯定是要放到云服务器上去,最后可以使用的还是云服务机构提供的数据分析资料。。。


    image.png
  • 迅睿粉丝
    #8楼    迅睿粉丝
    2019-10-17 10:55:59
    Chrome 0
    这个很麻烦,要配置服务器环境,单独用php是做不到的,要安装组件
  • 迅睿粉丝
    #9楼    迅睿粉丝
    2019-10-17 10:58:06
    Chrome 0
    ibennie 感谢。小容量视频,这个解决最方便了!!准备先用这个测试。。
  • 迅睿粉丝
    #10楼    迅睿粉丝
    2019-10-17 10:59:09
    Chrome 0
    可爱的小兔子 所以我决定过些时间使用云服务测试,反正都提供了丰富的api接口数据。。
  • 迅睿粉丝
    #11楼    迅睿粉丝
    2019-10-17 11:00:27
    Chrome 0
    @ibennie:感谢大哥。这个解决最方便了!!准备先用这个测试。XunRuiCMS有这么多热心网友,一定会发展的非常好。。