使用jave将h264格式视频转MP4

起因:最近做一个高空抛物的项目,其中需要将摄像机抓拍的h264格式视频文件转mp4,进行浏览器在线播放,经过多番资料查找,找到视频编解码工具ffmpeg,利用该工具,直接拼接命令也是可以的,但服务器端还需安装ffmpeg工具,另一种方法就是我要展示的,利用jave(暂且理解为java封装的ffmpeg工具)进行转换。
代码如下:
引入pom依赖:

     <dependency><groupId>ws.schild</groupId><artifactId>jave-core</artifactId><version>2.4.6</version></dependency><!--linux下引入这个--><dependency><groupId>ws.schild</groupId><artifactId>jave-native-linux64</artifactId><version>2.4.6</version></dependency><!--windows下引入这个--><!--<dependency><groupId>ws.schild</groupId><artifactId>jave-native-win64</artifactId><version>2.4.6</version></dependency>-->
 /*** * @param filePath 源文件路径*/public static void h264ToMp4(String filePath) {if (StringUtils.isEmpty(filePath) || !filePath.endsWith("h264")) {return;}try {File file = new File(filePath);String mp4FilePath = filePath.replace("h264", "mp4");File mpFile = new File(mp4FilePath);if (!mpFile.exists()) {mpFile.createNewFile();}//获取文件多媒体类MultimediaObject sourceFile = new MultimediaObject(file);VideoAttributes video = new VideoAttributes();AudioAttributes audio = new AudioAttributes();//音频编码器audio.setCodec("libmp3lame");//位速率又叫比特率,是指在单位时间内可以传输多少数据audio.setBitRate(new Integer(64000));//音频的通道数,一般来说 都是单通道和双通道(立体音)audio.setChannels(new Integer(1));//是指在数码音频和视频技术应用中,当进行模拟/数码转换时,每秒钟对模拟信号进行取样时的快慢次数audio.setSamplingRate(new Integer(22050));//视频编码器video.setCodec("libx264");//位速率又叫比特率,是指在单位时间内可以传输多少数据video.setBitRate(new Integer(800000));//画面桢速率video.setFrameRate(new Integer(20));video.setSize(new VideoSize(1920, 1080));EncodingAttributes attr = new EncodingAttributes();attr.setFormat("mp4");attr.setAudioAttributes(audio);attr.setVideoAttributes(video);Encoder encoder = new Encoder();encoder.encode(sourceFile, mpFile, attr);} catch (Exception e) {log.error("h264视频转mp4异常:", e);}}

h264格式视频转mp4相关推荐

  1. 格式工厂AVI格式视频转MP4画面不清晰变模糊解决办法

    格式工厂AVI格式视频转MP4画面不清晰变模糊解决办法: 1.预设配置选择为"AVC高质量和大小" 2.参数设置中,视频编码项选择为AVC(H264)(AVC(H265)大部分播放 ...

  2. 实现H264格式视频的流媒体播放

    http://bbs.chinavideo.org/forum.php?mod=viewthread&tid=7575&extra=&page=1 相信有不少人和我一样,希望实 ...

  3. Android多媒体:H264格式文件转MP4格式文件

    项目有Rtsp实时视频播放功能 ,现在要实现边播放边保存的功能要求.我在音视频方面技术处理白痴水平,所以 只能简单地实现先把h264格式的视频流保存到SD卡,再把对应地h264文件转码成MP4格式文件 ...

  4. 想把下载的qlv格式视频转MP4格式,想问下大家Java有解决方案么?

    网上很多qlv格式转换为mp4格式的教程比较复杂 一.什么是qlv格式: qlv视频格式是tx视频下载后的一种格式文件,由于其固版的格式特点,通常只能通过tx视频客户端进行播放:支持播放qlv的播放器 ...

  5. Android使用MediaCodec硬解码播放H264格式视频文件

    前些时间,通过各种搜索加请教了好几个同行的朋友,在他们的指点下实现: RTSP+H264实时视频播放播放及把实时视频流保存到手机SD卡中,再对保存的H264格式文件进行播放等基本功能.非常感谢这些朋友 ...

  6. 如何将qsv格式视频转换为MP4格式?qsv文件怎么转换成mp4

    qsv视频格式是爱奇艺影音特有的视频格式,只能用爱奇艺播放器才能进行播放,要想对视频进行编辑就得先将爱奇艺视频格式转换成普通的视频格式. 打开视频转换器软件,点击添加文件,添加要转换的qsv格式文件. ...

  7. 如何把3GP格式视频转换为MP4格式

    3GP是MP4的简化格式也是目前比较常见的手机格式,3GP的视频格式体积小很节省手机空间可是它播放质量差而且支持播放它的软件很少.MP4格式就不一样了,MP4格式是通用的视频格式很多视频播放器都能播放 ...

  8. 如何使用视频剪辑软件将qsv格式视频转换为MP4格式 1

    在闲暇的时光中很多朋友会通过观看视频来度过,但是我们的手机不是所有格式的视频都可以播放,遇到不兼容的格式,我们就需要使用视频转换器来转换格式了.送福利啦~小编将在这篇文章里为大家介绍视频剪辑格式转换软 ...

  9. 将.qsv格式视频转为.mp4视频

    进入到.qsv视频目录下,使用cmd进入命令行窗口 copy/B guizhou.qsv video.mp4 OK,大功告成

  10. Macbook如何通过一行指令实现mkv格式视频转mp4格式

    首先打开终端装上ffmpeg brew install ffmpeg 然后 ffmpeg -i my_mkv.mkv -codec copy my_mkv.mp4 enjoy yourself!

最新文章

  1. celery源码分析-worker初始化分析(下)
  2. 获取某字符 之后 之前
  3. Algorithms_二叉树二分搜索树初探
  4. 一文盘点数据行业的动态演变
  5. 面试:你说一下 MyBatis 事务吧!
  6. java jpa注解哪个包好,Spring Data JPA 中常用注解详解
  7. 齐次(Homogeneous)、单项式、多项式
  8. Android 第二章 本地文件的读写
  9. 前端性能优化—回流与重绘
  10. 导入其他用户的EFS证书
  11. Getting started with Processing 第七章总结
  12. gre填空高频词汇整理
  13. 利用Python切头去尾
  14. 机器学习中的数学——距离定义(二十二):海林格距离(Hellinger Distance)
  15. 关于数据、数据流、数据管道的一些看法(二)
  16. S32K144从入门到跑路——芯片性能与主要功能模块与存储空间的地址分配(持续更新)
  17. 【前端升全栈】 开发项目之数据存储(MySQL数据库)
  18. Nightcafe Creator:AI绘画艺术图片生成器
  19. NI:力争成为半导体测试领域的领导者
  20. 有孚网络吕鑫:融媒体数据管理的实践与探讨

热门文章

  1. web项目使用的前后端技术
  2. GreenPlum分布式集群数据库实战培训课程(2天速成版)
  3. Vue学习之旅Part3:Vue的全局过滤器和私有过滤器
  4. nRF24L01无线通信模块使用简介
  5. laravel基础操作手册
  6. Off World Live 插件:广播UE4内部的音频信号到NDI
  7. Rhino导入Revit生成体量幕墙的方法和操作要点
  8. QCC3040----SOC模块
  9. python视频培训班
  10. 中国天气网城市编码获取地址