因为部分电视台的epg总是不准确,并且官方也没有提供好用的采集渠道,所以考虑按分钟截图后整理成模板。
简单截图
docker run -d \ --name ffmpeg-screenshot \ -v ${PWD}/screenshots:/screenshots \ --entrypoint /bin/sh \ jrottenberg/ffmpeg:4.4-ubuntu \ -c "while true; do \ ffmpeg -y -i 'http://124.232.233.6:6060/000000001001/201600020002/index.m3u8' \ -vf fps=1/60 -frames:v 1 \ /screenshots/snapshot_\$(date +\%Y%m%d_\%H\%M\%S).jpg; \ sleep 60; \ done"
但是上面的存在时区问题,所以先自己构建一个镜像加上时区
Dockerfile内容如下
FROM jrottenberg/ffmpeg:4.4-ubuntu RUN apt-get update && \ apt-get install -y tzdata && \ ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ dpkg-reconfigure -f noninteractive tzdata
打包命令
docker build -t my-ffmpeg .
使用新镜像截图
docker run -d \ --name ffmpeg-screenshot \ -v ${PWD}/screenshots:/screenshots \ --entrypoint /bin/sh \ my-ffmpeg \ -c "while true; do \ ffmpeg -y -i 'http://124.232.233.6:6060/000000001001/201600020002/index.m3u8' \ -vf fps=1/60 -frames:v 1 \ /screenshots/snapshot_\$(date +\%Y%m%d_\%H\%M\%S).jpg; \ sleep 60; \ done"