用java编写一个视频转码器

一、依赖

       <!-- ws.schild是目前主流的对视频和音频进行转码、裁剪以及提取操作的JAVA工具包-->
        <dependency>
            <groupId>ws.schild</groupId>
            <artifactId>jave-all-deps</artifactId>
            <version>3.3.1</version>
        </dependency>

二、工具类编写

/**
 * 视频转码器
 */
public class VideoConvertUtil {
    /**
     * 视频格式化为mp4
     * @param url 源视频路径
     * @param targetPath 转换视频路径
     */
    public static boolean formatToMp4(String url, String targetPath) {
        //原文件
        File source = new File(url);
        //转换文件
        File target = new File(targetPath);
            try {
                //音频参数
                AudioAttributes audio = new AudioAttributes();
                audio.setCodec("libmp3lame");
                //设置比特率
                audio.setBitRate(800000);
                //设置音频通道数
                audio.setChannels(1);
                //设置采样率
                audio.setSamplingRate(44100);
                
                //视频参数
                VideoAttributes video = new VideoAttributes();
                //H264格式的MP4适配<video>标签正常播放
                video.setCodec("libx264");
                video.setBitRate(3200000);
                video.setFrameRate(15);
                
                //输出格式
                EncodingAttributes attrs = new EncodingAttributes();
                attrs.setOutputFormat("mp4");
                attrs.setAudioAttributes(audio);
                attrs.setVideoAttributes(video);
                Encoder encoder = new Encoder();
                encoder.encode(new MultimediaObject(source), target, attrs);
            } catch (Exception e) {
                System.out.println("格式化视频异常");
                e.printStackTrace();
            }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值