java对MP4视频编码转换为H264格式解决浏览器播放无画面问题
最近遇到一个mp4视屏在浏览器页面播放无画面问题,经过多次研究发现视屏编码在浏览器格式不支持,因此需要对视屏的编码进行转换,兼容性最好的是AVC(H264)格式
下面给大家介绍一个main方法对视频编码转换的工具类
jar包:
ws.schild jave-core:2.4.5
ws.schild jave-native-win64:2.4.5
可以在maven库搜索下载
1、pom中加入这两个依赖:
<!-- https://mvnrepository.com/artifact/ws.schild/jave-core --> <dependency><groupId>ws.schild</groupId><artifactId>jave-core</artifactId><version>2.4.5</version> </dependency> <!-- https://mvnrepository.com/artifact/ws.schild/jave-native-win64 --> <dependency><groupId>ws.schild</groupId><artifactId>jave-native-win64</artifactId><version>2.4.5</version> </dependency>
2、代码如下:
package org.springeos.modules.quartz.m3u8.main;import ws.schild.jave.*; import java.io.File; import java.io.IOException;public class test {public static void main(String[] args) throws IOException {File source = new File("source.avi");File target = new File("target.avi");AudioAttributes audio = new AudioAttributes();audio.setCodec("libmp3lame");//音频编码格式//audio.setBitRate(new Integer(56000));//设置比特率,比特率越大,转出来的音频越大(默认是128000,最好默认就行,有特殊要求再设置)audio.setChannels(new Integer(1));audio.setSamplingRate(new Integer(22050));VideoAttributes video = new VideoAttributes();video.setCodec("libx264");//视屏编码格式//video.setBitRate(new Integer(56000));//设置比特率,比特率越大,转出来的视频越大(默认是128000,最好默认就行,有特殊要求再设置)video.setFrameRate(new Integer(15));//数值设置小了,视屏会卡顿EncodingAttributes attrs = new EncodingAttributes();attrs.setFormat("mp4");attrs.setAudioAttributes(audio);attrs.setVideoAttributes(video);Encoder encoder = new Encoder();MultimediaObject multimediaObject=new MultimediaObject(source);try {encoder.encode(multimediaObject,target,attrs);}catch (IllegalArgumentException e){e.printStackTrace();}catch (InputFormatException e){e.printStackTrace();}catch (EncoderException e){e.printStackTrace();}}}
下面这个链接是 JAVE 视音频转码链接,可以看下里面的一些属性设置;
https://blog.csdn.net/qllinhongyu/article/details/29817297
java对MP4视频编码转换为H264格式解决浏览器播放无画面问题相关推荐
- ffmpeg将视频编码为H264格式
ffmpeg视频编解码课程教学视频:https://edu.csdn.net/course/detail/27795 课件里面提供源码资料 一.ffmpeg初始化 av_register_all(); ...
- html5播放器的标签与用法(mp4视频编码问题)
html5播放器范例 先来个范例吧,html5的播放器代码,就是这么简单: <video width="320" height="240" control ...
- yuv编码成h264格式写成文件
yuv编码成h264格式写成文件 (使用ffmpeg 编码yuv420p编码成h264格式) #include <stdio.h> #include <stdlib.h> #i ...
- 怎么把video文件改成mp4_GiliSoft Video Converter将MP4视频转换成M4V格式教程
GiliSoft Video Converter是一款好用的视频格式转换软件.使用GiliSoft Video Converter可以轻松对电脑中的视频进行格式转换: 进入下载GiliSoft Vid ...
- 视频图像数据处理八:将rgb视频图像转换为yuv420格式视频图像
文章目录 转换公式 需要注意 函数代码 测试用例 下载 本文介绍了将rgb视频图像转换为yuv420格式视频图像的方法,附有详细的代码和图像示例.文中rgb24和yuv420文件需要使用yuv/rgb ...
- eclipse转android studio解决GBK编码转换为UTF-8格式的方法
eclipse转android studio解决GBK编码转换为UTF-8格式出现乱码 本文转自:http://blog.csdn.net/ffacffac/article/details/77509 ...
- ffmpeg学习八:软件生成yuv420p视频并将其编码为H264格式
通过前面对ffmpeg中常用的几个api的源码分析,从而对api有了更好的理解.之前已经做过视频的解码了,今天来尝试视频的编码.ffmpeg已经给我们提供了相应的可供参考的程序:doc/example ...
- java视频转换语音,视频转换成音频方法,avi格式视频怎么转换为MP3格式
如何将视频中的音频提取出来?有时候我们在网上下载了一个视频,但真正吸引到自己的却是视频中的音乐.甚至有时候并不是想要视频文件,而是想要视频中的声音,那么如何将视频格式转换成音频格式呢?一般常见的视频转 ...
- 视频编码中封装格式RMVB,AVI,264
常规理解 封装格式(也叫容器),就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中,也就是说仅仅是一个外壳,或者大家把它当成一个放视频轨和音频轨的文件夹也可以.说得通俗点,视频轨相当于饭 ...
- 未拉手刹撞到前面车的动画_如何使用手刹将任何视频文件转换为任何格式
未拉手刹撞到前面车的动画 If you've ever wanted to convert a video file, but weren't sure what to use, then Handb ...
最新文章
- 数据库密码配置项都不加密?心也太大了!
- js二维数组_Javascript数组
- 听说这是和女朋友住一起后的现象之一
- 紧急不代表重要:管理时间的六个秘密
- 基于visual Studio2013解决面试题之0307最后谁剩下
- 视觉SLAM十四讲学习笔记-第四讲---第五讲学习笔记总结---李群和李代数、相机
- Windows 7 切换Python版本
- 美国NIST仍在与财政部和国防部就区块链支付跟踪项目合作
- Unity 3D游戏五:打飞碟
- 二分之一波长传输线有啥用?
- Oracle的表使用plsql导出excel文件
- 2012年中国大学最新排名
- 怎样申请.EDU邮箱
- Requests 校花网图片爬取
- geforce rtx3090显卡安装cuda11.0
- 整理总结:英语口语发音技巧
- 多因子模型的步骤梳理(以打分法为例)
- Java求一元二次方程的根
- date 显示日期月份用英文缩写表示
- java 数字翻译成英文_Java实现将数字日期翻译成英文单词的工具类实例