手机转码工具(免费转视频格式的软件)

问题:原视频的编码格式为H265,在小程序上面无法播放,需要转为MPEG-4格式。1、引入相关依赖org.bytedecojavacv<v

问题:原视频的编码格式为H265,在小程序上面无法播放,需要转为MPEG-4格式。

1、引入相关依赖

<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.4.1</version>
</dependency>

<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>1.4.1</version>
</dependency>

<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv-platform</artifactId>
<version>3.4.1-1.4.1</version>
</dependency>

<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>ffmpeg-platform</artifactId>
<version>3.4.2-1.4.1</version>
</dependency>

2、视频转码工具类

import org.bytedeco.javacv.Frame;
import org.bytedeco.javacpp.avcodec;
import org.bytedeco.javacv.FrameGrabber;
import org.bytedeco.javacv.FrameRecorder;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.FFmpegFrameRecorder;

/**
* 视频转码工具类
*/
public class VideoConvertUtil {

public void convert(String inputFile, String outputFile) throws Exception {
FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(inputFile);
Frame captured_frame;
FFmpegFrameRecorder recorder = null;

try {
grabber.start();

recorder = new FFmpegFrameRecorder(outputFile, grabber.getImageWidth(), grabber.getImageHeight(), grabber.getAudioChannels());
recorder.setVideoCodec(avcodec.AV_CODEC_ID_MPEG4);
recorder.setFormat(\"mp4\");
recorder.setFrameRate(grabber.getFrameRate());
recorder.setSampleRate(grabber.getSampleRate());
recorder.setVideoBitrate(grabber.getVideoBitrate());
recorder.setAspectRatio(grabber.getAspectRatio());
recorder.setAudioBitrate(grabber.getAudioBitrate());
recorder.setAudioOptions(grabber.getAudioOptions());
recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
recorder.start();

while (true) {
captured_frame = grabber.grabFrame();
if (captured_frame == null) {
System.out.println(\"转码完成\");
break;
}
recorder.record(captured_frame);
}

} catch (FrameRecorder.Exception e) {
e.printStackTrace();
} finally {
if (recorder != null) {
try {
recorder.close();
} catch (Exception e) {
System.out.println(\"recorder.close异常\" + e);
}
}

try {
grabber.close();
} catch (FrameGrabber.Exception e) {
System.out.println(\"frameGrabber.close异常\" + e);
}
}
}
}

3、调用工具类方法

VideoConvertUtil convertUtil = new VideoConvertUtil();
convertUtil.convert(url, videoSavePath);

路漫漫其修远兮,吾将上下而求索

译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/35770.html

(0)
nan
上一篇 2021-10-15
下一篇 2021-10-15

相关推荐

  • 微信视频号直播怎么推广(微信直播间开通卖货步骤)

    来源:中国青年网双11购物节即将到来,今年不同的是,视频号上带货的达人们也能参与进来。据悉,微信视频号直播将于2021年11月1日0点至11月11日24点推出11.11直播好物节活动,各品牌、商家、主播均可通过直播带货,向粉丝推荐优质商品。微店作为商

    2021-10-26
    0
  • realmeGTNeo2纯黑色版曝光(AG玻璃后盖)

    科猫网9月22日消息realme将于今日14:00举行发布会,推出真我GTNeo2手机。官方此前公布了“黑薄荷”配色,整体是绿+黑设计。在发布会之前,数码博主@数码闲聊站放出了realmeGTNeo2的AG玻

    2021-09-24 用户投稿
    0
  • 2021最牛的招聘语(招聘怎么写吸引人简短)

    今天整理了好用到哭的招聘文案合集1⃣️你怀才不遇,我们老板怀财不遇,让我知道你。伯乐一顾,价增三倍,成就一生!2⃣️没有梦想,何必远方;世界很大,路在自己脚下;趁年轻,全力以赴追逐梦想!趁年轻,敢闯敢拼施展才华!加入XX,追梦

    2021-12-16
    0
  • 互联网创业公司起名大全(互联网科技公司起名)

    近年来,随着互联网的发展,各类网络公司的数量也在逐渐增加,这也给我们的生活带来了极大的便利。如果我们想建立一家网络公司,公司名称是创始人需要努力的方面之一。接下来,让我们来看看完整的内涵网络公司名称的

    2022-01-19
    0
  • 电脑系统启动不了怎么修复(u盘启动盘无法引导)

    电脑系统无法启动,引导损坏怎么回事?面对电脑黑屏的状况,通过手机翻译黑屏上面的英文提示系统引导损坏的意思,如何解决呢?下面让小白系统教你面对黑屏如何解决电脑系统无法启动的情况吧。方法一:系统光盘修复引导(针对旧机型)1、首先将系统光

    2021-12-08 用户投稿
    0
  • 100万日元换多少人民币(100万日元换算成人民币)

    引子新金牌娱乐观察家知道,最近很多人都在奥运。福原爱最近就久违复出,参加了解说活动。据悉,一般赛事解说员的酬劳为每天10万~15万日元(6000-8800元人民币)。这个价码是不是太低了?福原爱老师之前和江宏杰离婚,导致人气下滑。福原爱离婚后,在

    2021-10-20
    0

发表回复

登录后才能评论