」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 PHP 中確定影片檔案的持續時間、尺寸和大小?

如何在 PHP 中確定影片檔案的持續時間、尺寸和大小?

發佈於2024-11-10
瀏覽:217

How can I determine the duration, dimensions, and size of a video file in PHP?

在PHP 中確定視頻持續時間、尺寸和大小

獲取有關上傳視頻文件的信息對於各種應用程序至關重要。您可能需要檢索影片的持續時間、尺寸或大小才能正確顯示或進一步處理。在 PHP 中,可以使用多種方法來實現此目的。

getID3 庫

getID3 庫是一個功能強大的工具,可以從各種文件格式(包括影片)中提取元資料。它提供有關音訊、視訊和容器格式的詳細資訊。

要在 PHP 程式碼中使用 getID3,請依照下列步驟操作:

include_once('pathto/getid3.php');
$getID3 = new getID3;
$file = $getID3->analyze($filename);

分析文件後,您可以檢索以下資訊:

  • 持續時間: $文件
  • 尺寸:
  • $file['video']['resolution_x'] (寬度)和$file['video']['resolution_y'] (高度)
  • 尺寸:
  • $file['filesize']

ffmpeg-php 擴充

如果您有能力修改PHP 安裝,請考慮使用ffmpeg-php擴展。它是一個 PHP 擴展,為強大的 FFmpeg 多媒體庫提供了包裝,讓您執行高級視訊操作操作。

使用ffmpeg-php,您可以獲得與getID3 相同的所有信息,以及其他功能,例如:
  • 生成縮圖
  • 將視頻轉換為不同格式格式
  • 從影片中擷取音訊

要安裝ffmpeg-php,請依照下列步驟操作:
  1. 從下列位置下載適合您的PHP 版本的ffmpeg-php 模組http://ffmpeg-php.sourceforge.net/.
  2. 將模組檔案複製到PHP 擴充目錄中(通常/usr/local/lib/php/extensions/).
  3. 透過以下行加入php.ini 檔案來啟用此模組:
extension=ffmpeg.so
extension=ffmpeg.so
  1. 重新啟動您的網頁伺服器。

安裝後,您可以使用以下程式碼取得視訊資訊:
$ffmpeg = new FFMpeg();
$video = $ffmpeg->open($filename);

echo("Duration: ".$video->getDuration()." seconds".
" / Dimensions: ".$video->getWidth()." wide by ".$video->getHeight()." tall".
" / Filesize: ".$video->getSize()." bytes<br />");
$ffmpeg = new FFMpeg(); $video = $ffmpeg->open($filename); echo("持續時間: ".$video->getDuration()." 秒". " / 尺寸: ".$video->getWidth()." 寬乘以 ".$video->getHeight()." 高"。 " / Filesize: ".$video->getSize()." bytes
");

無論您選擇getID3 庫還是ffmpeg-php 擴展,這些方法都會為您提供在PHP 應用程式中處理視訊檔案的必要資訊。

最新教學 更多>
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-11-18
  • 如何在 JavaScript 中將日期重新格式化為 MM/dd/yyyy 格式?
    如何在 JavaScript 中將日期重新格式化為 MM/dd/yyyy 格式?
    使用JavaScript 以MM/dd/yyyy 格式重新格式化日期Web 開發中的一項常見任務是將日期重新格式化為特定格式。在 JavaScript 中,有許多方法可以實作「yyyy-MM-ddThh:mm:ss hh:mm」格式的日期。 其中一種方法涉及使用 JavaScript 中內建的 Da...
    程式設計 發佈於2024-11-18
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-18
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-18
  • 如何檢索 MySQL 表中最近插入的行?
    如何檢索 MySQL 表中最近插入的行?
    檢索MySQL 中最後插入的行通常,開發人員需要從MySQL 表中提取最近插入的行,基於根據具體標準。其中一個要求涉及檢索具有特定使用者屬性的最新行。 要在 MySQL 中完成此任務,有兩種主要方法:1。 TIMESTAMP 欄位利用 TIMESTAMP 欄位是辨識最後插入的行最可靠的方法。透過建立...
    程式設計 發佈於2024-11-18
  • 在處理相關表格時,如何使用 Django 的 select_lated 方法來實現內連接效果?
    在處理相關表格時,如何使用 Django 的 select_lated 方法來實現內連接效果?
    Django 中的內聯:連接相關表要在 Django 中顯示多個相關表中的數據,通常需要內聯接。在本文中,我們將探討如何使用 Django 的 ORM(物件關聯映射器)執行內連線。 模型關係中的models.py提供的代碼定義了下表關係:國家到國家/地區(外鍵)國家/地區到城市(外鍵)發佈到國家/地...
    程式設計 發佈於2024-11-18
  • 儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    解決PHP 中的POST 請求故障在提供的程式碼片段中:action=''而不是:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"檢查$_POST數組:表單提交後使用var_dump檢查$_POST 陣列的內容。...
    程式設計 發佈於2024-11-18
  • 如何將 Docker 化的 Go 應用程式連接到本地 MongoDB 資料庫?
    如何將 Docker 化的 Go 應用程式連接到本地 MongoDB 資料庫?
    將本地MongoDB 資料庫連接到Docker Go 應用程式當您嘗試將Dockerized Go 應用程式連接到本機MongoDB 資料庫時,您可能會遇到“無法存取的伺服器”錯誤。這個問題源自於Docker所建立的隔離網路環境,容器有自己的IP位址。 要解決這個問題,需要在容器和宿主機之間建立通訊...
    程式設計 發佈於2024-11-18
  • 如何透過索引有效率地存取清單中的多個元素?
    如何透過索引有效率地存取清單中的多個元素?
    透過索引存取多個清單元素根據索引從清單中選擇特定元素是程式設計中的常見運算。在這個問題中,使用者尋求一種最佳方法來建立一個新列表,其中包含預定義索引處給定列表中的元素。 使用者迭代索引並單獨存取每個元素的方法是一個簡單的解決方案。然而,還有一些更有效或更簡潔的替代方法。 建議的一個替代方法是使用op...
    程式設計 發佈於2024-11-18
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    程式設計 發佈於2024-11-18
  • 如何在不受輸出乾擾的受控環境中從 PHP 運行 GUI 應用程式?
    如何在不受輸出乾擾的受控環境中從 PHP 運行 GUI 應用程式?
    如何在受控環境中從PHP 執行GUI 應用程式在可見輸出的受控環境中從PHP 腳本運行外部程序可能具有挑戰性不允許來自GUI 程式。儘管成功嘗試使用 system 和 exec 啟動靜默進程,但在使用 GUI 介面執行程式時會出現困難。 要解決此問題,啟用 Apache 的「允許服務與桌面互動」選項...
    程式設計 發佈於2024-11-18
  • 如何在 PHP 中取得數組的前 N ​​個元素?
    如何在 PHP 中取得數組的前 N ​​個元素?
    如何在PHP 中從數組中提取前N 個元素檢索數組的前N 個元素是PHP 中的常見任務發展。本簡明指南將為您提供最有效的方法來實現此目的。 解決方案:使用 array_slice()PHP 提供了強大的 array_slice() 函數來提取數組中指定的元素子集。其語法如下:array_slice($...
    程式設計 發佈於2024-11-18
  • 如何在 Yii2 高階應用中完全隱藏前後端路徑?
    如何在 Yii2 高階應用中完全隱藏前後端路徑?
    完全隱藏Yii2 前端和後端路徑理解問題Yii2 的高級應用程式範本在單獨的目錄中建立前端和後端部分。預設情況下,這些目錄出現在 URL 中,這對於乾淨且專業的簡報來說可能是不可取的。本文旨在引導您完全隱藏這些目錄。 逐步指南1.根.htaccess配置在專案的根目錄(例如advanced/)中,建...
    程式設計 發佈於2024-11-18
  • 如何在 Go 中反序列化動態巢狀 JSON 結構?
    如何在 Go 中反序列化動態巢狀 JSON 結構?
    在Go 中解碼嵌套動態JSON 結構在Go 中,使用嵌套動態結構反序列化JSON 資料可能具有挑戰性。最近的查詢說明了這個問題:{ "status": "OK", "status_code": 100, "...
    程式設計 發佈於2024-11-18

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3