如何使用ffmpeg從視頻中提取圖片
什麼是ffmpeg?What is ffmpeg?
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來從視頻中獲取高質量圖片。
via: http://www.unixmen.com/extract-images-videos-using-ffmpeg/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive