Ich möchte Video-Stream von der Kamera empfangen, verarbeiten Sie es mit OpenCV (für Tests - rotes Rechteck zeichnen) und Live-Stream-Ergebnis.FFmpeg: Live-Streaming mit RSTP C++
Ich kann bereits Kamerabilder lesen, zu openCV Mat konvertieren und sie wieder in AVFrame ändern.
Von der Konsole im Starting-Rtsp-Server mit: ffplay -rtsp_flags listen -i rtsp: //127.0.0.1: 8765/live.sdp Problem zeigt, wenn ich versuchen, Anruf avio_open();
av_register_all();
avformat_network_init();
avcodec_register_all();
(...)
avformat_alloc_output_context2(&outputContext, NULL, "rtsp", outputPath.c_str());
outputFormat = outputContext->oformat;
cout << "Codec = " << avcodec_get_name(outputFormat->video_codec) << endl;
if (outputFormat->video_codec != AV_CODEC_ID_NONE) {
videoStream = add_stream(outputContext, &outputVideoCodec, outputFormat->video_codec);
}
char errorBuff[80];
int k = avio_open(&outputContext->pb, outputPath.c_str(), AVIO_FLAG_WRITE);
if (k < 0) {
cout << "code: " << k << endl;
fprintf(stderr, "%s \n", av_make_error_string(errorBuff, 80, k));
}
if (avformat_write_header(outputContext, NULL) < 0) {
fprintf(stderr, "Error occurred when writing header");
}
}
Wo OutputPath = "rtsp: //127.0.0.1: 8765/live.sdp" avformat_alloc_output_context2 0 zurück, aber avio_open < 0 so App druckt:
Code: - 1330794744
Protokoll nicht
finde ich keine Ahnung, was falsch ist. Ich bin mit ffmpeg Build von https://ffmpeg.zeranoe.com/builds/ 64-Bit-Dev
Ich versuchte ffmpeg unter Windows mit github.com/jb-alvarado/media-autobuild_suite kompilieren, aber ich habe. eine Bibliothek Dateien und wenn ich verlinke sie in Visual Studio ich bekomme Wand von LNK Fehler ex. libavutil.a (timecode.o): Fehler LNK2001: nicht aufgelöstes externes Symbol __mingw_vsnprintf Nach der Recherche habe ich festgestellt, dass ich auch die Bibliotheken libmingw32.a und libmingwex.a verlinken sollte. Ich habe es getan, und bekam noch eine Unmenge von Fehlern wie: c: \ build \ autobuildffmpeg \ mys64 \ mingw64 \ x86_64-w64-mingw32 \ include \ stdlib.h (306): Fehler C2059: Syntaxfehler: '__declspec (nothrow) ' – Mapet
Haben Sie versucht, die Links am Ende zu betrachten, die erwähnen, wie man Mingw für ffmpeg baut? - Dieser Link scheint jedoch gebrochen zu sein. Sehen Sie dieses Handbuch: http://www.gooli.org/blog/building-ffmpeg-for-windows-with-msys-and-mingw/ und folgen Sie den übrigen Schritten auf jb-alvarado/media-autobuild_suite –
No i didn versuch es nicht. Ich werde diesem Führer folgen und über das Ergebnis informieren. Leider kann ich das morgen machen. – Mapet