天天看點

如何使用ffmpeg從視訊中提取圖檔如何使用ffmpeg從視訊中提取圖檔

你曾想過從一個視訊檔案中提取圖檔嗎?在linux下就可以,在這個教程中我将使用ffmpeg來從視訊中擷取圖檔。

如何使用ffmpeg從視訊中提取圖檔如何使用ffmpeg從視訊中提取圖檔

<a target="_blank"></a>

ffmpeg是一個非常有用的指令行程式,它可以用來轉碼媒體檔案。它是領先的多媒體架構ffmpeg的一部分,其有很多功能,比如解碼、編碼、轉碼、混流、分離、轉化為流、過濾以及播放幾乎所有的由人和機器建立的媒體檔案。

在這個架構中包含有各種工具,每一個用于完成特定的功能。例如,ffserver能夠将多媒體檔案轉化為用于實時廣播的流,ffprobe用于分析多媒體流,ffplay可以當作一個簡易的媒體播放器,ffmpeg則能夠轉換多媒體檔案格式。

如果你感興趣,以下列出的是ffmpeg架構中包含的開發者庫:

libavutil是一個包含簡化程式設計功能的庫,其中包括随機數生成器,資料結構,數學代碼,核心多媒體工具等更多東西。

libavcodec是一個包含音頻/視訊解碼器和編碼器的庫。

libavformat是一個包含了多媒體格式的分離器和混流器的庫。

libavdevice是一個包含輸入輸出裝置的庫,用于捕捉和渲染很多來自常用的多媒體輸入/輸出軟體架構的資料,包括video4linux,video4linux2,vfw和alsa。

libavfilter是一個包含媒體過濾器的庫。

libswscale是一個用于執行高度優化的圖像縮放和顔色空間/像素格式轉換操作的庫。

libswresample是一個用于執行高度優化的音頻重采樣,重新矩陣和取樣格式轉換操作的庫。

注意:ffmpeg和ffmpeg不是同一個東西。ffmpeg是架構,而ffmpeg是一個其中的一個功能。

如果你想跟着教程做,你需要在你的linux機中安裝ffmpeg指令行功能。ubuntu使用者可以在終端運作以下指令輕松安裝ffmpeg功能。

sudo apt-get install ffmpeg

fedora使用者可以從源中直接安裝ffmpeg。

yum install ffmpeg

或者你可以編譯源代碼。在你使用源代碼編譯并安裝它之前,你需要從官網上下載下傳源代碼,使用以下指令。

wget http://www.ffmpeg.org/releases/ffmpeg-2.2.3.tar.bz2

用下面指令解壓文檔。

tar -xvjf ffmpeg-2.2.3.tar.bz2

文檔解壓完成後進入解壓後的目錄運作以下指令。

./configure

make

編譯完成後運作下面的指令安裝ffmpeg。

su -c 'make install'

全部的事情并沒有完成,而你将要做的所有事就是在終端鍵入一些指令而且将能夠從任何視訊檔案中抓取圖檔。

在做之後的步驟前,確定你在想要提取圖檔的視訊檔案的目錄下。使用cd指令切換到正确的目錄。教程中我使用的視訊在我的桌面上,我用以下指令将目錄切換到我的桌面。

cd /home/oltjano/desktop

之後我使用以下指令從視訊中提取圖檔。

ffmpeg -i "你是我的小呀小蘋果兒.mp4" -r 1 -q:v 2 -f image2 image-3%d.jpeg

-i選項用來擷取輸入檔案,在這裡是視訊檔案名你是我的小呀小蘋果兒.mp4,-r選項設定每秒提取圖檔的幀數。我想要每秒提取一幀。

之後有一個重要的選項是-q:v,應該留意這個選項并且我很喜歡用它,它用來設定提取到的圖檔品質。我總是設定值為2來從視訊中擷取高品質圖檔。

原文釋出時間:2014-06-27

本文來自雲栖合作夥伴“linux中國”

繼續閱讀