http://dreamcolor.net/archives/raspicam-documentation.html
——————————————————————————————————————————————————————————————————————
Raspberry Pi 攝像頭模塊應用程序文檔翻譯

更新日志:
- 2014 年 3 月 24 日更新:根據 2013 年 12 月更新的文檔,對原譯文進行擴展翻譯。翻譯完畢。
- 2014 年 3 月 4 日更新:根據 2013 年 12 月更新的文檔,對原譯文進行擴展翻譯。部分內容未翻譯完畢。
- 2013 年 8 月 4 日更新:根據 Raspberry Pi 官方論壇發布的 RaspiCam 正式文檔進行擴展翻譯。硬件安裝和軟件安裝部分稍后翻譯完成。
- 2013 年 5 月 31 日更新:根據 eLinux 中的 Wiki 內容添加使用 MP4Box 對視頻進行封裝的介紹。
- 2013 年 5 月 24 日更新:根據 2013 年 5 月 10 日更新的官方文檔完成了初步翻譯。
本文會在適當的時間里進行增刪改等操作,如果您對該文感興趣,可以僅收藏本頁。
RaspiCam 文檔
本文檔將對 2013 年 12 月 7 日為止可用的三個 Raspberry Pi 攝像頭應用程序進行介紹。
目前提供了三個應用程序,分別為:raspistill、raspivid、raspistillyuv。其中 raspistill 和 raspistillyuv 非常相似,並且都是用於捕捉圖像,而 raspivid 用於捕捉視頻。
所有應用程序均基於命令行方式運行,通過 OpenMAX 的 mmal API 進行編寫。OpenMAX 的 mmal API 提供了更易使用的系統組件。注意,mmal 是一個由 Broadcom 為 Videocore 4 系統定制的 API。
應用程序使用了四個 OpenMAX(mmal)組件:camera(攝像)、preview(預覽)、encoder(編碼)、null_sink。所有應用程序均使用了攝像組件,raspistill 使用了圖像編碼組件,raspivid 使用了視頻編碼組件,raspistillyuv 沒有使用編碼組件,而是直接將 YUV 或 RGB 從攝像組件輸出到文件。
預覽顯示為可選參數,但是可以用於全屏或輸出到指定的顯示器顯示區域進行顯示。如果預覽被禁用,那么 null_silk 組件將會對預覽幀進行“吸收”。這是由於盡管不需要攝像頭生成供顯示所用的的預覽幀,但是仍需要使用它們進行曝光計算和白平衡設置的緣故。
此外,還可以省略文件名參數,這樣既可以直接預覽顯示而不寫入文件,或者直接輸出到標准輸出設備上。命令行幫助可以通過直接輸入應用程序名稱獲得。
安裝攝像頭硬件
警告:攝像頭對靜電非常敏感。如果您在安裝攝像頭電路板時沒有防靜電手環,可以嘗試觸摸一下水龍頭、金屬水槽或其它類似的東西即可。
攝像頭電路板與 Raspberry Pi 通過一條 15 芯的排線進行連接。僅有兩個連接座需要連接,排線需要安裝到攝像頭電路板和 Raspberry Pi 上。您需要正確安裝,否則攝像頭無法工作。對於攝像頭電路板,排線末端的藍色標記應該背對着電路板。而 Raspberry Pi 部分,藍色標記應該正對着網絡接口方向(如果您使用的是 Model A,那么也是需要正對着網絡接口預留位)。
盡管兩部分連接座不盡相同,但它們的工作方式很相似。對於 Raspberry Pi,拉起連接座兩端的卡扣。它應該很容易拉起,並能夠輕微活動。把排線完全插入到連接座中,並保證豎直,然后輕輕按下兩端的卡扣。攝像頭電路板方面,也 需要您將卡扣向電路板相反方向拉開,然后輕輕插入排線,最后將卡扣推回。攝像頭電路板的連接座與 Pi 上的區別就在這里。
安裝攝像頭軟件
執行下文介紹的命令行進行下載並安裝最新的內核,GPU 固件及應用程序。您需要連接到互聯網才可以實現以下操作。
1
2
|
sudo
apt-get update
sudo
apt-get upgrade
|
接下來,您首先需要在 Raspberry Pi 的 raspi-config 程序中啟用攝像頭的支持。
1
|
sudo
raspi-config
|
將光標移動到攝像頭選項(Camera option)處,並選擇啟用(Enable)。在退出 raspi-config 時會要求您重新啟動。啟用選項是為了確保重啟后 GPU 固件能夠正確運行(包括攝像頭驅動和調節電路),並且 GPU 從主內存划分到了足夠的內存使攝像頭能夠正確運行。
測試系統已經完成安裝並正常工作,可嘗試以下命令:
1
|
raspistill -
v
-o
test
.jpg
|
這將顯示來自攝像頭 5 秒鍾的預覽圖像,並且拍攝一張照片,然后保存為文件 test.jpg,同時顯示出需要相關信息。
故障排除
如果攝像頭工作不正常,您可以嘗試以下操作。
- 連接排線是否連接正確?它們必須都垂直插入到插槽中。
- 攝像頭模塊的連接座是否緊密的貼合到了電路板上?攝像頭模塊電路板上連接座的黑色卡扣,有時會發生松動。用指甲輕輕拉開,並且重新將排線插入,並且把卡扣按回。
- 是否運行過 sudo apt-get update 和 sudo apt-get upgrade 了?
- 是否運行過 raspi-config 並啟用了攝像頭選項?
- 您的電源合適嗎?除 Raspberry Pi 所要求的電量,攝像頭將需要額外的 200-250mA 的電量。
如果仍然無法工作,可以嘗試以下操作:
Error : raspistill/raspivid not found. 該提示可以意味着您 update/upgrade 操作失敗了。請重試。
Error : ENOMEM displayed. 攝像頭沒有啟動。請再次檢查所有的連接線。
Error : ENOSPC displayed. 攝像頭可能使 GPU 內存溢出了。檢查 /boot/ 目錄下的 config.txt 文件內容。gpu_men 選項,最少應該為 128。
如果以上內容都嘗試過了,攝像頭仍然無法工作,那么它可能出現問題了。可以嘗試在 Raspberry Pi 論壇的 Camera 板塊找找是否有更多可用的幫助。
通用命令行參數
預覽窗口
--preview, -p 預覽窗口設置 <'x,y,w,h'>
允許用戶在屏幕上定義預覽窗口的大小和位置。注意,這將在所有其它窗口/圖像的上層顯示。
--fullscreen, -f 全屏預覽模式
強制預覽屏幕全屏顯示。注意,這將會保留輸入圖像的長寬比例,所以可能會在圖像的邊緣出現填充條。
--nopreview, -n 不顯示預覽窗口
完全禁用預覽窗口。注意,盡管預覽窗口被禁用,但攝像頭仍然在進行處理,所以會繼續消耗資源。
--opacity, -op 設置預覽窗口透明度
設置預覽窗口的透明度。0 為完全透明,255 為完全不透明。
攝像頭控制參數
--sharpness, -sh 設置圖像銳度(-100 - 100)
設置圖像的銳度,默認為 0。
--contrast, -co 設置圖像對比度(-100 - 100)
設置圖像的對比度,默認為 0。
--brightness, -br 設置圖像亮度(0 - 100)
設置圖像的亮度,默認為 50。0 為最暗,100 為最亮。
--saturation, -sa 設置圖像飽和度(-100 - 100)
設置圖像色彩飽和度。默認為 0。
--ISO, -ISO 設置捕捉 ISO
為捕捉圖像設置 ISO。范圍為 100 到 800。
--vstab, -vs 打開視頻穩定
僅用於視頻模式,用於開啟視頻穩定。
--ev, -ev 設置曝光補償
設置圖像的曝光補償。范圍為 -10 到 10,默認為 0。
--exposure, -ex 設置曝光模式
可能用到的參數為:
- auto - 使用自動曝光模式
- night - 夜間拍攝模式
- nightpreview -夜間預覽拍攝模式(暫且這么稱呼)
- backlight - 逆光拍攝模式
- spotlight - 聚光燈拍攝模式
- sports - 運動拍攝模式(高速快門等)
- snow - 雪景優化拍攝模式
- beach - 海灘優化拍攝模式
- verylong - 長時間曝光拍攝模式
- fixedfps - 幀約束拍攝模式
- antishake - 防抖模式
- fireworks - 煙火優化拍攝模式
注意,不是所有的設置都會在對攝像頭進行微調時得到相應作用。
--awb, -awb 設置自動白平衡
可能用到的參數為:
- off - 關閉白平衡測算
- auto - 自動模式(默認)
- sun - 日光模式
- cloud - 多雲模式
- shade - 陰影模式
- tungsten - 鎢燈模式
- fluorescent - 熒光燈模式
- incandescent - 白熾燈模式
- flash - 閃光模式
- horizon - 地平線模式
--imxfx, -ifx 設置圖像特效
設置應用於圖像上的特效
可能用到的參數為:
- none - 無特效(默認)
- negative - 反色圖像
- solarise - 曝光過度圖像
- posterize - 色調圖像
- whiteboard - 白板特效
- blackboard - 黑板特效
- sketch - 素描風格特效
- denoise - 降噪圖像
- emboss - 浮雕圖像
- oilpaint - 油畫風格特效
- hatch - 草圖特效
- gpen - 馬克筆特效
- pastel - 柔化風格特效
- watercolour - 水彩風格特效
- film - 膠片顆粒風格特效
- blur - 模糊圖像
- saturation - 色彩飽和圖像
- colourswap - 暫未可用
- washedout - 暫未可用
- posterise - 暫未可用
- colourpoint - 暫未可用
- colourbalance - 暫未可用
- cartoon - 暫未可用
--colfx, -cfx 設置色彩特效
指定圖像 U 和 V 通道的參數(范圍 0 到 255)。例如:--colfx 128:128 將得到一張單色圖像。
--metering, -mm 設置測光模式
為預覽和捕捉指定測光模式
可能用到的參數為:
- average - 全畫面平衡測光
- spot - 點測光
- backlit - 模擬背光圖像
- matrix - 陣列測光
--rotation, -rot 設置圖像旋轉(0 - 359)
對取景器和最終得到的圖像進行旋轉。可以接受 0 以上任何值,但由於硬件限制,只支持 0、90、180、270 度。
--hflip, -hf 設置水平翻轉
水平翻轉預覽和保存的圖像。
--vflip, -vf 設置垂直翻轉
垂直翻轉預覽和保存的圖像。
--roi, -roi 設置傳感器感光區域
允許指定用於預覽和捕捉的源所使用的傳感器區域。該功能中 x 和 y 參數指定了坐上角的坐標,以及定義了寬度和高度值,並且所有值都為標准化坐標(0.0 到 1.0)。那么,感光區域設置為橫向和縱向都為一半,並且寬度和高度都為傳感器的四分之一時,可以寫為:
-roi 0.5,0.5,0.25,0.25
--shutter, -ss 設置快門速度
設置快門的速度為指定的值(單位為微秒)。據當前的考證,目前未定義時,快門速度上限大約為 330000us(330ms 或 0.33s)。
應用程序專有設置
raspistill
--width, -w 設置圖像寬度
--height, -h 設置圖像高度
--quality, -q 設置 JPEG 品質
品質為 100 時幾乎等同於未壓縮。75 相對是比較好的選擇。
--raw, -r 向 JPEG 元數據中添加 RAW 信息
該參數將從攝像頭獲取到的 RAW 信息插入到 JPEG 元數據中。
--output, -o 輸出文件名
指定輸出的文件名。如果不指定,將不保存到文件。如果文件名為“-”,將輸出發送至標准輸出設備。
--latest, -l 鏈接最后一幀到文件名
基於該名稱做一個指向最后一幀的文件系統鏈接。
--verbose, -v 在運行過程中輸出詳細信息
在程序運行過程中,輸出調試/詳細信息。
--timeout, -t 獲取圖片前的時間
程序將執行指定的時長,然后進行獲取操作(前提是 output 已指定)。如果未指定,將設置為 5 秒。
--timelapse, -tl 間隔拍攝模式
指定多次拍攝之間所間隔的毫秒值。注意,您需要在文件名中加入 %04d 做為畫面計數。
-t 30000 -tl 2000 -o image%04d.jpg
將會在 30 秒的時間內,每兩秒拍攝一次,並且將文件命名為:image1.jpg、image0002.jpg...image0015.jpg。注意 %04d 表示在文件名中數字部分加入前導零,使其成為 4 位數。例如,%08d 將生成 8 位數字。
如果間隔時間設置為 0,程序將不間斷(取決於系統負擔及存儲速度)進行拍攝。不過需要注意,每次捕捉前還是會有 30ms 的最小暫停時間,用於曝光計算操作。
--thumb, -th 設置縮略圖參數(x:y:quality)
允許指定插入到 JPEG 文件中縮略圖信息。如果不指定,將為默認的 64x48 質量為 35 的縮略圖。
如果設置為 --thumb none,那么將不會向文件中插入縮略圖信息。文件的尺寸也會稍微變小。
--demo, -d 運行演示模式
該參數將循環使用所有攝像頭參數,並且不會捕捉。而且無論是否完成所有的循環,在超時周期到達時都會停止演示操作。循環之前的時間需要設置毫秒值。
--encoding, -e 指定輸出文件的編碼
可用的參數為 jpg、bmp、gif、png。注意,未被硬件加速支持的圖像格式(gif、png、bmp)在保存的時候要比 jpg 格式耗時更長。還需要注意,文件擴展名在編碼時將被完全忽略。
--exif, -x 在捕捉的內容中加入 EXIF 標簽(格式為 'key=value')
允許在 JPEG 圖像中插入特定的 EXIF 標簽。您可以插入 32 條記錄。這是非常實用的功能,比如插入 GPS 元數據。例如設置經度
--exif GPS.GPSLongitude=5/1,10/1,15/100
該命令將會設置經度為 5 度 10 分 15 秒。查看 EXIF 文檔獲得所有可用標簽的詳細信息。支持的標簽如下:
IFD0. 或 IFD1.
<ImageWidth, ImageLength, BitsPerSample, Compression, PhotometricInterpretation, ImageDescription, Make, Model, StripOffsets, Orientation, SamplesPerPixel, RowsPerString, StripByteCounts, Xresolution, Yresolution, PlanarConfiguration, ResolutionUnit, TransferFunction, Software, DateTime, Artist, WhitePoint, PrimaryChromaticities, JPEGInterchangeFormat, JPEGInterchangeFormatLength, YcbCrCoefficients, YcbCrSubSampling, YcbCrPositioning, ReferenceBlackWhite, Copyright>
EXIF.
<ExposureTime, FNumber, ExposureProgram, SpectralSensitivity, a ISOSpeedRatings, OECF, ExifVersion, DateTimeOriginal, DateTimeDigitized, ComponentsConfiguration, CompressedBitsPerPixel, ShutterSpeedValue, ApertureValue, BrightnessValue, ExposureBiasValue, MaxApertureValue, SubjectDistance, MeteringMode, LightSource, Flash, FocalLength, SubjectArea, MakerNote, UserComment, SubSecTime, SubSecTimeOriginal, SubSecTimeDigitized, FlashpixVersion, ColorSpace, PixelXDimension, PixelYDimension, RelatedSoundFile, FlashEnergy, SpacialFrequencyResponse, FocalPlaneXResolution, FocalPlaneYResolution, FocalPlaneResolutionUnit, SubjectLocation, ExposureIndex, SensingMethod, FileSource, SceneType, CFAPattern, CustomRendered, ExposureMode, WhiteBalance, DigitalZoomRatio, FocalLengthIn35mmFilm, SceneCaptureType, GainControl, Contrast, Saturation, Sharpness, DeviceSettingDescription, SubjectDistanceRange, ImageUniqueID>
GPS.
<GPSVersionID, GPSLatitudeRef, GPSLatitude, GPSLongitudeRef, GPSLongitude, GPSAltitudeRef, GPSAltitude, GPSTimeStamp, GPSSatellites, GPSStatus, GPSMeasureMode, GPSDOP, GPSSpeedRef, GPSSpeed, GPSTrackRef, GPSTrack, GPSImgDirectionRef, GPSImgDirection, GPSMapDatum, GPSDestLatitudeRef, GPSDestLatitude, GPSDestLongitudeRef, GPSDestLongitude, GPSDestBearingRef, GPSDestBearing, GPSDestDistanceRef, GPSDestDistance, GPSProcessingMethod, GPSAreaInformation, GPSDateStamp, GPSDifferential>
EINT.
<InteroperabilityIndex, InteroperabilityVersion, RelatedImageFileFormat, RelatedImageWidth, RelatedImageLength>
注意,有部分標簽將會由攝像頭系統自動設置,但是會被命令行執行的 EXIF 操作所覆蓋。
如果設置為 --exif none,那么將不會向文件中插入 EXIF信息。文件的尺寸也會稍微變小。
--fullpreview, -fp 全預覽模式
這將使預覽窗口運行於全分辨率捕捉模式。該模式最大幀率為 15fps,並且預覽將和捕捉擁有相同的可視區域。在不進行模式轉換時,捕捉動作將進行的更迅速。該功能目前還在開發中。
--keypress, -k 按鍵模式
攝像頭會運行(-t)參數指定的時間,並且每次按下回車鍵時進行一次捕捉。在超時設置到達前按 X 鍵然后按回車鍵將退出程序。如果超時時間設置為 0,攝像頭將一直工作,直到按下 X 鍵和回車鍵。使用 verbose(-v)參數可以顯示輸入確認提示,否則不會有任何提示。
--signal, -s 信號模式
攝像頭會運行(-t)參數指定的時間,並且每次向攝像進程發送 USR1 信號時進行一次捕捉。該操作可以通過發送 kill 命令進行終止。您可以使用“pgrep raspistill”命令找到攝像進程的 ID。
1
|
kill
-USR1
|
raspistillyuv
raspistillyuv 的許多選項與 raspistill 是相同的。本節將對不同的部分進行講解。
不支持的選項:
--exif, --encoding, --thumb, --raw, --quality
擴展選項:
--rgb, -rgb 以 RGB888 形式保存未壓縮數據
該選項強制圖像保存為每個通道為 8 bits 的 RGB 格式,而不是 YUV420 格式。
注意,在 raspistillyuv 中所保存的圖像在緩沖區中水平尺寸封裝為可被 16 整除(所以可能會在每行的結尾都會出現無用的字節以使寬度可被 16 整除)。緩沖區也會將垂直方向封裝為可被 16 整除,在 YUV 模式中,每個 Y、U、V 平面都會使用該方式進行封裝。
raspivid
--width, -w 設置圖像寬度
視頻的寬度。范圍為 64 到 1920。
--height, -h 設置圖像高度
視頻的高度。范圍為 64 到 1080。
--bitrate, -b 設置碼率。
使用比特/秒為單位,所以 10Mbits/s 需要輸入 -b 10000000。對於 H264 編碼的 1080p30 高清視頻,碼率需要在 15Mbits/s 或以上。碼率最大為 25Mbits/s(-b 25000000),但大於 17Mbits/s 時,在 1080p30 中並沒有太大區別。
--output -o 輸出文件名
指定輸出的文件名。如果不指定,將不保存到文件。如果文件名為“-”,將輸出發送至標准輸出設備。
--verbose, -v 在運行過程中輸出詳細信息
在程序運行過程中,輸出調試/詳細信息。
--timeout, -t 獲取圖片前的時間
程序將執行指定的時長,然后進行獲取操作(前提是 output 已指定)。如果未指定,將設置為 5 秒。設置為 0 意味着程序將一直運行,直到按下 Ctrl-C 才會停止。
--demo, -d 運行演示模式
該參數將循環使用所有攝像頭參數,並且不會捕捉。而且無論是否完成所有的循環,在超時周期到達時都會停止演示操作。循環之前的時間需要設置毫秒值。
--framerate, -fps 指定錄制的視頻每秒的畫面數量
目前,最小的幀率為 2fps,最大為 30fps。似乎將來會有所改變。
--penc, -e 在編碼完成后顯示預覽圖像
開啟該選項會在壓縮完成后顯示預覽圖像。顯示在預覽窗口中的圖像會因為壓縮的原因出現失真。正常情況下,預覽將會顯示攝像頭輸出的原始圖像。該功能在未來的版本中可能不再可用。
--intra, -g 指定幀內刷新周期(關鍵幀率/畫面組)
為錄制的視頻設置幀內刷新周期(畫面組)率。H.264 視頻在每個幀內刷新周期中都使用了 I-frame。該選項指定了每個 I-frame 之間幀的數量。數字越大,生成的視頻尺寸越小,數字越小,視頻流將越龐大,直至出錯。
--qp, -qp 設置量化參數
為視頻流設置初始量化參數。范圍從 10 到 40,並且對所錄制視頻的質量有極大的影響。值越大,質量越低,並且文件尺寸越小。碼流設置為 0,並結合此參數一起使用,可用來設置一個完全動態碼流的視頻。
--profile, -pf 為錄制的視頻指定 H264 配置文件
為錄制的視頻指定 H264 配置文件。選項為:baseline、main、high。
--inline, -ih Insert PPS, SPS headers 插入 PPS,SPS 頭
強制視頻流的 I-frame 都包含 PPS 和 SPS 頭信息。某些視頻封裝格式需要該信息。例如 Apple HLS。這些頭信息體積很小,所以不會讓文件的尺寸增加太多。
--timed, -td 設置定時切換捕捉和暫停
該選項可以使視頻捕捉在特定的時間里暫停並重新開始記錄。需要指定開啟時間和關閉時間兩個值。開啟時間是視頻的捕捉時長,關閉時間是暫停的時長。總錄制時長是又超時選項進行定義的。注意,由於開啟時間和關閉時間的設置原因,錄制時長將略微比超時設置的時間要長。
例如
1
|
raspivid -o
test
.h264 -t 25000 -timed 2500,5000
|
將進行 25 秒的錄制操作。錄制操作包括若干個 2500 毫秒(2.5 秒)錄制和 5000 毫秒(5秒)暫停的操作,並且重復時長超過 20 秒。所以該錄制過程中實際只錄制了 10 秒的內容。包括 4 段 2.5 秒的視頻片斷 = 被若干個 5 秒鍾暫停操作分隔開的 10 秒鍾視頻。
2.5 秒錄制 – 5 秒暫停 - 2.5 秒錄制 – 5 秒暫停 -2.5 秒錄制 – 5 秒暫停 – 2.5 秒錄制
錄制了 25 秒。但僅有 10 秒的記錄
--keypress, -k 使用回車鍵在錄制和暫停兩種狀態間進行切換
每次點擊回車鍵將會暫停或重新開始錄制進程。點擊 X 鍵后點擊回車鍵將停止錄制並關閉程序。注意,超時設置值將影響錄制結束時間,但僅在每次回車鍵點擊后進行檢查,所以如果系統正在等待按鍵操作,盡管超時設置已過期,錄制進程退出前也會等待按鍵操作。
--signal, -s 使用 SIGUSR1 信號在錄制和暫停兩種狀態間進行切換
向 Raspivid 進程發送 USR1 信號來切換錄制和暫停。該操作可以通過使用 kill 命令來實現。您可以使用“pgrep raspivid” 命令找到 raspivid 的進程 ID。
kill -USR1
注意,超時設置值將影響錄制結束時間,但僅在每次發送 SIGUSR1 信號后進行檢查,所以如果系統正在等待信號,盡管超時設置已過期,錄制進程退出前也會等待信號的發送操作。
--initial, -i 定義啟動時的初始狀態。
定義攝像頭初始狀態為暫停或立即開始錄像。選項可以為“record”(錄像)或“pause”(暫停)。注意,如果您設置的超時時長很短,而且初始狀態設置為“暫停”,那么將不會錄制任何輸出的內容。
--segment, -sg 將視頻流分段存儲到多個文件
與存儲在單個文件中不同,該參數將視頻分段存儲在以毫秒為單位所指定長度的數個文件中。為了將生成的文件命名為不同的名稱,您需要在文件名中合適的位置添加 %04d 或類似的參數來讓文件名中顯示計數值。例如:
--segment 3000 -o video%04d.h264
將分割成每段長度 3000 毫秒(3 秒)並且命名為 video0001.h264,video0002.h264 等。每個段落都是可無縫連接的(段落之間不會丟幀),但每個片段的長度將取決於幀內周期值,原因是每個分割的段落都需要起始於 I-frame 處。因此,每個段落都會等於或大於指定的時間長度。
--wrap, -wr 設置最大分段數
當輸出分段視頻時,該參數設置了最大分段數,並且達到最大值時,將返回到初始的第一個段落。該參數賦予了錄制分段視頻的功能,但是將覆蓋之前生成的 文件。所以,如果設置為 4,那么上面的例子中所生成的文件名為 video0001.h264,video0002.h264,video0003.h264,video0004.h264。而且,一旦 video0004.h264 文件錄制完畢后,計數將回到 1,並且 video0001.h264 將被覆蓋。
--start, -sn 設置初始段落數
當輸出分段視頻時,該參數為初始的段落數,它允許從指定的段落恢復之前的錄制操作。默認值為 1。
示例
圖像捕捉
默認情況下,傳感器將以其支持的最高分辨率進行捕捉。可以在命令行中通過使用 -w 和 -h 參數進行更改。
1
2
|
# 兩秒鍾(時間單位為毫秒)延遲后拍攝一張照片,並保存為 image.jpg
raspistill -t 2000 -o image.jpg
|
1
2
|
# 拍攝一張自定義大小的照片。
raspistill -t 2000 -o image.jpg -w 640 -h 480
|
1
2
|
# 降低圖像質量,減小文件尺寸
raspistill -t 2000 -o image.jpg -q 5
|
1
2
|
# 強制使預覽窗口出現在坐標為 100,100 的位置,並且尺寸為寬 300 和高 200 像素。
raspistill -t 2000 -o image.jpg -p 100,100,300,200
|
1
2
|
# 禁用預覽窗口
raspistill -t 2000 -o image.jpg -n
|
1
2
|
# 將圖像保存為 PNG 文件(無損壓縮格式,但是要比 JPEG 速度慢)。注意,當選擇圖像編碼時,文件擴展名將被忽略。
raspistill -t 2000 -o image.png –e png
|
1
2
|
# 向 JPEG 文件中添加一些 EXIF 信息。該命令將會把作者名稱標簽設置為 Dreamcolor,GPS 海拔高度為 123.5米。
raspistill -t 2000 -o image.jpg -x IFD0.Artist=Dreamcolor -x GPS.GPSAltitude=1235
/10
|
1
2
|
# 設置浮雕風格圖像特效
raspistill -t 2000 -o image.jpg -ifx emboss
|
1
2
|
# 設置 YUV 圖像的 U 和 V 通道為指定的值(128:128 為黑白圖像)
raspistill -t 2000 -o image.jpg -cfx 128:128
|
1
2
|
# 僅顯示兩秒鍾預覽圖像,而不對圖像進行保存。
raspistill -t 2000
|
1
2
|
# 間隔獲取圖片,在 10 分鍾(10 分鍾 = 600000 毫秒)的時間里,每 10 秒獲取一張,並且命名為 image_number_001_today.jpg,image_number_002_today.jpg... 的形式,並且最后一張照片將命名為 latest.jpg。
raspistill -t 600000 -tl 10000 -o image_num_%03d_today.jpg -l latest.jpg
|
1
2
|
# 獲取一張照片並發送至標准輸出設備
raspistill -t 2000 -o -
|
1
2
|
# 獲取一張照片並保存為一個文件
raspistill -t 2000 -o - > my_file.jpg
|
1
2
|
#攝像頭一直工作,當按下回車鍵時獲取一張照片。
raspistill -t 0 -k -o my_pics%02d.jpg
|
視頻捕捉
圖像尺寸和預覽設置與圖像捕捉相同。錄制的視頻默認尺寸為 1080p(1920x1080)
1
2
|
# 使用默認設置錄制一段 5 秒鍾的視頻片段(1080p30)
raspivid -t 5000 -o video.h264
|
1
2
|
# 使用指定碼率(3.5Mbits/s)錄制一段 5 秒鍾的視頻片段
raspivid -t 5000 -o video.h264 -b 3500000
|
1
2
|
# 使用指定幀率(5fps)錄制一段 5 秒鍾的視頻片段
raspivid -t 5000 -o video.h264 -f 5
|
1
2
|
# 發送到標准輸出設備一段 5 秒鍾經過編碼的攝像頭流圖像
raspivid -t 5000 -o -
|
1
2
|
# 保存到文件一段 5 秒鍾經過編碼的攝像頭流圖像
raspivid -t 5000 -o - > my_file.h264
|
Shell 錯誤代碼
應用程序將返回完整的錯誤代碼。可能出現的錯誤代碼為:
EX_OK 0 應用程序運行成功
EX_USAGE 64 錯誤的命令行參數
EX_SOFTWARE 70 軟件或攝像頭錯誤
130 由於按下 Ctrl-C,應用程序終止運行
擴展內容
MP4Box
raspivid 通常會將錄制的視頻保存為 .h264 格式的文件。而我們使用的很多播放器可能無法正常播放該格式的視頻文件。這就需要我們將生成的 .h264 格式的文件封裝到播放器能夠識別的視頻容器格式中(比如封裝為 mp4 格式)。有很多視頻處理軟件可以達到這個目的,您也可以直接在 Raspberry Pi 上直接進行封裝。這里介紹的是“gpac”中的“MP4Box”。安裝和使用的方法如下:
1
2
3
4
|
sudo
apt-get update
sudo
apt-get
install
gpac
MP4Box -add filename.h264 filename.mp4
|
相關網站
原文地址:RaspiCam Documentation
項目地址:RaspiCam
本文鏈接:Raspberry Pi 攝像頭模塊應用程序文檔翻譯
Rpi Camera Module from eLinux
如需轉載,請注明出處。謝謝……