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

根据上一篇文章中提取的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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值