Java rtsp转flv

依赖

xml 复制代码
    <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacv</artifactId>
            <version>1.4.3</version>
    </dependency>

完整代码

java 复制代码
public static void main(String[] args) {

        String fileURL = "rtsp://admin:zr123456@192.168.1.199/Streaming/tracks/0101/?starttime=20240620T010203Z&endtime=20240620T010213Z";
        String outFile = "C:\\Users\\admin\\Desktop\\a.flv";

        FFmpegFrameRecorder recorder = null;
        FFmpegFrameGrabber grabber = null;

        try{
            grabber = FFmpegFrameGrabber.createDefault(fileURL);
            grabber.setOption("rtsp_transport", "udp");
            grabber.start();



            int imageWidth = grabber.getImageWidth();
            int imageHeight = grabber.getImageHeight();

            recorder = new FFmpegFrameRecorder(outFile, imageWidth, imageHeight);
            recorder.setSampleRate(grabber.getSampleRate());
            recorder.setAudioChannels(grabber.getAudioChannels());
            recorder.setInterleaved(true);
            recorder.setVideoBitrate(2500000);
            recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
            recorder.setFormat("flv");
            recorder.setFrameRate(grabber.getFrameRate());
            recorder.setGopSize((int) (grabber.getFrameRate() * 2));
            recorder.setPixelFormat(avutil.AV_PIX_FMT_YUV420P);

            recorder.start();

            // 处理视频帧
            Frame frame;
            while (true) {
                frame = grabber.grabFrame();
                if (frame == null) {
                    break; // 没有更多帧
                }
                recorder.record(frame);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 确保资源被释放
            if (recorder != null) {
                recorder.stop();
            }
        }
    }
相关推荐
南境十里·墨染春水8 小时前
线程池学习(二)线程池理解
java·jvm·学习
ZGi.ai8 小时前
私有化大模型接入企业系统:SSO+权限+API网关完整方案
java·开发语言·大模型·私有化部署·sso·企业架构
Han_han9198 小时前
集合进阶(Map集合):
java
吴声子夜歌8 小时前
Java——文件和目录操作
java·文件·目录
吴声子夜歌8 小时前
Java——随机
java·random·随机
aaaak_8 小时前
PDD 直播间 评论 , wss hex Protobuf 解析流程分析学习
java·前端·学习
小雅痞8 小时前
[Java][Leetcode simple] 205. 同构字符串
java·算法·leetcode
多加点辣也没关系9 小时前
设计模式-策略模式
java·设计模式·策略模式
2601_953660379 小时前
Java Map集合详解与实战
java·开发语言·python
星晨羽9 小时前
java通过共享目录协议下载文件到本地
java