国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php截取視頻指定幀為圖片

2024-05-04 23:46:19
字體:
來源:轉載
供稿:網友
這篇文章主要為大家詳細介紹了php截取視頻指定幀為圖片的相關資料,需要的朋友可以參考下
 

截取視頻指定幀為圖片,php ffmpeg擴展已經完美實現:

$movie = new ffmpeg_movie($video_filePath);$ff_frame = $movie->getFrame(1);$gd_image = $ff_frame->toGDImage();$img="./test.jpg";imagejpeg($gd_image, $img);imagedestroy($gd_image);

然而問題來了,智能手機拍攝的視頻,由于拍攝方向不同,視頻會被旋轉,并帶上meta信息rotate,當你相對視頻截取frame圖片的時候,如果有rotate信息的視頻,frame也是旋轉的,因此你需要將截取的圖片相應的旋轉。

然后php ffmpeg擴展并無法獲知rotation信息(php ffmpeg擴展文檔),但可以通過ffmpeg命令行獲取:

/usr/local/ffmpeg/bin/ffprobe test.mp4 -show_streams  | grep rotate
用php簡單封裝下如下:

function get_video_orientation($video_path) {  $cmd = "/usr/local/ffmpeg/bin/ffprobe " . $video_path . " -show_streams 2>/dev/null";  $result = shell_exec($cmd);   $orientation = 0;  if(strpos($result, 'TAG:rotate') !== FALSE) {    $result = explode("/n", $result);    foreach($result as $line) {      if(strpos($line, 'TAG:rotate') !== FALSE) {        $stream_info = explode("=", $line);        $orientation = $stream_info[1];      }    }  }  return $orientation;}

使用imagerotate()函數就可以旋轉截圖:

$movie = new ffmpeg_movie($video_filePath);$frame = $movie->getFrame(1);$gd = $frame->toGDImage();if ($orientation = $this->get_video_orientation($video_filePath)) {  $gd = imagerotate($gd, 360-$orientation, 0);}$img="./test.jpg";imagejpeg($gd, $img);imagedestroy($gd_image);

最后還有一個麻煩事,不是所有的播放器和瀏覽器都可對video識別orientation并自動rotate,如果你想對視頻進行旋轉,可通過ffmpeg命令解決:

/usr/local/ffmpeg/bin/ffmpeg -i input.mp4 -vf 'transpose=3' -metadata:s:v:0 rotate=0

以上就是本文的全部內容,希望對大家學習php程序設計有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阳新县| 云霄县| 贡嘎县| 南雄市| 鄂温| 武穴市| 巴林左旗| 和田市| 兴隆县| 新泰市| 商水县| 普宁市| 惠来县| 祁门县| 龙里县| 远安县| 潜山县| 甘泉县| 钦州市| 邵东县| 疏附县| 南城县| 高陵县| 馆陶县| 星子县| 黔西县| 堆龙德庆县| 马关县| 韩城市| 梧州市| 和平县| 平舆县| 平陆县| 广元市| 曲麻莱县| 盐池县| 乌苏市| 长海县| 清丰县| 那坡县| 唐河县|