国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

FFMPEG獲取視頻播放時長

enrecul101 / 1448人閱讀

摘要:原文鏈接獲取視頻播放時長今天做一個視頻管理系統的時候,客戶要求一個視頻截取張縮略圖。那么就涉及到如何去獲取視頻長度的問題。查找相關資料,最終封裝了如下方法,不僅可以獲取視頻時長,還可以獲取分辨率編碼比特率等信息。

原文鏈接:http://www.fire-rain.com/blog/FFMPEG_VIDEO_TIME

FFMPEG獲取視頻播放時長

今天做一個視頻管理系統的時候,客戶要求一個視頻截取20張縮略圖。并且按照視頻長度截取20個不同時間點。那么就涉及到如何去獲取視頻長度的問題。查找相關資料,最終封裝了如下方法,不僅可以獲取視頻時長,還可以獲取分辨率、編碼、比特率等信息。

調用示例
&1", $file));
    $info = ob_get_contents();
    ob_end_clean();
  // 通過使用輸出緩沖,獲取到ffmpeg所有輸出的內容。
   $ret = array();
    // Duration: 01:24:12.73, start: 0.000000, bitrate: 456 kb/s
    if (preg_match("/Duration: (.*?), start: (.*?), bitrate: (d*) kb/s/", $info, $match)) {
        $ret["duration"] = $match[1]; // 提取出播放時間
        $da = explode(":", $match[1]); 
        $ret["seconds"] = $da[0] * 3600 + $da[1] * 60 + $da[2]; // 轉換為秒
        $ret["start"] = $match[2]; // 開始時間
        $ret["bitrate"] = $match[3]; // bitrate 碼率 單位 kb
    }

    // Stream #0.1: Video: rv40, yuv420p, 512x384, 355 kb/s, 12.05 fps, 12 tbr, 1k tbn, 12 tbc
    if (preg_match("/Video: (.*?), (.*?), (.*?)[,s]/", $info, $match)) {
        $ret["vcodec"] = $match[1]; // 編碼格式
        $ret["vformat"] = $match[2]; // 視頻格式 
        $ret["resolution"] = $match[3]; // 分辨率
        $a = explode("x", $match[3]);
        $ret["width"] = $a[0];
        $ret["height"] = $a[1];
    }

    // Stream #0.0: Audio: cook, 44100 Hz, stereo, s16, 96 kb/s
    if (preg_match("/Audio: (w*), (d*) Hz/", $info, $match)) {
        $ret["acodec"] = $match[1];       // 音頻編碼
        $ret["asamplerate"] = $match[2];  // 音頻采樣頻率
    }

    if (isset($ret["seconds"]) && isset($ret["start"])) {
        $ret["play_time"] = $ret["seconds"] + $ret["start"]; // 實際播放時間
    }

    $ret["size"] = filesize($file); // 文件大小
    return $ret;
}

// 調用方法:
 print_r( video_info("test.mp4","ffmpeg.exe"));

返回結果

Array ( [duration] => 00:00:30.13 [seconds] => 30.13 [start] => 0.036281 [bitrate] => 5495 [vcodec] => h264 (High) (avc1 / 0x31637661) [vformat]     => yuv420p [resolution] => 1280x720 [width] => 1280 [height] => 720 [play_time] => 30.166281 [size] => 20695855 )

注意需要在php.ini文件上把passthru函數的權限打開,否則會報錯!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20839.html

相關文章

  • 也談 “FFMPEG獲取視頻播放時長

    摘要:背景因為工作中有部分內容是使用來獲取音視頻信息以及對音視頻文件進行處理,遇到了一些問題,所以一路搜過來。因為視頻處理必然離不開,網上抄了一段是領先的多媒體框架。 背景: 因為工作中有部分內容是使用PHP來獲取音/視頻信息以及對音視頻文件進行處理,遇到了一些問題,所以一路搜過來。 FFmpeg 因為視頻處理必然離不開FFmpeg,網上抄了一段: FFmpeg是領先的多媒體框架。 在這個框...

    BingqiChen 評論0 收藏0
  • 在線短視頻秒播優化之視頻文件格式之MP4文件Moov box的位置

    摘要:之前我們介紹了在線短視頻秒播優化的方方面面,從服務器,部署接入,數據連接獲取,客戶端緩存,出幀策略,到視頻文件幀位置等。并不是文件必須的部分,但在我們常見的可在線播放的格式文件中例如中的文件確是重中之重。 showImg(https://segmentfault.com/img/bV0wbG?w=826&h=358);之前我們介紹了在線短視頻秒播優化的方方面面,從服務器,cdn部署接入...

    siberiawolf 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<