bytedeco/javacv
View on GitHubwhen I stream my video for about 2 min I got an error "av_interleaved_write_frame() error -32 while writing interleaved video packet"
Open
#2,023 opened on May 9, 2023
help wantedquestion
Repository metrics
- Stars
- (6,985 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
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);
}
}