樹莓派 Raspberry Pi 硬體加速播放影片當廣告機
在 Raspberry Pi 中播放影片檔可能會發現有嚴重的卡頓, 這是因為你所使用的播放程式並沒有使用硬體解碼的功能, 要解決這個問題, 最簡單的方式就是使用 omxplayer 程式, 因為這個程式本來就是專為 Raspberry Pi 設計。不過 omxplayer 並沒有播放清單的設計, 如果你想重複連續播放多個檔案, 就無法完成。還好, 目前已經有人提供了簡易的 shell script, 可以幫你將指定的資料夾當成播放清單, 自動重複一一播放資料夾中影音檔案的工作。
像是我就將所有的影音檔放在 /home/pi/share/pv 下, 然後在 /home/pi 下建立一個 play.sh 檔:
內容如下
#!/bin/sh
# get rid of the cursor so we don't see it when videos are running
setterm -cursor off
# set here the path to the directory containing your videos
VIDEOPATH="/home/pi/share/pv"
# you can normally leave this alone
SERVICE="omxplayer"
# now for our infinite loop!
while true; do
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
sleep 1;
else
for entry in $VIDEOPATH/*
do
clear
# -r for stretched over the entire screen
omxplayer -r $entry > /dev/null
done
fi
done
再使用以下的指令將 play.sh 變更為可執行檔:
sudo chmod +x videoloop.sh
就可以執行 /home/pi/play.sh 來重複一一播放 /home/pi/share/pv 下的所有影音檔了。如果你想要讓 Raspberry Pi 在開機後自動執行上述的 play.sh 檔, 可以修改 /home/pi/.config/lxsession/LXDE-pi/autostart 檔, 在最後加上一行執行 /home/pi/play.sh 的指令即可:
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@/home/pi/play.sh
上述方法只對開機後會登入圖形化介面的設定有效, 如果你是設定成開機後進入文字介面, 就要使用別的方式, 這裡不再多做介紹。
像是我就將所有的影音檔放在 /home/pi/share/pv 下, 然後在 /home/pi 下建立一個 play.sh 檔:
內容如下
#!/bin/sh
# get rid of the cursor so we don't see it when videos are running
setterm -cursor off
# set here the path to the directory containing your videos
VIDEOPATH="/home/pi/share/pv"
# you can normally leave this alone
SERVICE="omxplayer"
# now for our infinite loop!
while true; do
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
sleep 1;
else
for entry in $VIDEOPATH/*
do
clear
# -r for stretched over the entire screen
omxplayer -r $entry > /dev/null
done
fi
done
再使用以下的指令將 play.sh 變更為可執行檔:
sudo chmod +x videoloop.sh
就可以執行 /home/pi/play.sh 來重複一一播放 /home/pi/share/pv 下的所有影音檔了。如果你想要讓 Raspberry Pi 在開機後自動執行上述的 play.sh 檔, 可以修改 /home/pi/.config/lxsession/LXDE-pi/autostart 檔, 在最後加上一行執行 /home/pi/play.sh 的指令即可:
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@/home/pi/play.sh
上述方法只對開機後會登入圖形化介面的設定有效, 如果你是設定成開機後進入文字介面, 就要使用別的方式, 這裡不再多做介紹。
留言
張貼留言