You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3广告用流畅幻灯片制作问题求助

树莓派广告幻灯片流畅播放方案

核心问题拆解

之前用fbi+vlc切换出现黑屏,本质是两个工具都是独立进程,切换时前一个进程退出、后一个进程启动的间隙,屏幕无内容输出导致短暂黑屏。解决思路要么用单进程统一播放所有媒体,要么用预加载+双缓冲缩短间隙。


方案1:用mpv替代fbi+vlc(最省心的无缝方案)

mpv支持直接播放图片和视频,全程单进程运行,切换完全无缝,还自带循环播放功能,完美解决黑屏问题。

  1. 先安装mpv:
    sudo apt update && sudo apt install mpv -y
    
  2. 编写播放脚本(保存为slideshow.sh,记得修改媒体路径):
    #!/bin/bash
    # 本地媒体存储路径(提前同步云端文件到这里)
    MEDIA_DIR="/home/pi/advert_media"
    # 图片停留时长(单位:秒,可按需修改)
    IMAGE_DURATION=10
    
    while true; do
        # 自动扫描目录下的图片、视频,按文件名排序生成临时播放列表
        find "$MEDIA_DIR" -type f \( -iname "*.jpg" -o -iname "*.png" -o -iname "*.mp4" -o -iname "*.mov" -o -iname "*.avi" \) | sort > /tmp/slideshow_playlist.m3u
        # 全屏、无控件、循环播放列表,播放完自动重来
        mpv --fullscreen --no-osc --no-input-default-bindings --image-duration="$IMAGE_DURATION" --loop-playlist /tmp/slideshow_playlist.m3u
        # 防止mpv意外退出,休眠1秒后重启
        sleep 1
    done
    
  3. 给脚本加执行权限:chmod +x slideshow.sh

这个方案的优势:不用切换工具,图片视频全程无缝衔接;支持几乎所有主流媒体格式;可以灵活调整图片停留时间,视频会自动播放完再切下一个。


方案2:云端媒体同步(避免播放时下载卡顿)

绝对不要在播放时实时下载云端文件,会导致卡顿或黑屏。建议定时同步到本地:

用rclone同步(支持绝大多数云端存储)

  1. 安装rclone:sudo apt install rclone -y
  2. 配置云端存储(比如Google Drive、阿里云盘、OneDrive等):运行rclone config按提示完成配置,给云端起个标识名(比如cloud_media)
  3. 编写同步脚本(保存为sync_media.sh):
    #!/bin/bash
    REMOTE_NAME="cloud_media"
    REMOTE_FOLDER="advert_slideshow"
    LOCAL_FOLDER="/home/pi/advert_media"
    # 同步云端文件到本地,只更新变化的文件,避免重复下载
    rclone sync "$REMOTE_NAME:$REMOTE_FOLDER" "$LOCAL_FOLDER" --quiet
    
  4. 加执行权限:chmod +x sync_media.sh
  5. 加入crontab定时执行(比如每1小时同步一次):
    运行crontab -e,加入一行:
    0 */1 * * * /home/pi/sync_media.sh
    

开机自启设置

让幻灯片开机自动运行,用systemd服务最可靠:

  1. 创建服务文件:
    sudo nano /etc/systemd/system/slideshow.service
    
  2. 写入以下内容(注意替换脚本路径):
    [Unit]
    Description=Advertising Slideshow Service
    After=multi-user.target
    
    [Service]
    User=pi
    ExecStart=/home/pi/slideshow.sh
    Restart=always
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:
    sudo systemctl enable slideshow.service
    sudo systemctl start slideshow.service
    

内容的提问来源于stack exchange,提问作者Muddyblack k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:53:14