2,543
社区成员
发帖
与我相关
我的任务
分享
FrameGrabber grabber = FrameGrabber.createDefault(0); // 本机摄像头
grabber.start();
int width = grabber.getImageWidth();
int height = grabber.getImageHeight();
// 流媒体输出地址,分辨率(长,高),是否录制音频(0:不录制/1:录制)
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(rtmpPath, width, height, audioRecord);
recorder.setInterleaved(true);
recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264); // 28
recorder.setFormat("flv"); // rtmp的类型
recorder.setFrameRate(25);
recorder.setPixelFormat(0); // yuv420p
recorder.start();
for(int i=0 ; true; i++){
Frame frame = grabber.grab();
if(frame == null){
Thread.sleep(1000);
System.out.println("frame is null "+i);
continue ;
}
recorder.record(frame);
}