audiorecorder version 0.1.0-pre6

  • audiorecorder-0.1.0-pre14

    Code
    convert.c:116: error: ‘avcodec_decode_audio’ was not declared in this scope

    Nachdem ich dann wie hier beschrieben, zu "avcodec_decode_audio3" geändert habe kommt dann:

    Code
    convert.c:116: error: cannot convert ‘uchar*’ to ‘AVPacket*’ for argument ‘4’ to ‘int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)’

    Gruß
    iNOB

  • Hmm, in audiorecorder-0.1.0-pre14 wird avcodec_decode_audio2 und nicht wie von Dir beschrieben avcodec_decode_audio eingesetzt. Und in der Source - siehe hier - wird auch avcodec_decode_audio2 auf avcodec_decode_audio3 umgesetzt. Irgendwas stimmt hier nicht so ganz. Brauche mehr Input ;D


    Gruß,
    A.R.K

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • Hast Recht... "avcodec_decode_audio2" heißt es. Leider fehlt die von dir verlinkte Passage zum Umsetzen von "avcodec_decode_audio2" nach "avcodec_decode_audio3" im Sourcefile "utils.c" von ffmpeg, welche mit der aktuellen mplayer-Version kommt. Quasi dieser Abschnit:

    Gruß
    iNOB

  • Mit dem ffmpeg-0.7-rc1 Paket von April 2011 klappt das übersetzen des Plugins nun.
    Es wird nun "avcodec_decode_audio2" verwendet, aber die Files die kopiert werden, enthalten nur den ID3 Header und sind nur ein paar Bytes groß.
    Wird eventuell "avcodec_decode_audio2" falsch umgesetzt oder so?


    Code
    drwxr-xr-x  2 root root      150 Jun 23 12:50 Bremen Vier
    drwxr-xr-x  2 root root     4096 Jun 23 12:50 SWR 3
    drwxr-xr-x  2 root root       74 Jun 23 12:47 WDR 2
    -rw-r--r--  1 root root  7136640 Jun 23 12:51 WDR 2-2011-06-23.12.48.53.tmp.mp2
    drwxr-xr-x  2 root root     4096 Jun 23 12:51 YOU FM
    -rw-r--r--  1 root root     6669 Jun 23 12:51 cache.xml
    drwxr-xr-x  2 root root     4096 Jun 23 12:48 on3-radio
    -rw-r--r--  1 root root  6661440 Jun 23 12:51 on3-radio-2011-06-23.12.49.05.tmp.mp2


    Es ist egal ob mp2 (original) oder als mp3....


    Code
    on3-radio # ls -la
    total 28
    drwxr-xr-x 2 root root 4096 Jun 23 12:48 .
    drwxr-xr-x 7 root root 4096 Jun 23 12:52 ..
    -rw-r--r-- 1 root root 1290 Jun 23 12:48 Figurines-Hangin From Above.mp3
    -rw-r--r-- 1 root root 1328 Jun 21 18:49 Karen O & The Million Dollar Bashers-Highway 61 Revisited.mp2
    -rw-r--r-- 1 root root 1293 Jun 23 12:42 Lykke Li-Sadness Is A Blessing.mp2
    -rw-r--r-- 1 root root 1290 Jun 23 12:45 Robag Wruhme-Prognosen Bomm.mp3
    -rw-r--r-- 1 root root 1302 Jun 21 18:53 The Streets-Trying To Kill M.E..mp2
  • Uwe: Bei Dir funktionert der Encoder nicht richtig bwz. gar nicht.
    1. Welche Ausgabe kommt bei ffmpeg -formats|grep mp3? Ich erwarte u.a. die drei Zeilen:

    Code
    DE mp3             MPEG audio layer 3
      EA    libmp3lame
     D A    mp3


    2. Es sollte auch ein Fehler im syslog auftauchen. Normal wäre:

    Code
    [audiorecorder]: decoder initialized (convert.c, init_decoder())
    [audiorecorder]: encoder for libmp3lame-codec (br: 192000, sr: 48000, 2 ch) initialized (convert.c, init_encoder())
    [audiorecorder]: start reencoding (/audio/on3-radio-2011-06-23.06.36.33.tmp.mp2 into /audio/chilly_gonzales_-_party_in_my_mind.mp3) (postproc.c,reencode())
    [audiorecorder]: stop reencoding (/audio/on3-radio-2011-06-23.06.36.33.tmp.mp2 into /audio/chilly_gonzales_-_party_in_my_mind.mp3) (postproc.c, reencode())
    [audiorecorder]: tag written (/audio/chilly_gonzales_-_party_in_my_mind.mp3) (postproc.c, set_tag())


    Bei Dir müssten da Fehlermeldungen sein, auf die das Programm nicht mit einem Abbruch reagiert. Was steht da?


    iNOB: Ich habe mal die convert.c umgeschrieben, so dass je nach Version audio2 oder audio3 aufgerufen wird. Klappt das hiermit: convert.c.gz?


    Gruß,
    A.R.K.

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • ARK


    Sieht so aus, als wenn ich ffmpeg falsch gebaut habe!? Hast du einen Tipp?
    Edit: sieht so aus, als wenn libmp3lame fehlt ...


  • Tja, ich kenn mich mit den Parametern auch nicht so gut aus. Gib mal zusätzlich an:

    Code
    --enable-decoder=libmp3lame


    Vielleicht hilft das.


    Hast Du noch die Meldungen aus dem syslog? Dann kann ich mal schauen, dass audiorecorder dagegen robust wird.


    Gruß,
    A.R.K.

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • Hi ark,
    habe ich schon mit in den Parametern .... lame ist auch installiert, aber ffmpeg baut das nicht mit, warum weiß ich gerade nicht, mal schauen ...
    Hier noch das Log:

  • Was ich meinte, war: Zusätzlich zu --enable-libmp3lame auch noch --enable-decoder=libmp3lame angeben.


    Gruß,
    A.R.K.

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • Jetzt compilierts. Allerdings erst nach folgender Änderung im Makefile des Plugins:

    Ich beziehe mich übrigens auf folgende ffmpeg Version, die mplayer mitbringt:

    Code
    ffmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
      built on Jun 19 2011 15:04:53 with gcc 4.4.5
      configuration: --prefix=/usr --enable-pic --enable-shared
      libavutil    51.  9. 0 / 51.  9. 0
      libavcodec   53.  7. 0 / 53.  7. 0
      libavformat  53.  4. 0 / 53.  4. 0
      libavdevice  53.  1. 1 / 53.  1. 1
      libavfilter   2. 18. 0 /  2. 18. 0
      libswscale    0. 14. 1 /  0. 14. 1

    Gruß
    iNOB

    Einmal editiert, zuletzt von iNOB ()

  • Dann war's das wohl noch nicht. Da muss ich jetzt erst einmal drüber nachdenken 8o


    A.R.K.

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • wenn ich im Setup auf mp2 Stelle, kopiert er mir wenigstens die Dateien.
    Jetzt stelle ich fest, das es irgendwann crasht.


    Code
    Jun 23 16:54:12 [vdr] [5855] [audiorecorder]: (file_pattern : 4) (postdata.c, start_track())
    Jun 23 16:54:12 [vdr] [5855] [audiorecorder]: started recording track (/audio/audiorecorder/YOU FM-2011-06-23.16.54.12.tmp.mp2) on <YOU FM> (audioreceiver.c, control_track())
    Jun 23 16:54:29 [vdr] [2608] cleaning up id3 cache
    Jun 23 16:54:40 [vdr] [5851] [audiorecorder]: no rds end marker found <1LIVE> (rds.c, set_next_frame())
                    - Last output repeated 22 times -
    Jun 23 16:54:54 [kernel] vdr[5854]: segfault at 14 ip 0813eaa7 sp a28c72b0 error 4 in vdr[8048000+189000]
    Jun 23 16:54:55 [logger] VDR wurde beendet - RC: 0

    2 Mal editiert, zuletzt von Uwe ()

  • Yup, passiert bei mir auch. Da aber 1live keinen RDSplus mehr liefert, habe ich den Sender einfach rausgenommen.

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • Yup, passiert bei mir auch. Da aber 1live keinen RDSplus mehr liefert, habe ich den Sender einfach rausgenommen.


    Ahh,


    1. wo kann ich den Sender deaktivieren? Edit: ok, in der "audiorecorder.conf" :)
    2. crasht es dann ohne 1live nicht mehr? :)


    Dank Dir für die Info! :)

    Einmal editiert, zuletzt von Uwe ()

  • Die Sender sind in der Datei audiorecorder.conf festgelegt, im VDR-Plugin Menü stellt man ein, wieviele Aufnahmen parallel aufgenommen werden, d.h. wieviele Sender aus der Liste aufgenommen werden. Also entweder 1live aus der Konfiguration löschen oder die Anzahl der Aufnahmen reduzieren.


    Bis demnächst,
    A.R.K.

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • Ich habe jetzt mal ffmpeg-0.6.3.tar.bz2 installiert und siehe da, audiorecorder findet jetzt einen MP3 Encoder ....
    Ich denke man muß audiorecorder für aktuelle ffmpeg Versionen anpassen.


  • jetzt wieder auf ffmpeg-0.7-rc1 und hier findet er den Codec nicht mehr ....
    Die Änderung von hier habe ich mal eingebaut. ( klick )

    Code
    Jun 24 15:28:17 [vdr] [17001] [audiorecorder]: stopped recording track (/audio/audiorecorder/BAYERN 3-2011-06-24.15.25.39.tmp.mp2) on <BAYERN 3> (audioreceiver.c, control_track())
    Jun 24 15:28:17 [vdr] [17001] [audiorecorder]: (file_pattern : 4) (postdata.c, start_track())
    Jun 24 15:28:17 [vdr] [17001] [audiorecorder]: started recording track (/audio/audiorecorder/BAYERN 3-2011-06-24.15.28.17.tmp.mp2) on <BAYERN 3> (audioreceiver.c, control_track())
    Jun 24 15:28:17 [vdr] [16907] [audiorecorder]: decoder initialized (convert.c, init_decoder())
    Jun 24 15:28:17 [vdr] [16907] [audiorecorder]: could not open codec libmp3lame (convert.c, init_encoder())
    Jun 24 15:28:17 [vdr] [16907] [audiorecorder]: (recpath      : /audio/audiorecorder/BAYERN 3-2011-06-24.15.25.39.tmp.mp2) (postproc.c, reencode())
    Jun 24 15:28:17 [vdr] [16907] [audiorecorder]: (path         : /audio/audiorecorder/BAYERN 3/Kellner-Baptistina.mp3) (postproc.c, reencode())
    Jun 24 15:28:17 [vdr] [16907] [audiorecorder]: (recdir       : /audio/audiorecorder/) (postproc.c, reencode())




    In der Konsole kann ich ein Audiofile ins MP3 Format codieren ...




    Nur, warum gehts mit audiorecorder nicht? :)


    aus "ffmpeg-0.7-rc1/libavcodec/libmp3lame.c"

    Einmal editiert, zuletzt von Uwe ()

  • Der Fehler "Specified sample_fmt is not supported" kommt von ffmpeg!
    Gefunden unter /libavcodecs/utils.c:


    Nun habe ich in convert.c init_encoder() folgendes hinzugefügt:

    Code
    encoder_ctx->bit_rate = bit_rate;
            encoder_ctx->sample_rate = sample_rate;
            encoder_ctx->channels = channels;
    
    
    +           encoder_ctx->sample_fmt = AV_SAMPLE_FMT_S16;


    Nun benutzt er auch den Encoder, nur sind die mp3 Files nicht ok! Man hört noch nix ... die Größe kommt hin.


    Noch Ideen?

  • Jetzt fehlte noch eventuell "avcodec_register_all ()" vor dem öffnen des encoder!?


    Hier mal der init_encoder() von convert.c


    Dann muss noch " decoder_buf.length = AVCODEC_MAX_AUDIO_FRAME_SIZE" in decode_mpa_frame()....





    Damit tut nun wieder audiorecorder mit einer aktuellen ffmpeg-0.7-rc1 (mit avcodec_decode_audio2) ... :)
    Hier mal die Version im Anhang...

    Dateien

    2 Mal editiert, zuletzt von Uwe ()

  • Passt wohl doch noch nicht ganz:

    Code
    /usr/include/libavutil/common.h: In function ‘int32_t av_clipl_int32_c(int64_t)’
    /usr/include/libavutil/common.h:170: error: ‘UINT64_C’ was not declared in this scope

    Gruß
    iNOB

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!