迅睿開源框架是一款PHP8高性能·簡單易用的PHP開源開發(fā)框架, 基于MIT開源許可協(xié)議發(fā)布,不限制商業(yè)使用,以多端互聯(lián)為設(shè)計(jì)理念, 支持的微信公眾號(hào)、小程序、APP客戶端、移動(dòng)端網(wǎng)站、PC網(wǎng)站等多終端式管理系統(tǒng)。
業(yè)務(wù)經(jīng)理
微信掃描以上二維碼
028-61286886
技術(shù)咨詢
各位老大,如果上傳字段是視頻、音頻,怎么獲取他的時(shí)長數(shù)據(jù)呢能獲取文件的大小,怎么讀出來呢?
php好像辦不到
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復(fù)迅??蚣軇?chuàng)始人 大哥休息了吧??打擾了
我看到七牛云的空間好像能返回相關(guān)變量。。由于自己的測(cè)試域名https證書快過期,沒辦法用七牛云測(cè)試!!不知道我們的應(yīng)用中心的七牛云插件能不能!!https://developer.qiniu.com/kodo/manual/1235/vars還有大哥,上傳視頻怎么自動(dòng)獲取一張截圖呢??上傳的文件大小數(shù)據(jù)庫有,但是不知道咋獲?。。?!大哥能指點(diǎn)一下嗎??語音視頻都測(cè)試成功了,但是有些數(shù)據(jù)都無法實(shí)現(xiàn)。。。
安裝FFmpeg 和 FFmpeg開發(fā)包
然后自定義函數(shù),就可以獲取視頻封面了
function createVideoThumb($fileName,$dir,$file = null){ $movie = new ffmpeg_movie($dir.'/'.$fileName);//這里就是視頻的存儲(chǔ)路徑 $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); }
還有一種方法,你需要組件的
用JS輸出 data:image 數(shù)據(jù),再通過PHP轉(zhuǎn)為圖片
-
<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"); // 創(chuàng)建一個(gè)畫布 canvas.width = video.videoWidth * scale; canvas.height = video.videoHeight * scale; canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height); // getContext:設(shè)置畫布環(huán)境;drawImage:畫畫 var img = document.createElement("img"); img.src = canvas.toDataURL("image/png"); // 獲取圖片的url output.appendChild(img); }; initialize(); })(); </script>
回復(fù)@ibennie
不需要組件,打錯(cuò)字了!抱歉
回復(fù)@ibennie 感謝。小容量視頻,這個(gè)解決最方便了??!準(zhǔn)備先用這個(gè)測(cè)試。。
感謝你提供的解決方案,這可能是現(xiàn)階段唯一能解決的辦法了~~不過我有點(diǎn)懶,不想折騰了,以后數(shù)據(jù)肯定是要放到云服務(wù)器上去,最后可以使用的還是云服務(wù)機(jī)構(gòu)提供的數(shù)據(jù)分析資料。。。
這個(gè)很麻煩,要配置服務(wù)器環(huán)境,單獨(dú)用php是做不到的,要安裝組件
回復(fù)@可愛的小兔子 所以我決定過些時(shí)間使用云服務(wù)測(cè)試,反正都提供了豐富的api接口數(shù)據(jù)。。
php好像辦不到
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復(fù)迅??蚣軇?chuàng)始人 大哥休息了吧??打擾了
我看到七牛云的空間好像能返回相關(guān)變量。。由于自己的測(cè)試域名https證書快過期,沒辦法用七牛云測(cè)試!!不知道我們的應(yīng)用中心的七牛云插件能不能!!

https://developer.qiniu.com/kodo/manual/1235/vars
還有大哥,上傳視頻怎么自動(dòng)獲取一張截圖呢??
上傳的文件大小數(shù)據(jù)庫有,但是不知道咋獲?。。?!大哥能指點(diǎn)一下嗎??
語音視頻都測(cè)試成功了,但是有些數(shù)據(jù)都無法實(shí)現(xiàn)。。。
安裝FFmpeg 和 FFmpeg開發(fā)包
然后自定義函數(shù),就可以獲取視頻封面了
function createVideoThumb($fileName,$dir,$file = null){ $movie = new ffmpeg_movie($dir.'/'.$fileName);//這里就是視頻的存儲(chǔ)路徑 $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); }還有一種方法,你需要組件的
用JS輸出 data:image 數(shù)據(jù),再通過PHP轉(zhuǎn)為圖片
-
<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"); // 創(chuàng)建一個(gè)畫布 canvas.width = video.videoWidth * scale; canvas.height = video.videoHeight * scale; canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height); // getContext:設(shè)置畫布環(huán)境;drawImage:畫畫 var img = document.createElement("img"); img.src = canvas.toDataURL("image/png"); // 獲取圖片的url output.appendChild(img); }; initialize(); })(); </script>回復(fù)@ibennie
不需要組件,打錯(cuò)字了!抱歉
回復(fù)@ibennie 感謝。小容量視頻,這個(gè)解決最方便了??!準(zhǔn)備先用這個(gè)測(cè)試。。
感謝你提供的解決方案,這可能是現(xiàn)階段唯一能解決的辦法了~~不過我有點(diǎn)懶,不想折騰了,以后數(shù)據(jù)肯定是要放到云服務(wù)器上去,最后可以使用的還是云服務(wù)機(jī)構(gòu)提供的數(shù)據(jù)分析資料。。。

這個(gè)很麻煩,要配置服務(wù)器環(huán)境,單獨(dú)用php是做不到的,要安裝組件
回復(fù)@可愛的小兔子 所以我決定過些時(shí)間使用云服務(wù)測(cè)試,反正都提供了豐富的api接口數(shù)據(jù)。。