从 DASH-IF IOP 4.2 版开始,第 6.2.6 节定义了 DASH 中基于图像的轨道的概念: https ://dashif.org/docs/DASH-IF-IOP-v4.3.pdf 。
这是一种由 mime 类型图像组成的适应集的能力,这些图像本身就是一条低分辨率的缩略图。当用户将鼠标悬停在视频时间线上时,播放器将使用这些缩略图,并在该近似时间码处获得帧的预览。
Theo播放器网站有一个专门用于播放此功能的页面: https ://www.theoplayer.com/blog/in-stream-thumbnail-support-dvr-dash-streams
我需要使用 ffmpeg 生成一个破折号流(非实时),其中还包含这些缩略图。我已经有一个 ffmpeg 命令,它将生成 jpgs 的电影片段,它每 5 秒输入一个视频输出一个缩略图,并将其中的 5 个连接到一个 jpg 中:
ffmpeg -i INPUT -q:v 20 -vf "select=not(mod(n\,125)),scale=480:270,tile=5x1" -vsync vfr output%d.jpg
和 mpeg 破折号本身:
ffmpeg -i INPUT -y -map 0 -acodec aac -ac 2 -ar 48000 -s 960x540 -vcodec libx264 -f dash -preset veryfast -b:v:2 1500k -seg_duration 2 output.mpd
但是我在 ffmpeg 中找不到将缩略图包含在 dash mpd 文件中的方法。