定时播放视频

近期接了个小需求,一学校老师要求在学校大屏上循环播放学校宣传视频,要求如下

1、每天上午6点开始播放视频

2、每天下午23点关闭视频

3、运行脚本会自动播放视频

4、全屏播放

由于麒麟系统自带的kylin-video不支持定时任务播放,使用cron定时调用存在界面显示问题(华为跟x86问题现象还不一样),故采用了ffmpeg软件进行播放,不得不说kylin-video还需要改进一下,以下是我写的脚本,在此分享,如果有不足的地方请大佬们指出
宣传片定时播放脚本.sh (1.6 KB)

1 个赞

脚本在华为(海思麒麟)以及x86的系统环境验证过


1.你这个脚本不支持外链查看 你直接发markdown格式就行
2. 你把自己限制在了“用每种国产系统的自带播放器上播放视频”
3. 实际上你的需求完全可以通过cron+ffplay循环播放实现

1 个赞

了解了,我改一下,就是通过这方式去实现

#!/bin/bash
#------------------------------------------------------------------------------------------------------
#备注:该脚本仅适用于学校定时播放宣传片,需保证电脑主机能够正确的连接互联网
#邮箱:xxxxx@kylinos.cn
#作者:卢小小

#定时任务要求如下

#1、每天上午6点开始播放视频

#2、每天下午23点关闭视频

#3、若是没有播放请手动双击此脚本运行

#------------------------------------------------------------------------------------------------------

#验证当前用户的密码
read -p “请输入开机密码:” Password

#安装ffmpeg软件
echo $Password | sudo -S apt update
echo $Password | sudo -S apt install ffmpeg

#将定时任务模板导出到用户家目录,重命名为tmp-old-crontab,如果存在跟ffplay相关的定时任务则删除
crontab -l >> $HOME/tmp-old-crontab
sed -i ‘/ffplay/d’ $HOME/tmp-old-crontab

#创建新的ffplay定时任务
echo "0 6 * * * export DISPLAY=:0&&ffplay -fs -loop 0 $HOME/Desktop/校歌完整版.mp4 " >> HOME/tmp-old-crontab echo '0 23 * * * kill (pgrep ffplay) ’ >> $HOME/tmp-old-crontab
crontab $HOME/tmp-old-crontab
echo $Password | sudo -S systemctl restart cron.service
rm $HOME/tmp-old-crontab

#执行播放程序
kill $(pgrep ffplay)
DISPLAY=:0&&ffplay -fs -loop 0 $HOME/Desktop/校歌完整版.mp4