(转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片
你曾想過(guò)從一個(gè)視頻文件中提取圖片嗎?在Linux下就可以,在這個(gè)教程中我將使用ffmpeg來(lái)從視頻中獲取圖片。
什么是ffmpeg?What is ffmpeg?
ffmpeg是一個(gè)非常有用的命令行程序,它可以用來(lái)轉(zhuǎn)碼媒體文件。它是領(lǐng)先的多媒體框架FFmpeg的一部分,其有很多功能,比如解碼、編碼、轉(zhuǎn)碼、混流、分離、轉(zhuǎn)化為流、過(guò)濾以及播放幾乎所有的由人和機(jī)器創(chuàng)建的媒體文件。
在這個(gè)框架中包含有各種工具,每一個(gè)用于完成特定的功能。例如,ffserver能夠?qū)⒍嗝襟w文件轉(zhuǎn)化為用于實(shí)時(shí)廣播的流,ffprobe用于分析多媒體流,ffplay可以當(dāng)作一個(gè)簡(jiǎn)易的媒體播放器,ffmpeg則能夠轉(zhuǎn)換多媒體文件格式。
如果你感興趣,以下列出的是FFmpeg框架中包含的開(kāi)發(fā)者庫(kù):
- libavutil是一個(gè)包含簡(jiǎn)化編程功能的庫(kù),其中包括隨機(jī)數(shù)生成器,數(shù)據(jù)結(jié)構(gòu),數(shù)學(xué)代碼,核心多媒體工具等更多東西。
- libavcodec是一個(gè)包含音頻/視頻解碼器和編碼器的庫(kù)。
- libavformat是一個(gè)包含了多媒體格式的分離器和混流器的庫(kù)。
- libavdevice是一個(gè)包含輸入輸出設(shè)備的庫(kù),用于捕捉和渲染很多來(lái)自常用的多媒體輸入/輸出軟件框架的數(shù)據(jù),包括Video4Linux,Video4Linux2,VfW和ALSA。
- libavfilter是一個(gè)包含媒體過(guò)濾器的庫(kù)。
- libswscale是一個(gè)用于執(zhí)行高度優(yōu)化的圖像縮放和顏色空間/像素格式轉(zhuǎn)換操作的庫(kù)。
- libswresample是一個(gè)用于執(zhí)行高度優(yōu)化的音頻重采樣,重新矩陣和取樣格式轉(zhuǎn)換操作的庫(kù)。
注意:ffmpeg和FFmpeg不是同一個(gè)東西。FFmpeg是框架,而ffmpeg是一個(gè)其中的一個(gè)功能。
開(kāi)始行動(dòng)
如果你想跟著教程做,你需要在你的linux機(jī)中安裝ffmpeg命令行功能。Ubuntu用戶可以在終端運(yùn)行以下命令輕松安裝ffmpeg功能。
sudo apt-get install ffmpegFedora用戶可以從源中直接安裝ffmpeg。
yum install ffmpeg或者你可以編譯源代碼。在你使用源代碼編譯并安裝它之前,你需要從官網(wǎng)上下載源代碼,使用以下命令。
wget http://www.ffmpeg.org/releases/ffmpeg-2.2.3.tar.bz2用下面命令解壓文檔。
tar -xvjf ffmpeg-2.2.3.tar.bz2文檔解壓完成后進(jìn)入解壓后的目錄運(yùn)行以下命令。
./configure make編譯完成后運(yùn)行下面的命令安裝ffmpeg。
su -c 'make install'全部的事情并沒(méi)有完成,而你將要做的所有事就是在終端鍵入一些命令而且將能夠從任何視頻文件中抓取圖片。
在做之后的步驟前,確保你在想要提取圖片的視頻文件的目錄下。使用cd命令切換到正確的目錄。教程中我使用的視頻在我的桌面上,我用以下命令將目錄切換到我的桌面。
cd /home/oltjano/Desktop之后我使用以下命令從視頻中提取圖片。
ffmpeg -i "你是我的小呀小蘋(píng)果兒.mp4" -r 1 -q:v 2 -f image2 image-3%d.jpeg-i選項(xiàng)用來(lái)獲取輸入文件,在這里是視頻文件名你是我的小呀小蘋(píng)果兒.mp4,-r選項(xiàng)設(shè)置每秒提取圖片的幀數(shù)。我想要每秒提取一幀。
之后有一個(gè)重要的選項(xiàng)是-q:v,應(yīng)該留意這個(gè)選項(xiàng)并且我很喜歡用它,它用來(lái)設(shè)置提取到的圖片質(zhì)量。我總是設(shè)置值為2來(lái)從視頻中獲取高質(zhì)量圖片。
轉(zhuǎn)載于:https://www.cnblogs.com/Tmc-Blog/p/5090230.html
總結(jié)
以上是生活随笔為你收集整理的(转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: bzoj3141: [Hnoi2013]
- 下一篇: C编程规范