其实是一个用java实现录像的功能,还没有实现,但解码和转码已经可以。
1.maven环境,pom.xml配置

1 <properties> 2 <javacpp.version>1.4.1</javacpp.version> 3 <!-- ffmpeg版本 --> 4 <ffmpeg.version>3.4.2</ffmpeg.version> 5 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 6 <servlet.version>3.1.0</servlet.version> 7 </properties> 8 <dependency> 9 <groupId>org.bytedeco</groupId> 10 <artifactId>javacv-platform</artifactId> 11 <version>${javacpp.version}</version> 12 </dependency> 13 <dependency> 14 <groupId>org.bytedeco</groupId> 15 <artifactId>javacpp</artifactId> 16 <version>${javacpp.version}</version> 17 </dependency> 18 <dependency> 19 <groupId>org.bytedeco.javacpp-presets</groupId> 20 <artifactId>ffmpeg-platform</artifactId> 21 <version>${ffmpeg.version}-${javacpp.version}</version> 22 </dependency>
2.代码

1 package com.br.test; 2 3 import java.io.ByteArrayOutputStream; 4 import java.io.File; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.nio.ByteBuffer; 8 import org.bytedeco.javacpp.*; 9 import static org.bytedeco.javacpp.avcodec.*; 10 import static org.bytedeco.javacpp.avformat.*; 11 import static org.bytedeco.javacpp.avutil.*; 12 import static org.bytedeco.javacpp.swscale.*; 13 14 public class NewTest { 15 // Load only once formats and codecs 16 static { 17 av_register_all(); 18 // avformat_network_init(); 19 avcodec_register_all(); 20 } 21 public int codec_id; 22 public AVCodecContext m_pCodecCtx = null; // URL中视频解码部分内容 23 public AVFrame m_pFrame = null; // 全局使用帧对象 24 public AVFrame m_pFrameRGB = null; 25 public AVCodec m_pCodec = null; 26 public AVCodecParserContext pCodecParserCtx = null; 27 public AVPacket packet = null; 28 public SwsContext m_pImageConvertCtx = null; // 构造全局对象,供