上传视频时自动完成截取缩略图(一)

视频类网站我们每天都会用到,优酷、爱奇艺、腾讯视频、百度视频为我们提供了各种各样丰富的影视资源丰富我们的日常娱乐。视频在线教育发展同样也很火。

最近在做校园视频管理的项目。从最开始的熟悉框架,各种技术到一个个页面一个个功能的实现经历了满腹斗志,遇到困难技术瓶颈低落,补充技术知识再投入开发,功能实现满血复活。一次次轮回都好像是生命重生!

今天来个大家分享下很实用的在视频上传时,从视频中截取一张图片作为在首页展示视频的缩略图。

从视频中截取图片最核心的是用到了ffmpeg。很多的开源项目都用到了FFmpeg框架。我们熟悉的暴风影音、QQ影音、KMP、GOM Player、PotPlaye都加入了FFmpeg(注意区分ffmpeg和FFmepg,它们是不同的概念,请自行查阅)。

ffmpeg的功能很强大,单独运行ffmpeg.exe可以实现播放音频、视频,给音频视频转格式,截图和录制屏幕。

要使用它的功能其实根本是调用Cmd命令窗口然后输入要执行的命令。

如我们想用它播放一个mp3音频文件:ffplay.exe d:\李荣浩喜剧之王.mp3

效果如下:

小窗口里面就是它播放的状态,虽然没有我们平常看到的播放器界面但是在窗口里面随便点下可以调整播放的进度。

同样播放视频文件:ffplay.exe d:\查莉成长日记.rmvb

视频格式转换:ffmepg.exe -y -i D:\Bootstrap.wmv -ab 56k -ar 22050 -b:v 500k -r 29.97 -s 640x358 D:\Bootstrap.flv

录制屏幕:ffmpeg -f alsa -ac 1-i pulse -acodec aac -f x11grab -s 1024x600 -i :0.0 –sameq D:\录制的屏幕视频.mp4

录制声音的部分是:-f alsa -ac 1 -i pulse-acodec aac

录制视频的是: -f x11grab -s1024x600 -i :0.0 –sameq

ffmpeg功能是强大但是界面不太美观,有了这些运用ffmpeg的基础,怎么运用到实际的项目中呢?

请看下篇:………………。

时间: 2024-10-29 15:26:59

上传视频时自动完成截取缩略图(一)的相关文章

上传视频时自动完成截取缩略图(二)

从上篇文章中我们知道了ffmpeg是怎么使用的.那么这篇文章给大家介绍下我是怎么通过调用ffmpeg实现在视频上传的同时自动截取图片的. 首先我们不能直接调用ffmpeg实现想要的功能是防止cmd命令执行时出现的黑窗口.所以我们可以封装一个类,然后调用里面的方法只需传递参数就可以实现功能了. 这里我写了一个VideoConverToImg类: public class VideoConverToImg { /// <summary> /// 从视频中截取img格式图片 /// </sum

上传文件时自动生成文件夹

#region 返回当前日期的文件夹 /// <summary>        ///上传文件时自动生成文件夹        /// </summary>        /// <param name="path">要保存的路径</param>        /// <returns>返回生成的文件夹</returns>        public static string CreateDis(string pa

视频电商网站vue+七牛JSSDK集成(3)上传视频时暂停和续传

1.准备2个图片 2.这是我们用来控制视频上传/暂停 的按钮显示图片. 在vue.js的data() 里准备好变量(切换2个按钮图片的变量) options:{ iconsrc:'/icons/pause.png', uploadpause:'/icons/pause.png', uploadstart:'/icons/start.png' }, 3.编写切换按钮的事件 在vue.js的methods 里: pauseUpload(){ if (this.options.iconsrc == t

不用转码工具 直接上传视频 后台自动转码系统

告别传统的线下转码工具给视频转码! 任意视频格式直接传 后台自动完成转码 播放视频 任意视频格式 :AVI.mov.rmvb.rm.FLV.mp4.3GP 等所有的视频格式 直接上传 后台自动转码 并返回播放器代码: 或者视频播放文件地址: 原文地址:https://www.cnblogs.com/freefei/p/11421582.html

layui上传视频并获得视频时长的方法

layui官方上传视频时并没直接提供获取视频时长的方法,需要我们间接获得 HTML增加一个<video>标签,因为video标签可以帮我们获取视频时长 <video id="videoattr" width="250" height="100" ></video> 当然,你也可以设置隐藏. 然后JS就可以利用<video>的duration来得到时长. //同时绑定多个元素,并将属性设定在元素上 u

七牛云上传视频如何有效做到节省空间

在上传视频的时候,我们通常会保存到第三方[七牛云]平台.不过大多数程序员在系统后台上传视频后,一般都是保存到了本地,如果视频非常多或者视频容量特别大的情况下,那么我们的服务器迟早有一天会满,为了节省空间,下面教大家再上传视频时,如何以有效的节省服务器空间,一般情况下会把这些文件存到第三方,也就是需要我们下载qiniusdk,把qiniusdk放如Vendor目录下. 这里我们以课程视频为例子,实现的hmtl源代码如下:<tr> <td class="text">

ajax 异步上传视频带进度条并提取缩略图

最近在做一个集富媒体功能于一身的项目.需要上传视频.这里我希望做成异步上传,并且有进度条,响应有状态码,视频连接,缩略图. 1 { 2 "thumbnail": "/slsxpt//upload/thumbnail/6f05d4985598160c548e6e8f537247c8.jpg", 3 "success": true, 4 "link": "/slsxpt//upload/video/6f05d498559

七牛云上传视频并截取第一帧为图片(js实现)

本文出自APICloud官方论坛, 感谢论坛版主 东冥羽的分享. 七牛云上传视频并截取第一帧作为视频的封面图. 使用js上传,模块videoPlayer截取第一帧(有专门的截图模块,但是我使用的有点问题,可能是视频源的问题:canvas也能截取,但是有点小bug,比如会截成黑色或白色的图片). 上传一个和上传多个视频 demo运行点这里 需要参数:token值,七牛云域名 *逻辑: 上传一个视频: 点击上传按钮,获取token值,选中视频后开始上传.input file会获取文件的大小,文件名等

七牛上传视频添加到队列时视频大小是否添加

最近在做视频分析的项目,遇到了一些关于七牛上传视频文件的问题. 当 选择的视频文件 大于 本地剩余空间 时,则取消上传. 'FilesAdded': function(up, files) { plupload.each(files, function(file,index) { //重点在这里 var fileSize=0; for(var i=0;i<files.length;i++){ fileSize+= Math.ceil(files[i].size/1024/1024); }; //