使用MPlayer按关键帧截取视频预览图

介绍如何使用MPlayer命令行参数按关键帧时间点截取预览图,并提供了一段Shell脚本示例,用于批量处理视频文件。

根据上一篇文章中提取的metadata中每个关键帧的时间点,使用mplayer实现按关键帧时间点截预览图:

 
命令行参数:mplayer -ss 903.375 -noframedrop -nosound  -nolirc -nojoystick  -vo jpeg -frames 1 1292201790668a5e8b5b.mp4
 
执行结果:在当前目录下生成第903.375 (关键帧时间点)的截图。
 
执行效率:每10个关键帧截一次:截280张电影的图片需要50s,截200张电视剧需要20s,截71张电视剧需要8s。
 
参数解释:-ss 指定开始时间
  -noframedrop 不跳过帧(即使解码速度跟不上)
  -nosound  没有声音输出(不对声音进行解码)
  -nolirc  禁用红外控制
  -nojoystick  禁用控制棒
  -vo  视频输出格式为jpeg
  -frames 从ss指定的时间开始截取多少帧
优化后的shell脚本:
$ more cutimg.sh
#!/bin/bash

awk '{if(NR%10==0) system("mplayer -ss "$1" -noframedrop -nolirc -nojoystick -nosound -vo jpeg -frames 1 129220
1790668a5e8b5b.mp4 ")system("mv 00000001.jpg "NR"_"$1".jpg")}' 1292201790668a5e8b5b_times.txt > /dev/null &
#mplayer -ss 903.375 -noframedrop -nosound -vo jpeg -frames 1 1292201790668a5e8b5b.mp4
#ffmpeg -i 1292201790668a5e8b5b.mp4 -y -ss 53.5 -t 0.001  -f image2 outfile.jpg
关键帧时间点文件
$ more 1292201790668a5e8b5b_times.txt
0.0416667
2.125
5.125
8.25
11.375
14.4583
17.5417
18.625
19.9167
23.0417
26.125
29.2083
32.3333
35.4583
38.5833
41.7083
44.5
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值