我一直在做一个项目,播放文件夹中的所有视频。它工作得很好,但我需要的视频路径改变的基础上,与CRON定期变化的输入。我想让它在输入改变时立即改变视频路径,但不是在当前视频结束之前,而是不播放当前视频路径中的其余视频。
以下是播放文件夹中所有视频的代码:
#!/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="/mnt/storage/videos"
# you can normally leave this alone
SERVICE="omxplayer"
for entry in $VIDEOPATH/*
do
clear
$SERVICE $entry > /dev/null
while ps ax | grep -v grep | grep $SERVICE > /dev/null
do
sleep 5;
done
done一个好的答案将非常感谢,谢谢!
发布于 2022-01-11 17:49:14
我知道这是一个迟来的问题,但这是最好的解决方案,没有中间的视频差距。
#!/bin/sh
while : ;
do for f in /var/www/html/led/autoplayv/*.mp4;
do omxplayer -n -l "$f";
done;
done发布于 2014-05-01 07:52:11
将for循环放在一个函数中,如果输入发生了变化,则递归地调用它。您不需要while循环,因为脚本仅在omxplayer播放完视频后才会继续
#!/bin/sh
VIDEOPATH="/mnt/storage/videos"
SERVICE="omxplayer"
function playvideos {
for entry in $1/*
do
clear
$2 $entry > /dev/null
if [ $input_has_changed ]
then
# get new video path here
playvideos $NEW_VIDEO_PATH $2
break
fi
done
}
playvideos $VIDEOPATH $SERVICEhttps://stackoverflow.com/questions/23244703
复制相似问题