2017/10/11

內容

• 樹莓派家庭劇院 第9章 • Pi DLNA 伺服器 媒體播放機實作 • 媒體播放廣告機(參考) • 數位像框實作(參考) • Pi USB WebCam 縮時攝影(參考)

家庭劇院

• 其他參考 – 原 XBMC – Windows Media 樹莓派家庭劇院 Center • – 基於 Kodi – NextPVR – MediaPortal – MythTV – JRiver Media Center – Steam Big Picture – HDHomeRun DVR

1 2017/10/11

Kodi/Plex 比較 Raspberry pi 家庭劇院

Features Kodi Plex • Kodi Based • Plex Based Client Based (or Database Location Central Server Centrally with MySQL) – OSMC (原 Raspbmc) – RasPlex Database Management Client Interface Web Interface – OpenELEC Transcoding Handled by Client Handled by Server XBian Client Hardware Support A Lot A Lot More – Add-ons Lots Limited – GeeXbox  停止開發 Visual Customization Very Flexible Limited Add-on Maintenance Community Professional Free, $5 per Client Cost Free and/or Optional Subscription Remote Streaming Impossible/Difficult Possible

Kodi 作業系統

http://kodi.tv/ Kodi

2 2017/10/11

Pi 安裝指引

http://kodi.wiki/view/HOW-TO:Install_Kodi_on_Raspberry_Pi

Raspbian Kodi 安裝

安裝 啟動 kodi apt-get install –y kodi • Desktop 版本 • 進⾏安裝

3 2017/10/11

注意

• Kodi 無法經由 rdp 遠端桌面顯示 • 原 rdp 桌面保留原 lxde 桌面 紅外線遙控 • 因使⽤桌面系統加上 Kodi 播放時較不順暢,建議 改⽤優化的 – OpenElec, OSMC 等軟體

購買 USB 界面遙控器 遙控器 DIY (1)

• LIRC 遙控器-DIY – http://kodi.wiki/view/LIRC – 使⽤ LIRC (http://www.lirc.org/)

4 2017/10/11

遙控器 DIY (2)

• 參考 – http://wiki.openelec.tv/index.php/Guide_T o_lirc_rpi_GPIO_Receiver – http://www.msldigital.com/pages/support ssh 連線控制 -for-remote – http://haegi.org/blog/2015/03/raspberry- pi-osmc-hyperion-ir-remote/ – http://alexba.in/blog/2013/06/08/open- source-universal-remote-parts-and- pictures/ – …..

Openelec ssh 連線控制 OSMC ssh/sftp

• 帳號:root • username: osmc • 密碼: • password: osmc • 密碼可變更

• Root 密碼設定 – sudo passwd root

5 2017/10/11

Xbian ssh 相關命令

• 帳號:root • 重啟 • 密碼:raspberry – systemctl restart kodi • 其他 命令 • Serial Console 需要設定才可 • CPU 使⽤量 – top • 關機重啟 – poweroff – reboot

字幕檔格式

• 圖形資料格式 • 文字資料格式 – SUB格式 – SRT格式 影⾳字幕檔 – SST格式 – SSA、ASS格式 – SON格式 – SMI格式 – PSB格式 – PJS格式 – STL格式 – TTS格式 – VSF格式 – ZEG格式

6 2017/10/11

SUB 格式 SRT 格式

• 組成 • SRT(Subripper)是最簡單的文字字幕格式,副 檔名為.srt – 字幕圖片檔案(.sub文件) • 組成為: – 字幕索引檔案(.idx文件) ⼀⾏字幕序號 – ⼀個.sub文件可同時包含多個語言的字幕, ⼀⾏時間代碼 顯示時間從該影片開始的 由.idx進⾏呼叫。 第2分32.164秒到第2分 ⼀⾏字幕資料 33.317秒 • 如: 38 00:02:32,164 --> 00:02:33,317 字幕資料

Srt 格式編碼

• BIG5 建議轉為 UTF-8 • GB 建議轉為 UTF-8 • UTF-8 建議的編碼格式 Pi DLNA 伺服器 • UCS-2-Little Endian 可接受格式

7 2017/10/11

DLNA伺服器 何謂串流(stream)

• 數位生活網路聯盟 (Digital Living Network • 串流: • 非串流 Alliance ,DLNA) – 影新資料封包得以 – 先將所有資料,都 • 多媒體串流影⾳伺服器 像流⽔⼀樣傳送 下載到硬碟上,再 • ⾳樂、影片、圖片 – ⽤⼾可以⼀邊下載 開啟應⽤軟體觀看 • 經由使⽤者 Windows、手機App播放 ⼀邊觀看 – 如 1G 影片,可能需 – 也容易觀看影片的 要⼀⼩時才能下載, 任何⼀段 ⼀⼩時之後再觀看

下載、燒錄、網路 更新

• Raspbian Lite 版本即可 • 更新 • 參考相關單元 sudo apt-get update – 參考基本操作 sudo apt-get upgrade – 參考終端機 (如網路不佳,可能要⼀點時間) – 參考無線網路設定

8 2017/10/11

支援掛載 USB 安裝

• 支援 NTFS 檔案系統 • sudo apt-get install -y minidlna sudo apt-get install -y ntfs-3g • 建立掛載點(先不要插入 USB Stick) • 參考 sudo mkdir /media/USB • ReadyMedia (MiniDLNA) sudo chmod a+rw /media/USB • http://minidlna.sourceforge.net/ • 編輯 sudo nano /etc/fstab 加入(視需要選⼀)

/dev/sda1 /media/USB vfat defaults,noatime,nodiratime 0 0 /dev/sda1 /media/USB ntfs-3g defaults,noatime,nodiratime 0 0

設定檔 設定檔(續)

• sudo nano /etc/minidlna.conf #埠號(預設值8200) #多媒體存放目錄,也可以在隨身碟 port=8200 media_dir=A,/media/USB/DLNA/ # 名稱 media_dir=V,/media/USB/DLNA/video friendly_name= [在UPnP網路上的名稱] media_dir=P,/media/USB/DLNA/picture # MiniDLNA使⽤sqllite資料庫來索相關檔案 db_dir=/home/pi/dlna_db #如要 log log_dir=/var/log

9 2017/10/11

目錄及多媒體準備 如果要自動啟動

• DLNA • 開機時就自動啟動: – music sudo update-rc.d minidlna defaults – video – picture

• mkdir -p /home/pi/dlna_db • sudo chmod 777 /home/pi/dlna_db

啟⽤ 測試- Windows

• 啟動 • Windows 檔案總管-媒體裝置可以看到 sudo service minidlna start – 在影片地方按滑鼠右鍵,選 Windows Media • 重啟動 Player 即可播放串流影⾳ sudo service minidlna restart (要使⽤有支援串流的播放器) • 更新 MiniDLNA 資料庫內容以符合目錄內檔案, 在新增或刪除影⾳圖檔案內容⼀定要執⾏ sudo service minidlna force-reload • 如無效則刪除 files.db 重新執⾏(不是好方法)

10 2017/10/11

Windows 操作-1 Windows 操作-2

測試- Android 檢視訊息

• 安裝 • http://Raspberry Pi 的IP位址:8200/ – MediaHouse UPnP / DLNA Browser App 其內容包括了Audio、Video及 Image 檔案數量 • 或其他

11 2017/10/11

目的

• 循環播放 USB 目錄下所有合格影片 • 影片媒體存於 USB 媒體播放廣告機 • 支援 – mp4,avi,mkv,mp3,mov,mpg,flv,m4v – 支援到 1920x1080 • 使⽤樹莓派 Pi 2B 或 Pi 3B

基本設定 更新

• 下載安裝 • 更新 – Raspbian Lite sudo apt-get update (如 Desktop 版本不要啟動圖形桌面) sudo apt-get upgrade • 參考相關單元 – 映像檔寫入 • 更新 firmware, kernel – 網路設定 rpi-update – 系統更新

12 2017/10/11

編輯 config-聲⾳ 編輯 config-顯示解析度

• 如要支援 hdmi • 內定顯示器解析度 1024x768 ,寬銀幕需要調整 • sudo nano /boot/config.txt 參考 config.txt 編輯 … hdmi_drive=2 hdmi_force_hotplug=1 … #Pretend all audio formats are supported hdmi_force_edid_audio=1 …

編輯 config-顯示解析度 編輯 config-GPU 記憶體 hdmi_group=2 #1280x1024 • 如解析度設太高,如出現 hdmi_mode=35 COMXAudio::Decode timeout #1920x1080 #1024x768 • 可以編輯 config.txt 設定加大 GPU memory , hdmi_mode=82 hdmi_mode=16 如原 64M 改為 128M (加以下資料到 config.txt) #1080x720 #800x600 gpu_mem=128 hdmi_mode=85 hdmi_mode=9

13 2017/10/11

支援掛載 USB

• 支援 NTFS 檔案系統 sudo apt-get install -y ntfs-3g 如要支援掛載 USB • 建立掛載點(先不要插入 USB Stick) sudo mkdir /media/USB sudo chmod a+r /media/USB • 編輯 sudo nano /etc/fstab 加入(視需要選⼀) /dev/sda1 /media/USB vfat defaults,noatime,nodiratime 0 0 /dev/sda1 /media/USB ntfs-3g defaults,noatime,nodiratime 0 0

安裝軟體

sudo apt-get install -y omxplayer

Omxplayer 操作 • 針對樹莓派設計的 command line 媒體播放器 • http://elinux.org/Omxplayer

14 2017/10/11

Omxplayer 操作 Omxplayer 選項

1 speed - d subtitle delay (- 250 ms) -w --hw Hw audio decoding 2 speed + f subtitle delay (+ 250 ms) -r --refresh Adjust framerate/resolution to video < rewind q exit -b --blank Set background to black > fast forward p/space pause/resume --loop Loop file. Ignored if file not seekable z show info - Volume - j previous audio stream +/= volume + --vol n set initial volume in millibels (default 0) k next audio stream  seek -30 sec. --amp n set initial amplification in millibels i previous chapter  seek +30 sec. (default 0) o next chapter  seek -600 sec. --subtitles path External subtitles in UTF-8 srt n previous subtitle stream  seek +600 sec. format m next subtitle stream s toggle subtitles w show subtitles x hide subtitles

操作

• omxplayer rtmp://...

• omxplayer -o local rtsp://192.168.3.100:8554/stream1 廣告播放機

15 2017/10/11

自動登入 建立腳本

Raspbian jiessie 沒有 /etc/initab nano /home/pi/startvideos.sh • 故新增檔案 #!/bin/bash 存放目錄 sudo nano /etc/systemd/system/[email protected]/autologin.conf FILES=/media/USB/vedioloops/ [Service] current=0 無換⾏ ExecStart= for f in `ls $FILES | grep ExecStart=-/sbin/agetty --autologin pi --noclear %I 38400 linux ".mp4$\|.avi$\|.mkv$\|.mp3$\|.mov$\|.mpg$\|.flv$\|. m4v$"` • 自動登入 pi user do sudo systemctl enable [email protected] vids[$current]="$f" let current+=1 • 重啟 done sudo reboot

建立腳本 ( 續) 登入後執⾏腳本 max=$current 登入後執⾏腳本 current=0 while true; do sudo nano /etc/profile let current+=1 最後⼀⾏加入 if [ $current -ge $max ] clear then current=0 . /home/pi/startvideos.sh fi /usr/bin/omxplayer -o both -b "$FILES${vids[$current]}" • 重新開機 done 無換⾏ sudo reboot chmod 755 /home/pi/startvideos.sh

16 2017/10/11

Boot logo

sudo apt-get install fbi • 腳本(下頁) 如要建立 boot logo /etc/init.d/asplashscreen • 圖片檔案 1920x1080 png 格式 /etc/splash.png

sudo chmod a+x /etc/init.d/asplashscreen sudo insserv /etc/init.d/asplashscreen

asplashscreen

#! /bin/sh do_start () { /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png exit 0 } case "$1" in start|"") do_start 數位像框實作 ;; restart|reload|force-reload) echo "Error: argument '$1&' not supported" >&2 exit 3 ;; stop) # No-op ;; status) exit 0 ;; *) echo "Usage: asplashscreen [start|stop]" >&2 exit 3 ;; esac

17 2017/10/11

軟體

• 文字命令模式顯示圖形程式 • fbi 顯示圖片 • fim (Fbi IMproved)

fbi 安裝 操作 sudo apt-get update fbi -T 2 pic.jpg sudo apt-get -y install fbi fbi -d /dev/fb0 note-icon.jpg fbi -d /dev/fb0 -a *.jpg

-a autozoom -autoup autozoom, but scale up only. --autodown autozoom, but scale down only

18 2017/10/11

鍵盤操作 應⽤

+, - zoom in/out • How can I refresh image displayed by fbi ESQ, Q quit without black screen transition? PgUp previous image PgDn,Space next image • fbi -T 1 -d /dev/fb0 -a -noverbose - Return next image t 60 -cachemem 0 /tmp/display- P pause (-t, toggle) image.png /tmp/image-alias-1.png V enable/disable status line /tmp/image-alias-2.png g jump to image # s set zoom to %

fim 安裝 操作 sudo apt-get update fim -a example.jpg sudo apt-get -y install fim 所有圖形 fim -a *.jpg PageUp/PageDown 控制

產生 ASCII fim -a -t example.jpg

19 2017/10/11

操作選項 鍵盤控制

-a, --autozoom PageUp/Down Prev/Next image -t, --no-framebuffer (ascii art) +/- Zoom in/out -w, --autowidth a Autoscale w Fit to width h Fit to height j/k Pan down/up f/m flip/mirror R/r Rotate 10o CW/CCW ESC/q Quit

自動登入

Raspbian jiessie 沒有 /etc/initab • 故新增檔案 sudo nano 數位像框實作 /etc/systemd/system/[email protected]/autologin.conf [Service] ExecStart= ExecStart=-/sbin/agetty --autologin pi --noclear %I 38400 linux

• 自動登入 pi user sudo systemctl enable [email protected] • 重啟 sudo reboot

20 2017/10/11

自動照片腳本 登入後執⾏腳本

• nano ~/slideshow.sh sudo nano /etc/profile #!/bin/bash INTERVAL=5 最後⼀⾏加入 #sequential play clear fbi -noverbose -a -t $INTERVAL /home/pi/slides/*.jpg #rabdom play . /home/pi/slideshow.sh #fbi -noverbose -a -t $INTERVAL -u /home/pi/slides/*.jpg

• Chmod 755 ~/slideshow.sh • 重新開機 sudo reboot

目的

• 使⽤ Raspberry Pi 作為視訊監控伺服器

Pi USB WebCam 縮時攝影 • 需求 – USB WebCam – Raspberry Pi

21 2017/10/11

Check USB Camera Chech dev video

• pi@raspberrypi:~ $ lsusb • ls video* • Bus 001 Device 005: ID 0781:5151 SanDisk Corp. Cruzer Micro Flash Drive • Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. – video0 SMSC9512/9514 Fast Ethernet Adapter • Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. • Bus 001 Device 001: ID 1d6b:0002 2.0 root hub • cd /dev • pi@raspberrypi:~ $ lsusb • Bus 001 Device 005: ID 0781:5151 SanDisk Corp. Cruzer Micro Flash Drive • ls video0 • Bus 001 Device 004: ID 0458:7088 KYE Systems Corp. (Mouse Systems) – video • Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter • Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. • Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

檢查解析度 基本安裝

• 檢查解析度 (sudo apt-get install -y v4l-utils) • Raspbian Lite 安裝 (如 Desktop 不要啟動圖形界面) v4l2-ctl --list-formats-ext -d /dev/video0 | grep Size • 注意網路

• 更新 sudo apt-get update sudo apt-get upgrade

rpi-update

22 2017/10/11

安裝 motion 安裝 sudo apt-get install -y motion sudo nano /etc/apt/sources.list 加入 deb http://www.deb-multimedia.org jessie main non-free deb-src http://www.deb-multimedia.org jessie main non- free • 建議也安裝 ffmpeg 須另外安裝 無法以 sudo sudo apt-get update apt-get install ffmpeg 安裝 • 會出現 error sudo apt-get install deb-multimedia-keyring • 再更新 sudo apt-get update • 安裝 lib 及工具 sudo apt-get install -y build-essential libmp3lame-dev libvorbis-dev libtheora-dev libspeex-dev yasm pkg-config libfaac-dev libopenjpeg-dev libx264-dev

安裝 ffmpeg (續) wget http://ffmpeg.org/releases/ffmpeg-2.7.6.tar.xz • sudo chmod 664 /etc/motion/motion.conf tar xvJf ffmpeg-2.7.6.tar.xz cd ffmpeg-2.7.6 ./configure --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis • sudo chmod 755 /usr/bin/motion --enable-libtheora --enable-libx264 --enable-libspeex -- enable-shared --enable-pthreads --enable-libopenjpeg -- enable-libfaac --enable-nonfree • sudo touch /tmp/motion.log make 出現多項警告 ,忽略 那⼀版? sudo make install 2.7.6 • sudo chmod 775 /tmp/motion.log 2.8.6 sudo /sbin/ldconfig 3.0

23 2017/10/11

設定 設定 sudo nano /etc/motion/motion.conf sudo nano /etc/default/motion daemon on … start_motion_daemon=yes • 選項 stream_port 8081 stream_motion on stream_localhost off framerate 10 width 640 height 480

啟動 測試 sudo service motion start netstat -na | grep 8081 • 看監聽 Port sudo service motion stop • 內定 Port 8081 http://{IP}:8081

24 2017/10/11

進階設定

• motion 事件 • 自動儲存到 ftp server 進階設定 • 寄信

Motion 暫存 抓圖上傳 ftp mkdir /tmp/motion sudo apt-get install -y wput sudo chmod -R 777 /tmp/motion sudo nano /etc/motion/motion.conf • montion 的 JPGE 影像檔會暫存在 /tmp/motion snapshot_interval 30 中,以時間及影格編號當檔名。 on_picture_save wput –B ftp://username:password@yourftpserver %f

設定檔中 target_dir /var/lib/motion

25 2017/10/11

寄訊息-1 mail_simple.py sudo nano /etc/motion/motion.conf import smtplib … from datetime import datetime on_event_start python mail_simple.py from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText • 當 on_event_start 執⾏ mail_simple.py

mail_simple.py mail_simple.py fromaddr = '[email protected]' # Email body toaddrs = '[email protected]' # can be list body = 'A motion has been detected.\nTime: %s' % of strings str(datetime.now()) subject = 'Security Alert.' msg.attach(MIMEText(body, 'plain'))

# Email object msg = MIMEMultipart() msg['From'] = fromaddr msg['To'] = toaddrs msg['Subject'] = subject

26 2017/10/11

mail_simple.py mail_simple.py

# Connecting to SMTP server and sending the email # Output smtp = smtplib.SMTP() print "Message length is " + repr(len(msg)) smtp.set_debuglevel(1) print text smtp.connect('smtp.mydomain.net', 587) smtp.login('username', 'password') text = msg.as_string() smtp.sendmail(fromaddr, toaddrs, text) smtp.quit()

寄訊息-2 mail_attach.py sudo nano /etc/motion/motion.conf import argparse … import smtplib on_movie_end python mail_attach.py %f from datetime import datetime from email.MIMEMultipart import MIMEMultipart • 結束之後寄信,可以附檔 from email.MIMEText import MIMEText from email.MIMEBase import MIMEBase from email import Encoders

27 2017/10/11

mail_attach.py mail_attach.py fromaddr = '[email protected]' # Email attachement parser = argparse.ArgumentParser() toaddrs = '[email protected]' # can be list parser.add_argument('input_file', help='Input file') of strings args = parser.parse_args() subject = 'Video Recorded.' part = MIMEBase('application', "octet-stream") part.set_payload(open(args.input_file, "rb").read()) # Email object Encoders.encode_base64(part) msg = MIMEMultipart() part.add_header('Content-Disposition', msg['From'] = fromaddr 'attachment; filename="%s"' % args.input_file) msg['To'] = toaddrs msg['Subject'] = subject msg.attach(part)

mail_attach.py mail_attach.py

# Email body # Connecting to SMTP server and sending the email body = 'This video has been recorded due to smtp = smtplib.SMTP() a motion just detected.' smtp.set_debuglevel(1) body += '\nTime: %s' % str(datetime.now()) smtp.connect('smtp.mydomain.net', 587) msg.attach(MIMEText(body, 'plain')) smtp.login('username', 'password') text = msg.as_string() smtp.sendmail(fromaddr, toaddrs, text) smtp.quit()

28 2017/10/11

mail_attach.py Check USB Camera

# Shell output • pi@raspberrypi:~ $ lsusb • Bus 001 Device 005: ID 0781:5151 SanDisk Corp. Cruzer Micro Flash Drive print "Message length is " + repr(len(msg)) • Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. print text SMSC9512/9514 Fast Ethernet Adapter • Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. • Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

• pi@raspberrypi:~ $ lsusb • Bus 001 Device 005: ID 0781:5151 SanDisk Corp. Cruzer Micro Flash Drive • Bus 001 Device 004: ID 0458:7088 KYE Systems Corp. (Mouse Systems) • Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter • Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. • Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Logitech Check dev video pi@raspberrypi:~ $ lsusb cd /dev Bus 001 Device 007: ID 0566:3001 Monterey International Corp. Bus 001 Device 006: ID 04b3:3107 IBM Corp. ThinkPad 800dpi Optical ls video0 Travel Mouse Bus 001 Device 005: ID 0781:5571 SanDisk Corp. Cruzer Fit video Bus 001 Device 004: ID 046d:082c Logitech, Inc. Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

29 2017/10/11

檢查解析度 基本安裝

• 檢查解析度 • Raspbian Lite 安裝 • 需安裝 v4l-utils (如 Desktop 不要啟動圖形界面) – sudo apt-get install -y v4l-utils v4l2-ctl --list-formats-ext -d • 注意網路 /dev/video0 | grep Size • 更新 sudo apt-get update sudo apt-get upgrade

rpi-update

軟體使⽤ 測試

• fswebcam cd ~ – WebCam 結果存成圖形檔案 fswebcam test.jpg – 可製作縮時攝影 ls total 8 -rw-r--r-- 1 pi pi 7700 Mar 23 20:55 test.jpg 但圖片空白 sudo apt-get install -y fswebcam

30 2017/10/11

需要 libjpeg 操作範例

• sudo apt-get install libjpeg8-dev • 指定解析度 • 沒有錯誤,有看到圖片內容 fswebcam -r 1280x720 image2.jpg

• 不要顯示日期 Bar 資訊 fswebcam -r 1280x720 --no-banner image3.jpg

建立目錄

cd ~/ mkdir frames fswebcam 縮時攝影(方法-1) • 建立腳本(內容如下頁) nano timelapse.sh chmod 755 timelapse.sh ./timelapse.sh

31 2017/10/11

執⾏腳本 會當機

#!/bin/bash # Timelapse controller for USB webcam DIR=frames num=10000 可增加位數 interval=5 n=1 x=1 while [ $x -le $num ]; do filename=$(printf "%05d.jpg" "$n") let n=n+1 #Capture image fswebcam -d /dev/video0 -S 5 -D 1 -r 1280x720 --jpeg 95 --no- banner --save $DIR/$filename x=$(( $x + 1 )) sleep $interval; done;

以日期時間為檔名

make webcam nano webcam.sh #!/bin/bash fswebcam 縮時攝影(方法-2) DATE=$(date +"%Y-%m-%d_%H%M") fswebcam -d /dev/video0 -S 5 -D 1 -r 1920x1080 --jpeg 95 --no-banner --save $

chmod +x webcam.sh ./webcam.sh

32 2017/10/11

建立 crontab 建立 crontab

• 先設定 crontab -e 的內定編輯器 sudo crontab –e sudo crontab -e # m h dom mon dow command * * * * * /home/pi/webcam.sh 2>&1

每分鐘執⾏⼀次

圖片轉成影片(範例)

• 列⽤本方式或將圖片取出 • 圖片列表 圖片轉成影片 ls *.jpg > stills.txt sudo apt-get install mencoder • 執⾏ mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect=16/9:vbitrate=8000000 -vf scale=1920:1080 -o timelapse.avi -mf type=jpeg:fps=24 mf://@stills.txt

33 2017/10/11

其他方案

• 手動下載

• 自動將產生檔案上傳 ftp

34