因为部分电视台的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"
