bytedeco/javacv
when I stream my video for about 2 min I got an error "av_interleaved_write_frame() error -32 while writing interleaved video packet"
Aperta
#2023 aperta il 9 mag 2023
help wantedquestion
Metriche repository
- Star
- (6985 stelle)
- Metriche merge PR
- (Nessuna PR mergiata in 30 g)
Descrizione
public void liveStreamingVideos(List<String> urls, String rtmpAddress, String tenantCode, int maxSize, double frameRate) {
try {
avutil.av_log_set_level(avutil.AV_LOG_INFO);
FFmpegLogCallback.set();
int count = 0;
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(rtmpAddress, 800, 450, 1);
recorder.setFrameRate(25);
recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
recorder.setFormat("flv");
long time = 0;
for (String url : urls) {
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("/Users/Downloads/1.webm");
grabber.setOption("analyzeduration", "10000");
grabber.setFormat("webm");
grabber.setFrameRate(25);
grabber.start();
int frameWidth = grabber.getImageWidth();
int frameHeight = grabber.getImageHeight();
if (count == 0) {
recorder.start();
count++;
}
grabber.flush();
Frame pkt = null;
while ((pkt = grabber.grabAtFrameRate()) != null) {
try {
recorder.setTimestamp(pkt.timestamp + time);
time = pkt.timestamp + time;
recorder.record(pkt);
LoggerUtil.info(LOGGER, "push " + pkt.pictType + " : " + time);
Thread.sleep((long) frameRate);
} catch (Exception e) {
System.out.println("jump" + pkt.pictType + e);
}
}
grabber.close();
}
recorder.close();
} catch (Exception e) {
LoggerUtil.error(LOGGER, e);
}
}