精华内容
下载资源
问答
  • 获取视频第一帧
    2021-06-17 09:31:05
    1. //获得视频文件的缩略图
    2. function getVideoCover($file,$time,$name) {
    3. if(empty($time))$time = '1';//默认截取第一秒第一帧
    4. $strlen = strlen($file);
    5. // $videoCover = substr($file,0,$strlen-4);
    6. // $videoCoverName = $videoCover.'.jpg';//缩略图命名
    7. //exec("ffmpeg -i ".$file." -y -f mjpeg -ss ".$time." -t 0.001 -s 320x240 ".$name."",$out,$status);
    8. $str = "ffmpeg -i ".$file." -y -f mjpeg -ss 3 -t ".$time." -s 320x240 ".$name;
    9. //echo $str."</br>";
    10. $result = system($str);
    11. }
    12.  
    13. //获得视频文件的总长度时间和创建时间
    14. function getTime($file){
    15. $vtime = exec("ffmpeg -i ".$file." 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//");//总长度
    16. $ctime = date("Y-m-d H:i:s",filectime($file));//创建时间
    17. //$duration = explode(":",$time);
    18. // $duration_in_seconds = $duration[0]*3600 + $duration[1]*60+ round($duration[2]);//转化为秒
    19. return array('vtime'=>$vtime,
    20. 'ctime'=>$ctime
    21. );
    22. }
    更多相关内容
  • 上传视频获取视频的市场以及视频的第一帧作为封面,以及视频的宽视频还是长视频
  • 主要介绍了android 获取视频第一帧作为缩略图的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 以W3C更新的为标准,这个只是参考 尝试着在canvas中显示视频第一帧的时候碰上的问题:在Chrome中,用 video.addEventLisener(loadeddata,func)、 video.onloadeddata = func无法在函数中获取到 未预加载的视频的第一...
  • 根据ffmpeg获取视频第一帧工具类(不设置默认获取第一
  • 用javacv1.3 ffmpeg3.2.1对视频做截屏
  • 主要介绍了C#获取视频一帧的缩略图的方法,涉及执行CMD命令及针对视频文件操作的技巧,具有一定的实用价值,需要的朋友可以参考下
  • 上传视频时获取视频第一帧作为封面 完整代码+注释 使用方法:直接将html文件在浏览器打开即可。 使用到的技术:原生Dom操作 + video标签及canplay监听 + cavas绘制 + base64转为Blob + Blob转为FormData
  • 主要为大家详细介绍了Android如何获取视频图片的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 项目中遇到视频列表要显示图片问题,这个问题就抛给了后端,没办法只能去研究一下,发现直接npm fluent-ffmpeg这个包,会提示找不到ffmpeg,查了下资料,发现服务器还必须安装ffmpeg,,好了,下面开始ffmpeg安装路程...

    项目中遇到视频列表要显示图片问题,这个问题就抛给了后端,没办法只能去研究一下,发现直接npm fluent-ffmpeg这个包,会提示找不到ffmpeg,查了下资料,发现服务器还必须安装ffmpeg,,好了,下面开始ffmpeg安装路程。。。

    1.先去ffmpeg官网下载源码包 ffmpeg-3.4.1.tar.bz2

    2.解压安装包  tar-xjvf ffmpeg-3.4.1.tar.bz2

    3.进入解压后的文件夹,注意这个时候不能直接编译,会报错yasm/nasm 包不存在或者很旧,所以这里安装一下yasm即可,下载地址是:http://yasm.tortall.net/Download.html 进入后下载1.3.0的源码包

    4.tar -xvzf  yasm-1.3.0.tar.gz

    cd yasm-1.3.0/

    ./configure

    make

    make install

    5.安装成功之后继续回到ffmpeg解压后的目录,执行下面命令编译并安装:

    ./configure --enable-shared --prefix=/usr/local/ffmpeg

    make

    make install

    过程有点长,耐心等待。。。

    6.检查是否安装成功:

    /usr/local/ffmpeg/bin/ffmpeg --version

    报错如下:

    /usr/local/ffmpeg/bin/ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory

    提示库文件找不到。

    修改文件/etc/ld.so.conf 内容增加/usr/local/ffmpeg/lib/

    vim /etc/ld.so.conf

    include ld.so.conf.d/*.conf

    /usr/local/ffmpeg/lib/

    使修改生效

    ldconfig

    执行 /usr/local/ffmpeg/bin/ffmpeg --version

    7.这样就安装好了ffmpeg,但是代码执行中还是提示找不到ffmpeg,这个时候就要把ffmpeg的路径添加到环境变量中

    export PATH=/usr/local/ffmpeg/bin/:$PATH

    修改profile文件:

    #vi /etc/profile

    在里面加入:

    export PATH="$PATH:/usr/local/ffmpeg/bin"

    修改.bashrc文件:

    # vi /root/.bashrc

    在里面加入:

    export PATH="$PATH:/usr/local/ffmpeg/bin"

    得重启服务器才能生效

    8.最后在代码中就可以实现截取图片了

    var exec= require('child_process').exec

    exec("ffmpeg -ss 00:00:01 -i "+imgurl+" -y -f image2 -t 0.001 videos.jpg", function() {

    })

    展开全文
  • java获取视频第一帧

    2021-09-16 09:46:05
    这里写自定义目录标题java获取视频第一帧功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...

    java获取视频第一帧

    利用FFmpegFrameGrabber处理视频流直接上代码支持window和unix系统
    

    pom文件引入

    		<dependency>
                <groupId>org.bytedeco</groupId>
                <artifactId>javacv</artifactId>
                <version>1.4.3</version>
            </dependency>
            <dependency>
                <groupId>org.bytedeco.javacpp-presets</groupId>
                <artifactId>ffmpeg-platform</artifactId>
                <version>4.0.2-1.4.3</version>
            </dependency>
    

    示例代码

    package com.util;
    
    import org.bytedeco.javacpp.opencv_core;
    import org.bytedeco.javacv.FFmpegFrameGrabber;
    import org.bytedeco.javacv.Frame;
    import org.bytedeco.javacv.Java2DFrameConverter;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.File;
    
    
    /**
     * @author : 
     * @version 1.0
     * @description 获取视频第一帧视频
     **/
    public class VideoUtil {
    
        /**
         * 获取指定视频的帧并保存为图片至指定目录
         * @param videofile  源视频文件路径
         * @param framefile  截取帧的图片存放路径
         * @throws Exception
         */
        public static void fetchFrame(String videofile, String framefile)
                throws Exception {
            File targetFile = new File(framefile);
            FFmpegFrameGrabber ff = new FFmpegFrameGrabber(videofile);
            ff.start();
            int lenght = ff.getLengthInFrames();
            int i = 0;
            Frame f = null;
            while (i < lenght) {
                // 过滤前5帧,避免出现全黑的图片,依自己情况而定
                f = ff.grabFrame();
                if ((i > 5) && (f.image != null)) {
                    break;
                }
                i++;
            }
            int owidth = f.imageWidth;
            int oheight = f.imageHeight;
            // 对截取的帧进行等比例缩放
            int width = 800;
            int height = (int) (((double) width / owidth) * oheight);
            Java2DFrameConverter converter =new Java2DFrameConverter();
            BufferedImage fecthedImage =converter.getBufferedImage(f);
            BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
            bi.getGraphics().drawImage(fecthedImage.getScaledInstance(width, height, Image.SCALE_SMOOTH),
                    0, 0, null);
            ImageIO.write(bi, "jpg", targetFile);
            ff.flush();
            ff.stop();
    
        }
    
        public static void main(String[] args) {
            try {
                VideoUtil.fetchFrame("C:\\Users\\MyPC\\Desktop\\sql\\test\\1.mp4", "C:\\Users\\MyPC\\Desktop\\sql\\test\\6.jpg");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    

    /

    展开全文
  • vue上传视频获取视频第一帧
    <div class="video" v-show="videoUrl">
                  <video id="upvideo" v-show="poster == ''" :src="videoUrl">您的浏览器不支持视频播放</video>
                  <img :src="poster" alt="" /> // 获取第一帧
                </div>
    <canvas id="canvassrc" style="display: none"></canvas> // 注意要用到画布
     afterRead(file, url) {
          this.fileData = new FormData()
          this.fileData.append('file', file.file)
          wxVideoUpload(this.fileData).then((res) => {
            if (res.code == 200) {
               var canva = document.getElementById('canvassrc')
               var video = document.getElementById('upvideo')
               this.videoUrl = file.content
               video.crossOrigin = 'anonymous' // 解决跨域问题,也就是提示污染资源无法转换视频
              video.currentTime = 1 // 第一帧
              video.oncanplay = () => {
                 canva.width = video.clientWidth // 获取视频宽度
                 canva.height = video.clientHeight //获取视频高度
                 // 利用canvas对象方法绘图
                 const ctx = canva.getContext('2d') // 绘制2d
                 ctx.drawImage(video, 0, 0, video.clientWidth, video.clientHeight)
                 // 转换成base64形式
                 this.imgsrc = canva.toDataURL('image/png') // 截取后的视频封面
                 this.poster = this.imgsrc
              }
            }
          })
        },

    展开全文
  • vue 获取视频第一帧

    千次阅读 2022-01-20 23:15:53
    findvideocover() { let size = 160 // 获取video节点 const video = document.getElementById("videoPlay"); video.width = size ... video.currentTime = 1 // 第一帧 //创建canvas对象 const canvas...
  • 1.本地视频 MediaMetadataRetriever media = new MediaMetadataRetriever(); media.setDataSource(videoPath);// videoPath 本地视频的路径 Bitmap bitmap = media.getFrameAtTime(1, MediaMetadataRetriever.OPTION...
  • 获取视频第一帧图片并上传
  • java获取视频文件第一帧,为了防止黑画面,此例取第五,本例子采用maven形式,可以获取视频的文件大小。 1. pom.xml 添加引用jar包 jdk采用1.8,日志自行添加即可,这里使用的是log4j2 <!-- log4j2 --> &...
  • <video width="320" height="240" controls id... // 获取视频第一帧图片 getVideoBase64(url) { return new Promise(function(resolve, reject) { let dataURL = ""; let video = document.createElement("v...
  • java 获取视频第一帧 | Java工具类

    万次阅读 多人点赞 2021-11-11 13:56:20
    前言 本文提供提取mp4视频文件的第一帧java工具类,
  • 安装ffmpeg 参考链接:php使用ffmpeg获取视频第一帧为缩略图_gusijin的博客-CSDN博客_php获取视频缩略图 包地址: php-ffmpeg/php-ffmpeg - Packagist 由于我个人使用的是php7.4的版本 所以这里安装 composer ...
  • vue获取视频第一帧

    千次阅读 2021-04-30 19:16:25
    在实际开发中,比如我们用到了视频,后台只是给我们返回一个地址,我们这边要如何把视频第一帧显示出来呢 <template> <div style="margin-top:50px"> <!-- <video :src="videoSrc" id="video...
  • } }, //截取视频第一帧作为播放前默认图片 findvideocover(url, file, type, res) { console.log(res); // const video = document.getElementById(“myvideo”); // 获取视频对象 const video = document....
  • js获取视频第一帧

    千次阅读 2020-07-17 10:24:49
    var firstFrame = canvas.toDataURL("image/png") //第一图片url document.getElementById("firstV").src = firstFrame }) } script> html> 只能转换.mp4文件 很多视频第一帧是黑屏,最好是交给后端处理
  • 主要介绍了Java获取视频时长及截取截图详解,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。,需要的朋友可以参考下
  • PHP 获取视频第一帧生成图片

    千次阅读 2021-07-23 11:07:19
    1: 安装 ffmpeg ffmpeg的下载链接 http://ffmpeg.org/download.html 解压安装包 tar -jxvf ffmpeg-x.x.tar.bz2 进入目录 cdffmpeg-x.x 编译安装 ./configure --enable-shared && make && ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,563
精华内容 22,225
关键字:

获取视频第一帧