提升视频的用户体验关系到视频的标题、视频的缩略图、视频内容清晰度、视频流畅度、视频内容的吸引力(代价度)等成分。而每个成分终极都会影响视频的流量、点击率、社交能力。本日为大家讲下成分之一视频缩略图的实现。也是我以前做网盘时实现的业务功能之一。网盘为了提升用户体验会将图片、视频、文档等内容天生干系的缩略图方便用户第一感不雅观理解文档内容。
1、FFmpeg安装
#MACbrew install ffmpeg#Linuxwget http://www.ffmpeg.org/releases/ffmpeg-5.0.tar.gztar zxvf ffmpeg-5.0.tar.gzcdffmpeg-5.0./configure--prefix=/usr/local/ffmpegmakemakeinstall
2、视频缩略图(视频所有帧图片)
ffmpeg -i test.mp4 -f image2 %05d.jpg-i filename 输入的文件名-f 输出文件格式 image2 avi wav等 %05d.jpg 输出文件名格式(5位数字) 00001.jpg ~ 99999.jpg
3、视频缩略图(指定图片宽高)
ffmpeg -i test.mp4 -f image2 -s 1024768 %05d.jpg-s size 输出的图片的大小(宽高) 输出的图片可能存在变形情形,只管即便不指定此参数
4、视频缩略图(指定时间段图片)
ffmpeg -i test.mp4 -t 5 -f image2 %05d.jpg-t duration 视频的前duration秒图片ffmpeg -i test.mp4 -ss 0:0:30 -to 0:0:40 -f image2 %05d.jpg-ss time_off 视频开始韶光位置-to time_stop 视频结束韶光位置
5、视频缩略图(每秒截取速率)
ffmpeg -i test.mp4 -r 1 -f image2 %05d.jpg-r rate 每秒截取rate张图片(每秒的帧数)
6、视频缩略图(覆盖输出图片)
ffmpeg -i test.mp4 -y -f image2 %05d.jpg-y overwrite output files
7、视频缩略图(Gif图)
ffmpeg -i test.mp4 -vframes 30 -y -f gif test.gif-vframes number 输出视频前number秒Gif图
8、视频缩略图(视频水印)
ffmpeg -i test.mp4 -i baidu.png -filter_complex "overlay=main_w-overlay_w-10 : main_h-overlay_h-150:enable='between(t,5,10)'" -y -b 10024k -acodec copy -f mp4 test_baidu.mp4enable='between(t,5,10) 指定水印开始秒结束秒左上角 10:10右上角 main_w-overlay_w-10:10左下角 10:main_h-overlay_h-10右下角 main_w-overlay_w-10 : main_h-overlay_h-10
9、视频缩略图(超时时间)
timeout 5s ffmpeg -i test.mp4 -f image2 %05d.jpgtimeout Linux Shell超时命令(由于ffmpeg无超时参数以是利用timeout实现)
10、Python调用代码
import subprocessdef run_shell_command(command): ret = subprocess.run(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding="utf-8",timeout=10) if ret.returncode == 0: print("success:",ret) else: print("error:",ret)#subprocess实行shell命令run_shell_command("ffmpeg -i /Users/linux/Downloads/test.mp4 -t 5 -f image2 %05d.jpg")实行结果:success: CompletedProcess(args='ffmpeg -i xxxxxx)
11、文档缩略图技能方案
类型
文件扩展名
技能选型
文本文件
txt、html、css、js、php、go、java、sql、md、ini、vue、json、conf、c、cpp、py等
ImageMagick convert命令
Office2007文档
docx、pptx、xlsx等
Unzip + ImageMagick convert命令
Office2003文档
doc、ppt、xls等
LibreOffice/OpenOffice + ImageMagick convert命令
Csv文件
csv
同Office2003文档
Apple办公函档
pages、keynote、key、numbers
同Office2007文档
Pdf文件
同文本文件
脑图、视觉文件
xmind、sketch
同Office2007文档
图片文件
ps、psd、jpg、jpeg、png、bpm等
同文本文件
视频文件
mp4、wmv、mpg、mkv、avi等
FFmpeg
大家有什么见地或建议可以发评论沟通。
感谢大家的评论、点赞、分享、关注。。。