手機轉碼工具 碼率 轉碼工具有哪些



文章插圖
手機轉碼工具 碼率 轉碼工具有哪些

文章插圖
問題:原視頻的編碼格式為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);
路漫漫其修遠兮,吾將上下而求索
【手機轉碼工具 碼率 轉碼工具有哪些】譯文:在追尋真理方面,前方的道路還很漫長,但我將百折不撓,不遺余力地去追求和探索 。