求批量创建视频缩略图并设置成封面的软件

大佬们好,请问有没有批量创建视频缩略图并且把视频缩略图设置成封面的软件啊,整理资源时需要用到。找了一圈没发现合适的

之前描述问题不太准确,补充图片说明一下。我是想把缩略图嵌入到视频中。现在发现potplayer本身是可以批量创建缩略图的,但没办法嵌入封面。。

默认预览图:

嵌入封面后:

1 个赞

icaros?

补一个链接 Releases · Xanashi/Icaros · GitHub

K-lite 里也有 Download K-Lite Codec Pack Standard

感谢回复。抱歉我描述的不太清楚,重新编辑了

感谢回复。抱歉我描述的不太清楚,重新编辑了

用FFmpeg试试,具体指令问gpt

批量生成缩略图和添加封面的都有,但是这两个合起来的好像没见到过
主要是缩略图做封面根本看不清吧

需要大佬们做一个小工具、脚本之类的,感觉应该挺简单的

缩略图我用 VideoThumbnailsMaker

我也在摸索批量添加视频的缩略图的方法, 目前摸索的是这样:

  • 首先要生成缩略图, 这个工具非常多, 也很简单. 但有个要求是要和源视频的常宽一致. 最好和源视频的比例一致. 如果视频是video.mp4, 缩略图生成为同名 video.jpg
  • 然后使用ffmpeg将源视频随意截取一秒, 然后用缩略图替换这一秒视频的每一帧. 得到一个 _video.mp4. 也就是封面视频.
  • 然后使用ffmpeg的concat方式, 将 _video.mp4 和 video.mp4 链接起来生成带一秒封面的视频 final.mp4

我也尝试了一些语句, 但是效果差强人意, 有的可以, 有的不行.
问题在于第二步合成的一秒视频, 没有很好的匹配源视频的规格, 造成成片语音脱轨, 延迟明显.

基本满足需要了.

下面是我的代码, python, 将其存为py文件, 然后在一个准备好的视频和thumbnails的目录中运行即可.


from subprocess import run
import glob
import os

video_files = glob.glob('*.mp4')
img_exts = ['.jpg', '.png']

for vid in video_files:

	basename = vid.rsplit('.', 1)[0]
	cover_vid_name = '_' + basename + '.mp4'
	thumb_name = [ basename+ext for ext in img_exts if os.path.exists(basename+ext)][0]
	cmd = [
		'ffmpeg', 
		'-ss', '1',
		'-i', vid,
		'-i', thumb_name,
		"-f",
		"lavfi",
		"-i",
		"anullsrc=channel_layout=stereo:sample_rate=44100",
		'-t', '1',
		'-filter_complex', "[1][0]scale2ref[i][v];[v][i]overlay",
		'-map', '2',
		cover_vid_name
	]

	run(cmd)

for v in video_files:

	con_file = 'lgrmdsvz.txt'

	with open(con_file, 'w', encoding='utf-8') as f:
		f.write(f"file '_{v}'\n")
		f.write(f"file '{v}'")


	cmd = [
		"ffmpeg",
		"-f",
		"concat",
		"-safe",
		"0",
		"-i",
		con_file,
		"-c",
		"copy",
		"___"+v
	]
	run(cmd)

很适合你

draft

如果经常需要做吗,倒是可以开发一个工具出来