巧用ffmpeg从视频中截图
概述
之前做了个项目,涉及到上传视频,那么我们知道,一般在界面显示的时候,是需要对视频有个预览的效果,就是显示某一帧视频的画面。
找了下发现http://ffmpeg.org/ 可以实现这个功能。
FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。
主要参数
-i——设置输入档名。
-f——设置输出格式。
-y——若输出文件已存在时则覆盖文件。
-fs——超过指定的文件大小时则结束转换。
-t——指定输出文件的持续时间,以秒为单位。
-ss——从指定时间开始转换,以秒为单位。
-t从-ss时间开始转换(如-ss 00:00:01.00 -t 00:00:10.00即从00:00:01.00开始到00:00:11.00)。
-title——设置标题。
-timestamp——设置时间戳。
-vsync——增减Frame使影音同步。
-c——指定输出文件的编码。
-metadata——更改输出文件的元数据。
-help——查看帮助信息。
ffmpeg的官网地址是:https://www.ffmpeg.org/
ffmpeg的Github项目地址是:https://github.com/FFmpeg/FFmpeg
下面我们来看下ffmpeg如何实现视频截图的操作。
实现方式
1、下载 ffmpeg http://ffmpeg.org/ ,解压后在 bin 目录下找到 ffmpeg.exe
2、命令方式
-i 视频地址 -ss 第几帧 -f image2 图片存放地址
用cmd试一下,首先切换到ffmpeg.exe所在目录,输入命令,回车
3、c#代码实现
using (System.Diagnostics.Process process = new System.Diagnostics.Process()){process.StartInfo.FileName = @"D:\ffmpeg.exe";process.StartInfo.Arguments= @"-i D:\111.mp4 -ss 10 -f image2 D:\test\1.jpg";process.Start();}
或者如下
using System.Diagnostics; .....ProcessStartInfo startInfo = new ProcessStartInfo("ffmpeg物理路径");startInfo.WindowStyle = ProcessWindowStyle.Hidden;startInfo.Arguments = " -i 视频文件路径 -y -f image2 -ss 3 -t 0.001 -s 480*360 截图物理路径";//480*360是图片分辨率startInfo.UseShellExecute = false;try{Process.Start(startInfo);return true;}catch{}
巧用ffmpeg从视频中截图相关推荐
- ffmpeg命令 抓屏_使用FFmpeg从视频中截图的命令 | 学步园
截取一张352x240尺寸大小的,格式为jpg的图片: ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg 把视频的前30帧转换成一个A ...
- 使用FFmpeg从视频中截图的命令
截取一张352x240尺寸大小的,格式为jpg的图片: ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg 把视频的前30帧转换成一个A ...
- 采用FFmpeg从视频中提取音频(声音)保存为mp3文件
采用FFmpeg从视频中提取音频(声音)保存为mp3文件 作者:雨水,日期:2016年1月9日 CSDN博客:http://blog.csdn.net/gobitan 摘要:看到好的视频文件,如果想把 ...
- FFmpeg从视频中提取音频保存为mp3文件
如何把视频文件中的音频数据提取出来,网络上有不少音频提取工具,但作为技术人员提到音视频处理,肯定会想到FFmpeg.本文介绍了如何基于FFmpeg从视频中提取音频,然后将音频保存为mp3格式的音频文件 ...
- 使用ffmpeg从视频中截取图像帧(最简单实用的视频抽帧,一句命令)
Table of Contents 1.最佳方式 2.普通的命令:(画质差) 3. 视频旋转: 4. 批量视频抽帧: 参考:ffmpeg视频抽帧 1.最佳方式 第二种方法抽帧图片画质很差,这里提供更好 ...
- ffmpeg 分离视频中的YUV分量
文章目录 概览 程序 运行效果 释疑 概览 本文借用ffmpeg库, 把视频拆分为Y.U.V三个分量进行保存,可以使用YUV视频播放器分别播放.同时把视频中的其中某一帧图像保存下来, 也拆分为Y.U. ...
- SnapMotion for Mac(Mac从视频中截图软件)
SnapMotion旨在支持像4K电影这样的大型视频文件并在必要时从媒体中提取每一帧图像.此应用可以播放由macOS原生支持的所有视频格式.而且,它还可以将图像导出为行业标准格式,例如PNG.JPEG ...
- FFmpeg提取视频中的音频
提取完整音频 ffmpeg -i input.mp4 -q:a 0 -map a output.mp3 提取指定时间段的音频 ffmpeg -i input.mp4 -ss 00:03:05 -t 0 ...
- ffmpeg从视频中提取图片
ffmpeg -i test.mp4 -r 30 image-%3d.jpg ffmpeg -i test.mp4 -r 30 -t 4 image-%3d.jpg ffmpeg -i test.mp ...
最新文章
- Arm 通过虚拟硬件与新的解决方案导向的产品 带动物联网经济转型
- Jquery怎么比较日期大小?
- 如何写出安全的、基本功能完善的Bash脚本
- 如何防范计算机安全隐患,浏览器常见安全问题解析及如何加强防范与应对 -电脑资料...
- 如何在maven环境中设置JVM参数
- 【Java】百钱买百鸡问题
- 惹恼程序员的10件事
- 利用公式画图_【高中数学】重要公式大汇总!
- Windows Mobile中的WebService应用
- Ubuntu下使用Monaco字体
- 韶关市教育信息化名教师蓝凌工作室成员简介
- java8 collectors_java8的Collectors.reducing()
- 供应链管理的五大策略
- android电视无线同屏,手机连接电视同屏操作方法详解
- 简单并不粗暴:自学产品的8个方法
- jMonkeyEngine译文 FlagRush1——通过SimpleGame创建你的第一个应用程序
- VBS+迷你QQ,实现机器远程休眠和电驴的自动休眠
- 《Vue.js技术内幕》读后感
- python将一个字符串反转并输出_逆转字符串—输入一个字符串,将其逆转并输出。...
- 《Cortex-CM3权威指南》——Cortex-CM3基础