前端播放视频有声音没有画面

前端播放视频有声音没有画面

MP4编码格式主要有三种,分别是mpg4(xdiv),mpg4(xvid),avc(h264),只有h264才是公认的MP4标准编码,所以视频有声音没画面需要将视频转码成h264编码的标准格式才能实现视频播放

转码代码

package com.huang.controller.autoVideoModule;

import ws.schild.jave.*;

import java.io.File;

/**
 * @Description 视频转码工具类
 * @Author huangyang
 * @date 2021年06月22日 16:02
 */

public class changeCode {

    public static void  changeCodeUtil(String sourcepath,String targetpath){
        File source = new File(sourcepath);
        File target = new File(targetpath);
        AudioAttributes audio = new AudioAttributes();
        audio.setCodec("libmp3lame");
        audio.setBitRate(new Integer(800000));
        audio.setChannels(new Integer(1));
        VideoAttributes video=new VideoAttributes();
        video.setCodec("libx264");
        video.setBitRate(new Integer(3200000));
        video.setFrameRate(new Integer(15));
        EncodingAttributes attr=new EncodingAttributes();
        attr.setFormat("mp4");
        attr.setAudioAttributes(audio);
        attr.setVideoAttributes(video);
        Encoder encoder=new Encoder();
        MultimediaObject multimediaObject = new MultimediaObject(source);
        try{
            encoder.encode(multimediaObject, target, attr);
        }catch (IllegalArgumentException e){
            e.printStackTrace();
        }catch (InputFormatException e){
            e.printStackTrace();

        }catch (EncoderException e){
            e.printStackTrace();
        }
    }


}

**注意:**在写代码前首先要在pom.xml中导入以下依赖

<dependency>
            <groupId>ws.schild</groupId>
            <artifactId>jave-core</artifactId>
            <version>2.4.5</version>
        </dependency>

        <dependency>
            <groupId>ws.schild</groupId>
            <artifactId>jave-native-win64</artifactId>
            <version>2.4.5</version>
        </dependency>


版权声明:本文为m0_47354330原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。