**需要注意,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视频裁剪相关推荐

  1. ffmpeg 视频裁剪格式问题

    运用ffmpeg进行视频裁剪报错Invalid data found when processing input,以及运用ffmpeg进行视频裁剪 这两天需要将视频进行裁剪,具体是将一段长60分钟的图 ...

  2. ffmpeg 视频裁剪 命令行+C实现(无B帧视频)

    ffmpeg 命令行 ffmpeg -i k.mp4 -ss 00:00:00 -t 10 out.pm4 -ss 指定裁剪的开始时间,精确到秒 -t 被裁剪后的时长. c代码实现 说一些主要 avf ...

  3. Python 实现视频裁剪(附代码) | Python工具

    目录 前言 环境依赖 代码 总结 前言 本文提供将视频按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义. 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部 ...

  4. FFmpeg基础: 视频裁剪

    基本概念 在对视频进行裁剪之前,我们先讲几个基本概念. 第一个概念是PTS(Presentation Time Stamp) 显示时间戳,用来定位帧的显示时间. 第二个概念是DTS(Decode Ti ...

  5. ffmpeg 将一个视频裁剪多个部分,然后合并所有的裁剪为一个视频

    如果你想利用 ffmpeg 将一个视频裁剪为多个部分,然后合并所有的裁剪为一个视频, 那么你可以执行 : ffmpeg -i input -filter_complex "[0:v:0]se ...

  6. ffmpeg 视频处理命令集合

    最近用到ffmpeg来处理视频,把用到的命令整理在这里做个备忘. 使用的ffmpeg版本2.0.1,从官网下载源码,编译很简单: ./configure make 常用命令: - 查看视频信息 ffm ...

  7. 高度固定 宽度裁剪_ffmpeg 视频裁剪

    视频裁剪 时间 ( 00:00:01 ),开始到结束 ( 00:00:05 ), 首尾大概有一秒的误差 ffmpeg -ss 00:00:01 -i one.MP4 -to 00:00:05 -c c ...

  8. IOS视频编辑,视频裁剪,视频拼接,音频处理,视频处理

    前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUImage即可实现多种滤镜.磨皮美颜的功能,并且可以脸部识别实时美颜等功能,这个有很多 ...

  9. FFmpeg视频处理入门教程----从安装到使用(Linux版)

    ffmpeg是一个开源的音视频转码工具,它提供了录制.转换以及流化音视频的完整解决方案,可以转码.压制.提取.截取.合并.录屏等.它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube ...

  10. YUV420P视频裁剪

    yuv420P视频剪切 最近在研究使用ffmpeg库进行视频的旋转和剪切,下面就贴上视频剪切的代码 void clipSize(const uint8_t *buffer, uint8_t *resu ...

最新文章

  1. Android中的多线程(字节跳动)
  2. 安装openssl-devel
  3. PHP获取客户端和服务器IP地址
  4. lsm tree java_LSM-tree 基本原理及应用
  5. 文件解析漏洞总结-IIS
  6. cvc降噪和主动降噪_小米降噪项圈蓝牙耳机来了:Hybrid主动降噪技术
  7. 【Clickhouse】Clickhouse TTL 数据的存活时间
  8. MySQL安装与操作总结
  9. 研0必读!李航《统计学习方法》啃书指南
  10. Python 科学计算—— 数值问题
  11. python和c++哪个好-关于python和c语言学哪个好
  12. 华为手机更改系统默认字体
  13. 采用esxcli命令操作esxi主机防火墙
  14. 跟陌生人说话QQ小技巧
  15. Python3 安装cx_Oracle 指导手册
  16. LVM Linear vs Striped Logical Volumes
  17. 计算机外存是ram硬盘还是,都是存储器,但RAM、ROM、闪存、硬盘怎么分?
  18. 2017.2.10考试总结2017冬令营
  19. java贪心,java实现贪心算法
  20. 消除win7正版验证

热门文章

  1. 竹子买车第二届运动会乒乓球大赛 趣味运动展风采
  2. 小米手机获取root权限完整详细教程,亲测可用(精)
  3. 记2015年的腾讯校招经历——状态篇
  4. 19清明假前一周安排
  5. 6. LaTeX 参考文献的排版与引用
  6. 计算机保研厦大面试,保研其实不难:他们保研人大、厦大、山大,有这些经验,值得收藏!...
  7. 3线spi屏幕驱动方式
  8. java更改图片小于32kb_echarts上传图表图片到Java 后台保存出来是空白图片?
  9. 小白爬虫入门~python爬取职友集招聘职位信息
  10. 爬虫headers参数