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();
            }
        }
    }
相关推荐
微尘寒风10 小时前
【Git】的安装和使用
java·git
y = xⁿ10 小时前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
侧耳倾听11111 小时前
jwt使用简介
java·jwt
顶点多余11 小时前
那些在算法中适合巩固的知识点---1
java·前端·算法
AI人工智能+电脑小能手11 小时前
大白话说Java设计模式-46-责任链模式(业务实战篇)
java·设计模式·责任链模式·风控校验·servlet filter·spring interceptor·链式处理
jay神12 小时前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计
2601_9620664912 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
yaoxin52112313 小时前
507. Java 反射 - 在 BeanFactory 中实现依赖注入
java·开发语言
OPEN-F13 小时前
C++模板教程:变参模板、折叠表达式与SFINAE
java·开发语言·c++
2601_9620722114 小时前
SpringMVC进阶(自定义拦截器以及异常处理)
java