Tag - 樹莓派

台灣物聯科技 出貨迅速 全省超商取貨

台灣物聯科技可全省超商取貨. 樹莓派 Raspberry Pi、Arduino、Sparkfun、Seeed、DFRobot等各大品牌感測器原廠進口代理銷售。種類齊全,一站式購齊,可配合學校各大公司行號大量採購提供報價單,歡迎寫EMAIL前來索取。

樹莓派-Raspberry PI,內置的防火牆ufw設置和啟用

樹莓派-Raspberry PI,內置的防火牆ufw設置和啟用

ufw是一個主機端的iptables類防火牆配置工具,比較容易上手。如果你有一台暴露在外網的樹莓派,則可通過這個簡單的配置提升安全性。

安裝方法

sudo apt-get install ufw

當然,這是有圖形界面的(比較簡陋),在新立得里搜索gufw試試……   使用方法

啟用

sudo ufw enable
sudo ufw default deny

作用:開啟了防火牆並隨系統啟動同時關閉所有外部對本機的訪問(本機訪問外部正常)。
關閉

sudo ufw disable

查看防火牆狀態

sudo ufw status

開啟/禁用相應端口或服務舉例

sudo ufw allow 80 允許外部訪問80端口sudo ufw delete allow 80 禁止外部訪問80 端口sudo ufw allow from 192.168.1.1 允許此IP訪問所有的本機端口sudo ufw deny smtp 禁止外部訪問smtp服務sudo ufw delete allow smtp 刪除上面建立的某條規則ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 要拒絕所有的流量從TCP的10.0.0.0/8 到端口22的地址192.168.0.1

可以允許所有RFC1918網絡(局域網/無線局域網的)訪問這個主機(/8,/16,/12是一種網絡分級):

sudo ufw allow from 10.0.0.0/8sudo ufw allow from 172.16.0.0/12sudo ufw allow from 192.168.0.0/16

推薦設置

sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny

這樣設置已經很安全,如果有特殊需要,可以使用sudo ufw allow開啟相應服務。

Raspberry Pi 攝像頭模塊應用程序文檔翻譯

Raspberry Pi 攝像頭模塊應用程序文檔翻譯

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 攝像頭應用程序進行介紹。

目前提供了三個應用程序,分別為:raspistillraspividraspistillyuv。其中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文件中縮略圖信息。如果不指定,將為默認的64×48質量為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(1920×1080)

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

Raspberry Pi 攝像頭模塊應用程序文檔翻譯

台灣物聯科技 TaiwanIOT