bytedeco/javacv
View on GitHubFilled side_ data not received correctly(javacv 1.5.9)
Open
#2,138 opened on Dec 5, 2023
enhancementhelp wantedquestion
Repository metrics
- Stars
- (6,985 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
my app:project A send side_data To B
I used mediamtx as the RTSP server
java code:
A:
private static String inputUrl = "rtsp://localhost:8554/stream";
private static String outputUrl = "rtsp://localhost:8554/stream1";
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(inputUrl);
grabber.setOption("rtsp_transport", "tcp");
grabber.start();
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outputUrl, grabber.getImageWidth(), grabber.getImageHeight());
recorder.setVideoCodec(AV_CODEC_ID_H264);
recorder.setOption("rtsp_transport", "tcp");
recorder.setPixelFormat(AV_PIX_FMT_YUV420P);
recorder.setFormat("rtsp");
recorder.start(grabber.getFormatContext());
AVPacket packet = null;
while ((packet = grabber.grabPacket()) != null) {
BytePointer retrievedData = av_packet_new_side_data(packet, AV_PKT_DATA_NEW_EXTRADATA, extradata.length);
retrievedData.put(seiBytes,0,seiBytes.length);
// Consistent with the 'extradata' filled in
System.out.println(Arrays.toString(av_packet_get_side_data(packet, AV_PKT_DATA_NEW_EXTRADATA, new SizeTPointer()).getStringBytes()));
recorder.recordPacket(packet);
avcodec.av_packet_unref(packet);
}
B:
private static String inputUrl = "rtsp://localhost:8554/stream1";
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(inputUrl);
grabber.setOption("rtsp_transport", "tcp");
// retrievedData is null
BytePointer retrievedData = av_packet_get_side_data(avPacket, AV_PKT_DATA_NEW_EXTRADATA, new SizeTPointer());
How should I modify the code so that the A can transmit the side correctly_ Data to B