首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Raspbery循环视频omxplayer

Raspbery循环视频omxplayer
EN

Stack Overflow用户
提问于 2014-04-23 20:45:19
回答 2查看 1.7K关注 0票数 0

我一直在做一个项目,播放文件夹中的所有视频。它工作得很好,但我需要的视频路径改变的基础上,与CRON定期变化的输入。我想让它在输入改变时立即改变视频路径,但不是在当前视频结束之前,而是不播放当前视频路径中的其余视频。

以下是播放文件夹中所有视频的代码:

代码语言:javascript
复制
#!/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

一个好的答案将非常感谢,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2022-01-11 17:49:14

我知道这是一个迟来的问题,但这是最好的解决方案,没有中间的视频差距。

代码语言:javascript
复制
#!/bin/sh
while : ;
do for f in /var/www/html/led/autoplayv/*.mp4;
do omxplayer -n -l "$f";
done;
done
票数 1
EN

Stack Overflow用户

发布于 2014-05-01 07:52:11

将for循环放在一个函数中,如果输入发生了变化,则递归地调用它。您不需要while循环,因为脚本仅在omxplayer播放完视频后才会继续

代码语言:javascript
复制
#!/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 $SERVICE
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23244703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档