ffmpeg视频裁剪
**需要注意,ffmpeg 命令 -s 指定了宽高后,如果为奇数宽高(101*101),则裁剪后的视频无法正常播放,不加-s则ffmpeg自动-1处理;**private void cutVideo() throws Exception{try {String ffmpegSource ="/opt/xxxxx/ffmpeg/ffmpeg";// todo ffmpeg程序绝对路径String videoSource = "/opt/xxxxxx/xxx_source.mp4"; //todo 视频源绝对路径String videoTarget = "/opt/xxxxxx/xxx_target.mp4"; // todo 视频目标绝对路径//执行程序拼接命令List<String> command = new ArrayList<>();command.add(ffmpegSource);command.add("-i");command.add(videoSource);command.add("-vf");int cutVideoWidth = 100; // todo 要裁的实际宽int cutVideoHeight = 100; // todo 要裁的实际高int leftTopX = 0; //todo 要裁的部分左上角x坐标int leftTopY = 0; //todo 要裁的部分左上角y坐标StringBuffer tmp = new StringBuffer();tmp.append("crop=w=");tmp.append(cutVideoWidth);tmp.append(":h=");tmp.append(cutVideoHeight);tmp.append(":x=");tmp.append(leftTopX);tmp.append(":y=");tmp.append(leftTopY);String vfStr = tmp.toString();command.add("-vf");command.add(vfStr);command.add("-r");command.add("25");command.add("-y");command.add("-s");String sStr = cutVideoWidth + "*" + cutVideoHeight;command.add(sStr);command.add(videoTarget);ProcessBuilder builder = new ProcessBuilder();builder.command(command);builder.redirectErrorStream(true);Process p = builder.start();BufferedReader reader = null;reader = new BufferedReader(new InputStreamReader(p.getInputStream()));String line = null;StringBuffer message = new StringBuffer();while ((line = reader.readLine()) != null) {// ffmpeg 返回信息拼接字符串message.append(line.trim() + "\r\n");continue;}p.waitFor();System.out.println(message.toString().trim());if (reader != null) {reader.close();}p.destroy();}catch (Exception e){e.printStackTrace();// message 就是 ffmpeg报出来的错误信息}
}
ffmpeg视频裁剪相关推荐
- ffmpeg 视频裁剪格式问题
运用ffmpeg进行视频裁剪报错Invalid data found when processing input,以及运用ffmpeg进行视频裁剪 这两天需要将视频进行裁剪,具体是将一段长60分钟的图 ...
- ffmpeg 视频裁剪 命令行+C实现(无B帧视频)
ffmpeg 命令行 ffmpeg -i k.mp4 -ss 00:00:00 -t 10 out.pm4 -ss 指定裁剪的开始时间,精确到秒 -t 被裁剪后的时长. c代码实现 说一些主要 avf ...
- Python 实现视频裁剪(附代码) | Python工具
目录 前言 环境依赖 代码 总结 前言 本文提供将视频按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义. 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部 ...
- FFmpeg基础: 视频裁剪
基本概念 在对视频进行裁剪之前,我们先讲几个基本概念. 第一个概念是PTS(Presentation Time Stamp) 显示时间戳,用来定位帧的显示时间. 第二个概念是DTS(Decode Ti ...
- ffmpeg 将一个视频裁剪多个部分,然后合并所有的裁剪为一个视频
如果你想利用 ffmpeg 将一个视频裁剪为多个部分,然后合并所有的裁剪为一个视频, 那么你可以执行 : ffmpeg -i input -filter_complex "[0:v:0]se ...
- ffmpeg 视频处理命令集合
最近用到ffmpeg来处理视频,把用到的命令整理在这里做个备忘. 使用的ffmpeg版本2.0.1,从官网下载源码,编译很简单: ./configure make 常用命令: - 查看视频信息 ffm ...
- 高度固定 宽度裁剪_ffmpeg 视频裁剪
视频裁剪 时间 ( 00:00:01 ),开始到结束 ( 00:00:05 ), 首尾大概有一秒的误差 ffmpeg -ss 00:00:01 -i one.MP4 -to 00:00:05 -c c ...
- IOS视频编辑,视频裁剪,视频拼接,音频处理,视频处理
前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUImage即可实现多种滤镜.磨皮美颜的功能,并且可以脸部识别实时美颜等功能,这个有很多 ...
- FFmpeg视频处理入门教程----从安装到使用(Linux版)
ffmpeg是一个开源的音视频转码工具,它提供了录制.转换以及流化音视频的完整解决方案,可以转码.压制.提取.截取.合并.录屏等.它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube ...
- YUV420P视频裁剪
yuv420P视频剪切 最近在研究使用ffmpeg库进行视频的旋转和剪切,下面就贴上视频剪切的代码 void clipSize(const uint8_t *buffer, uint8_t *resu ...
最新文章
- Android中的多线程(字节跳动)
- 安装openssl-devel
- PHP获取客户端和服务器IP地址
- lsm tree java_LSM-tree 基本原理及应用
- 文件解析漏洞总结-IIS
- cvc降噪和主动降噪_小米降噪项圈蓝牙耳机来了:Hybrid主动降噪技术
- 【Clickhouse】Clickhouse TTL 数据的存活时间
- MySQL安装与操作总结
- 研0必读!李航《统计学习方法》啃书指南
- Python 科学计算—— 数值问题
- python和c++哪个好-关于python和c语言学哪个好
- 华为手机更改系统默认字体
- 采用esxcli命令操作esxi主机防火墙
- 跟陌生人说话QQ小技巧
- Python3 安装cx_Oracle 指导手册
- LVM Linear vs Striped Logical Volumes
- 计算机外存是ram硬盘还是,都是存储器,但RAM、ROM、闪存、硬盘怎么分?
- 2017.2.10考试总结2017冬令营
- java贪心,java实现贪心算法
- 消除win7正版验证
热门文章
- 竹子买车第二届运动会乒乓球大赛 趣味运动展风采
- 小米手机获取root权限完整详细教程,亲测可用(精)
- 记2015年的腾讯校招经历——状态篇
- 19清明假前一周安排
- 6. LaTeX 参考文献的排版与引用
- 计算机保研厦大面试,保研其实不难:他们保研人大、厦大、山大,有这些经验,值得收藏!...
- 3线spi屏幕驱动方式
- java更改图片小于32kb_echarts上传图表图片到Java 后台保存出来是空白图片?
- 小白爬虫入门~python爬取职友集招聘职位信息
- 爬虫headers参数