Wir versuchen derzeit, die von unserem Programm verwendete ffmpeg-Version zu aktualisieren. Der Sprung ist groß, denn was wir bisher benutzt haben, ist ffmpeg 0.8, und die neueste Version ist 1.2.Handhabung der ffmpeg-Bibliotheksschnittstelle Änderung beim Aktualisieren von ffmpeg
In diesen Tests verwende ich die (sagen wir) erstaunliche Pakete, die ich finde here.
Als erstes habe ich versucht, gegen ffmpeg 1.2 zu downloaden und zu bauen, und natürlich habe ich viele Warnungen und Fehler, über Funktion und Variablen veraltet oder nicht mehr vorhanden.
Um den Übergang zu glätten, versuchte ich dann gegen ffmpeg 1.0, die nächst höhere Version in Bezug auf 0,8 aufzubauen. Ich habe eine Liste mit Warnungen und Fehlern erhalten, die ich hier unten auflistet.
Meine Frage ist die folgende: Gibt es eine Anleitung, um in diesen Übergang zu helfen, alte ffmpeg Paradigmen/Funktionen Anrufe in der neuen Version zu konvertieren? Da wir über eine Menge Code sprechen, den ich nicht geschrieben habe und den ich nicht Zeile für Zeile analysieren möchte, wäre ich sehr froh, wenn es möglich wäre, eine Eins-zu-Eins-Konvertierung von alten Funktionsaufrufen durchzuführen zu neuen Funktionsaufrufen, gleich für Variablen.
Hier ist die Liste der Warnungen und Fehler ist (ich habe es gereinigt, so gibt es nur einen Eintrag pro Fehler/Warnung)
warning: 'AVStream* av_new_stream(AVFormatContext*, int)' is deprecated (declared at /ffmpeg/include/libavformat/avformat.h:1646) [-Wdeprecated-declarations]
warning: 'int avcodec_open(AVCodecContext*, AVCodec*)' is deprecated (declared at /ffmpeg/include/libavcodec/avcodec.h:3569) [-Wdeprecated-declarations]
error: 'avcodec_init' was not declared in this scope
warning: 'int avcodec_encode_video(AVCodecContext*, uint8_t*, int, const AVFrame*)' is deprecated (declared at /ffmpeg/include/libavcodec/avcodec.h:4272) [-Wdeprecated-declarations]
warning: 'AVCodecContext* avcodec_alloc_context()' is deprecated (declared at /ffmpeg/include/libavcodec/avcodec.h:3423) [-Wdeprecated-declarations]
warning: 'int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)' is deprecated (declared at /ffmpeg/include/libavcodec/avcodec.h:3852) [-Wdeprecated-declarations]
warning: 'void av_close_input_file(AVFormatContext*)' is deprecated (declared at /ffmpeg/include/libavformat/avformat.h:1622) [-Wdeprecated-declarations]
error: 'av_open_input_file' was not declared in this scope
warning: 'int av_find_stream_info(AVFormatContext*)' is deprecated (declared at /ffmpeg/include/libavformat/avformat.h:1446) [-Wdeprecated-declarations]
error: 'av_set_parameters' was not declared in this scope
error: 'AVFormatContext' has no member named 'file_size'
error: 'URL_WRONLY' was not declared in this scope
error: 'url_fopen' was not declared in this scope
error: 'url_fclose' was not declared in this scope
error: 'SAMPLE_FMT_U8' was not declared in this scope
error: 'SAMPLE_FMT_S16' was not declared in this scope
error: 'SAMPLE_FMT_S32' was not declared in this scope
error: 'SAMPLE_FMT_FLT' was not declared in this scope
error: 'FF_I_TYPE' was not declared in this scope
Edit:
ich einen Blick nehme auf diese ...
http://ffmpeg.org/doxygen/0.8/deprecated.html
http://ffmpeg.org/doxygen/0.9/deprecated.html
http://ffmpeg.org/doxygen/1.0/deprecated.html
http://ffmpeg.org/doxygen/1.2/deprecated.html
http://ffmpeg.org/doxygen/trunk/deprecated.html
Siehe auch [APIchanges] (http://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/APIchanges). – LordNeckbeard