使用FFMPeg對視頻進行處理

FFMPeg處理視頻的核心操做方式是命令,不管是在Windows上仍是Linux上。那麼下邊就簡單介紹下,常見的處理命令。php

示例1:
截取一張352×240尺寸大小的,格式爲jpg的圖片:shell

ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352×240 a.jpg

示例2:
把視頻的前30幀轉換成一個Animated Gif :apache

ffmpeg -i test.asf -vframes 30 -y -f gif a.gif

示例3:這個是我須要的!
在視頻的第8.01秒處截取 320*240 的縮略圖安全

ffmpeg -i test.flv -y -f mjpeg -ss 3 -t 0.001 -s 320×240 test.jpg

示例4:網絡

把視頻轉換成flv文件(這個用得最多,如今Flv基本上已經成了網絡視頻的標準了)函數

ffmpeg -i source -s 320×240 -b 700k -aspect 4:3 -y -f flv dest.flv 。

其中:
source:是原始文件的名字,能夠是mov,mpeg,avi,wmv各種格式,ffmpeg基本都支持。
-s wxh: 指定視頻的寬和高
-b : 設定視頻的比特率
-aspect: 保持視頻的比率。如4:3或者16:9
-y : 若是目標文件存在時,直接覆蓋原有的目標文件。
-f : 指定轉換的文件格式,這裏是flv格式。(其實若是不指定文件格式,ffmpeg也會按文件的後綴名來進行轉換)。
dest: 轉換的目標文件名字,並不必定須要是flv,能夠是mov,mpeg以及其餘的經常使用格式。
參數說明:spa

-L licensecode

-h 幫助視頻

-fromats 顯示可用的格式,編解碼的,協議的blog

-f fmt 強迫採用格式fmt

-I filename 輸入文件

-y 覆蓋輸出文件

-t duration 設置紀錄時間 hh:mm:ss[.xxx]格式的記錄時間也支持

-ss position 搜索到指定的時間 [-]hh:mm:ss[.xxx]的格式也支持

s wxh: 指定視頻的寬和高

****************************************************************************

示例3:是針對flv格式的視頻得到指定處的縮略圖,記住 -f強制轉換的格式是mjpeg由於我要得到.jpg的縮略圖,網上有不少寫成文章都是寫成ffmpeg -i test.flv -y -f image2 -ss 08.010 -t 0.001 -s 352×240 b.jpg 這個是錯誤,不可能輸出.

下面是PHP調用shell命令得到縮略圖的代碼

  1. <!--?php  
  2.   
  3. exec("/usr/bin/ffmpeg -i /usr/local/apache/htdocs/test.flv -y -f mjpeg -ss 3 -t 0.001 -s 320x240 /usr/local/apache/htdocs/test.jpg",$out,$status);  
  4.   
  5. print_r($status);//0是成功 1是失敗  
  6.   
  7. ?-->  

若是沒有什麼圖片生成的可能緣由:

①對於存儲生成圖片的文件夾須要有寫入權限 #chomd 777 /usr/local/apache/htdocs

②在php.ini中有disable_functions禁用了php調用shell命令函數,

disable_functions = proc_open, popen,exec, system, shell_exec, passthru

解決辦法:註釋掉disable_functions這一項

#disable_functions = proc_open, popen,exec, system, shell_exec, passthru

或者disable_functions = (把禁言的函數除去)

保存關閉開啓就能夠了

③php.ini中的安全模式必須關閉 才能夠調用exec函數

safe_mode = off

④圖片時間截取也很重要,頗有多是無效圖片或者是黑屏

建議 增長關鍵幀,一般第一幀爲關鍵幀,可使用:vframes:幀參數,捨棄微秒參數,只保留時間參數

/usr/bin/ffmpeg -i /usr/local/apache/htdocs/test.flv -y -f mjpeg -ss 3 -vframes 1 -s 320×240 /usr/local/apache/htdocs/test.jpg

相關文章
相關標籤/搜索