有这样的一个需求:
需要从一个flv文件中,截取图片,不通过ffmpeg,而是需要用户通过web操作,就能截取。
jwplayer有一个plugin,可以实现该功能
snapshot
注意:因为snapshot只支持5.2以下版本,所以,请不要使用过高的版本,如最新版本5.9
我所使用的是jwplayer 4.2
1,view 层代码如下
<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="500" height="400">
<param name="movie" value="<%=base_url %>/player.swf" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="flashvars" value="file=<%=@video.absolute_url %>&image=<%=@video.preview %>" />
<object type="application/x-shockwave-flash" data="<%=base_url %>/player.swf" width="500" height="400">
<param name="movie" value="<%=base_url %>/player.swf" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="flashvars" value="file=<%=@video.absolute_url %>&image=<%=@video.preview %>&plugins=snapshot&snapshot.script=http://xxxx/uploadimage" />
</object>
</object>
2,server层代码如下
def upload_image
File.open("public/test.jpg", "w") do |f|
f.write(request.body.read)
end
render :text => "http://42.120.**.**:9191/test.jpg"
end
参考文档:
http://developer.longtailvideo.com/trac/wiki/PluginsSnapshot
http://www.longtailvideo.com/addons/plugins/96/Snapshot