[ANNOUNCE] noad-0.8.3
-
theNoad -
1. Oktober 2012 um 19:26 -
Geschlossen
-
-
und damit auch bekannt wird, was geändert wurde:
Zitat
01.10.2012 - Version 0.8.3
can use libmpeg2 or libavcodec(ffmpeg) for video-decoding
configure uses pkg-config to detect libmpeg2/libavcodec by default
fix some configure-issues (thanks to Martin Dummer, Dirk Vornheder, Peter Pfeifer for testing) -
Verstehe ich das richtig, dass noad seit der Version 0.8 mit HD-Aufnahmen umgehen kann?
Hat da schon mal jemand einen Vergleich der Treffergenauigkeit bei Werbeblöcken mit markad gemacht (was ja prinzipiell sehr gut klappt, wenn man mal alle Logos zusammengetragen und richtig benannt hat...)? -
Bei meinem openSuSE 12.1 findet er die mpeg2wrap.h nicht:
Zitatthis is noad Version 0.8.3
configured with libmpeg2 Version 0.5.1
configured with libavcodec Version 54.59.100now start "make" to build noad
and "make install" to install noad
+ make
make all-am
make[1]: Entering directory `/usr/src/packages/BUILD/noad-0.8.3'
CXX tools.o
CXX vdr_cl.o
CXX svdrpc.o
svdrpc.cpp:21:19: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
AR libnoad.a
CXX audiotools.o
audiotools.cpp:6:23: fatal error: mpeg2wrap.h: No such file or directory
compilation terminated.
make[1]: *** [audiotools.o] Error 1
make[1]: Leaving directory `/usr/src/packages/BUILD/noad-0.8.3'
make: *** [all] Error 2
Wenn ich in audiotools.cpp das #include "mpeg2wrap.h" auskommentiere kompiliert er bis zum Ende. Ist das der korrekte Fix dafür? -
ich tippe eher auf einen Fehler in deinem System
hat bei mir ohne Probleme übersetzt (habs nur noch nicht wirklich getestet)
-
ich tippe eher auf einen Fehler in deinem System
Das möchte ich bestreiten
Scheinbar kompilierst Du ohne HAVE_LIBAVCODEC so dass der Abschnitt in audiotools.cpp bei Dir nicht durchlaufen wird:C
Alles anzeigenbool havesilence = false; #ifdef HAVE_LIBAVCODEC #include "mpeg2wrap.h" <---- #include "mpeg2wrap_ffmpeg.h" extern "C" { #include "libavcodec/avcodec.h" } ....
In noad-0.7.3 war die mpeg2wrap.h noch vorhanden
Also bitte Lösungsvorschläge und kein Bashing! -
Code
this is noad Version 0.8.3 configured with libmpeg2 Version 0.5.1 configured with libavcodec Version 52.122.0
gut, die sind beide nicht unbedingt aktuelll, aber das ist derzeit aus Zeitmangel das gesamte System nichtl
im Anhang die config.h und der ablauf des Tests
PS:
ZitatAlso bitte Lösungsvorschläge und kein Bashing!
Lösungsvorschlag -> prüfen wie die Zeile bei dir rein kommt! in der Original noad-0.8.3.tar.bz (weder in der vom 1.10. noch der von gerade eben) ist sie nicht!
Bashing -> nicht vorhanden -
Lösungsvorschlag -> prüfen wie die Zeile bei dir rein kommt! in der Original noad-0.8.3.tar.bz (weder in der vom 1.10. noch der von gerade eben) ist sie nicht!
Danke, das war der entscheidende Hinweis: in meiner noad-0.8.3.tar.bz2 vom 1.10. 17:06 ist die Zeile noch drin, in der eben runtergeladenen Version (gepackt am 2.10. 9:42, Zeitstempel jeweils des noad-Verzeichnises im tar) ist die Zeile nicht mehr vorhanden und es kompiliert fehlerfrei durch. Mit morphing versions hatte ich nicht gerechnet ....
-
Hallo zusammen,
wenn noad bei mir eine HD Aufnahme analysiert sehe ich im user.log bi zu 25 mal pro Sekunde (also für vermutlich jeden Frame) folgende Meldung:
Code
Alles anzeigenOct 14 13:06:02 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:02 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:02 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:02 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:02 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:02 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:02 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:03 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:03 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:03 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:03 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:03 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:03 vdr noad[5931]: [5931] ERROR: faulty width Oct 14 13:06:03 vdr noad[5931]: [5931] ERROR: faulty width
Bei SD kommt das nicht. Was könnte hier das Problem sein?
Gruß,
Christian -
So, ich habe mir die Frage mal zum Teil selber beantwortet. Nachdem ich mir den Source mal angesehen habe scheint es mir so das noad nur mit 720p und nicht mit 1080i Material umgehen kann.
Code
Alles anzeigenwhile( !bRet && ffmpeg_index < cIF->getLast() && !ffmpegerror ) { bRet = GetVideoFrame(restart); if( pCodecCtx->width > 1280 ) { esyslog("ERROR: faulty width"); bRet = false; } else if( pCodecCtx->height > 720 ) { esyslog("ERROR: faulty height"); bRet = false; } else if( bRet && callBackFunc ) { noadYUVBuf lbuf(pFrame->data,pFrame->linesize,pFrame->width,pFrame->height); callBackFunc(&lbuf); }
Gruß,
Christian -
-
Unwahrscheinlich, eine Breite von 1080 ist mir noch nicht untergekommen.
Gerald
-
Hmm..,
OK, aber an einen Tippfehler von 1280 auf 1920 glaube ich nicht. -
Hi,
am besten ist der theNoad beschreibt mal was er da vorhatte. Wenn Auflösungen >1280/720 nicht unterstützt werden sollen scheint mir das was da zur Zeit programiert ist nicht wirklich ausgereift.
Ich habe spaßeshalber mal das 1280/720 in dem if Zweig durch 1920/1080 ersetzt, dann funktioniert es mit 1080i Material sogar, allerdings in der Testaufnahme die ich verwendet habe wurde eine Marke nicht korrekt gesetzt, was nichts heissen muss. Schließlich funktioniert es mit SD Material auch nicht immer perfekt.
Gruß,
Christian -
Hmm..,
OK, aber an einen Tippfehler von 1280 auf 1920 glaube ich nicht.
Genau, deshalb nehme ich an CyberChris hat recht.Gerald
-
Hi,
das war kein Tippfehler...
Da ich selber keine HD-Aufnahmen mit dem vdr machen kann ist mir diese alte Sicherheitsabfrage nie aufgefallen. Die resultiert noch aus früheren Versuchen mit HD-Material, da gab es manchmal recht recht merkwürdige Werte für die Frame-Größen.
Ich hab die Werte jetzt erst mal auf 1920x1080 angepasst, wahrscheinlich kann die Abfrage bei der nächsten Version komplett entfallen.
Da ausserdem die unterschiedlichen Frameraten nicht berücksichtigt wurden habe ich auch dies angepasst und eine neue Version bereitgestellt.Gruß
theNoad -
ffmpeg_decoder.cpp: In function ‘int noad_read_packet(void*, uint8_t*, int)’:
ffmpeg_decoder.cpp:56: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘off_t’
ffmpeg_decoder.cpp: In member function ‘virtual int FFMPegDecoder::openFile(cFileName*, cNoadIndexFile*)’:
ffmpeg_decoder.cpp:219: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3650)
ffmpeg_decoder.cpp:219: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3650)
ffmpeg_decoder.cpp: In member function ‘virtual bool FFMPegDecoder::getNextPicture(int, int)’:
ffmpeg_decoder.cpp:391: error: ‘struct AVFrame’ has no member named ‘width’
ffmpeg_decoder.cpp:391: error: ‘struct AVFrame’ has no member named ‘height’
ffmpeg_decoder.cpp: In member function ‘virtual bool FFMPegDecoder::getPictures(int&, int, bool (*)())’:
ffmpeg_decoder.cpp:423: error: ‘struct AVFrame’ has no member named ‘width’
ffmpeg_decoder.cpp:423: error: ‘struct AVFrame’ has no member named ‘height’
make[1]: *** [ffmpeg_decoder.o] Fehler 1libavcodec-dev ist aber installiert.
libavcodec ist Version 53.6.0 . Zu neu? Welche Versionen benutzt ihr?
-
-
Hi,
das Versions-Durcheinander von ffmpeg und libav ist wirklich kaum noch zu überbieten...versucht mal folgende Änderung:
pFrame->width ersetzen durch pFrame->pan_scan->width
pFrame->height ersetzenb durch pFrame->pan_scan->heightungetestet und ohne Garantie.
Viel Glück
theNoad -
Hallo,
mit der 0.8.4 habe ich kein Glück: Die Schnittmarken (SD & HD) sind teilweise vom VDR nicht anspringbar. Von einer SD-Aufnahme mit 0.7.3:
.
Gleiche Aufnahme mit 0.8.4:"Logo lost" ist anspringbar, "Logo start" nicht.
Wenn ich per Hand Marken direkt davor und dahinter setze bekomme ich das:
Mit HD (ZDF 720p) hatte ich auch am Anfang ein nicht anspringbares Logo aber jetzt bekomme ich nur noch ein
CodeAborted by signal Segmentation fault... *** glibc detected *** /usr/local/bin/noad: malloc(): memory corruption: 0x000000000113a6b0 ***
Dann hängt der Prozess, bis er mit kill -9 beendet wird
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!