根据视频URL截取其第一帧

一、背景

        笔者刚毕业小白,目前正在参与开发一款手机app,会有视频展示,ios和android开发人员说如果直接获取视频会对手机性能产生影响,卡顿什么得巴拉巴拉巴拉,需要我给他们截个图,第一帧,就这样T_T。

        视频我都是通过接口使用 腾讯对象存储服务(cos) 然后获取URL的。

二、过程

        首先当然各种查,网上清一色都是本地视频截取第一帧,工具无一例外都是ffmpeg,虽然需求不同,总得尝试一下。

        自己拍了个视频放到本地,然后照着博客得代码尝试了一下,原博客链接

        代码我自己做了改动后发现ok,那么问题来了,视频URL该怎么办呢?

        我这么做的:

        try {
            URL url = new URL(videoUrl);
            BufferedInputStream bis = new BufferedInputStream(url.openStream());
            //实例存储字节数组
            byte[] bytes = new byte[100];
            OutputStream bos = new FileOutputStream(new File(缓存视频的本地路径));
            int len;
            while ((len = bis.read(bytes)) > 0) {
                bos.write(bytes, 0, len);
            }
            bis.close();
            bos.flush();
            bos.close();
            boolea = true;
        } catch (Exception e) {
            boolea = false;
            e.printStackTrace();
        }

 

        然后就去缓存了路径下看,视频已经取下来了,只要URL没问题,视频取下来应该是没问题的。

 

        视频取下来了,接下来的活就很简单了。

        此外我还推荐大家阅读另一篇博客,其中有一个开源项目,代码写得很好。链接...,全部代码我就不贴了,读了这两篇博客加我这一小段代码相信大家都能get!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值