成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

FFMPEG獲取視頻播放時(shí)長(zhǎng)

enrecul101 / 1452人閱讀

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

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

FFMPEG獲取視頻播放時(shí)長(zhǎng)

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

調(diào)用示例
&1", $file));
    $info = ob_get_contents();
    ob_end_clean();
  // 通過(guò)使用輸出緩沖,獲取到ffmpeg所有輸出的內(nèi)容。
   $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]; // 提取出播放時(shí)間
        $da = explode(":", $match[1]); 
        $ret["seconds"] = $da[0] * 3600 + $da[1] * 60 + $da[2]; // 轉(zhuǎn)換為秒
        $ret["start"] = $match[2]; // 開(kāi)始時(shí)間
        $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"]; // 實(shí)際播放時(shí)間
    }

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

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

返回結(jié)果

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函數(shù)的權(quán)限打開(kāi),否則會(huì)報(bào)錯(cuò)!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/20839.html

相關(guān)文章

  • 也談 “FFMPEG獲取視頻播放時(shí)長(zhǎng)

    摘要:背景因?yàn)楣ぷ髦杏胁糠謨?nèi)容是使用來(lái)獲取音視頻信息以及對(duì)音視頻文件進(jìn)行處理,遇到了一些問(wèn)題,所以一路搜過(guò)來(lái)。因?yàn)橐曨l處理必然離不開(kāi),網(wǎng)上抄了一段是領(lǐng)先的多媒體框架。 背景: 因?yàn)楣ぷ髦杏胁糠謨?nèi)容是使用PHP來(lái)獲取音/視頻信息以及對(duì)音視頻文件進(jìn)行處理,遇到了一些問(wèn)題,所以一路搜過(guò)來(lái)。 FFmpeg 因?yàn)橐曨l處理必然離不開(kāi)FFmpeg,網(wǎng)上抄了一段: FFmpeg是領(lǐng)先的多媒體框架。 在這個(gè)框...

    BingqiChen 評(píng)論0 收藏0
  • 在線短視頻秒播優(yōu)化之視頻文件格式之MP4文件Moov box的位置

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

    siberiawolf 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<