Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (57)

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

  • Problèmes fréquents

    10 mars 2010, par

    PHP et safe_mode activé
    Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
    La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (12175)

  • How/Where to place the FFMPEG `-legacy_icecast 1` option to only affect one of two Icecast outputs ? (using tee muxer option)

    4 juin 2020, par jzvi12

    I have an FFMPEG command which was able to send an RTMP live feed to 2 different icecast radio stations :

    



    command 1 (in prod ; 1 of 2 failing) :

    



    /home/ubuntu/encoder/bin/ffmpeg -i rtmp://127.0.0.1:1935/app/live -vn -c:a mp3 -ac 2 -b:a 64k -ar 44100 -f tee -map 0 "[f=mp3:onfail=ignore]icecast://source:password@liquidsoap:8000/live|[f=mp3:onfail=ignore]icecast://source:password@fluoz.zeno.fm:80/live"


    



    I would get the following FFMPEG error when running above command 1 :

    



    [tee @ 0x562fffd24bc0] Slave '[f=mp3:onfail=ignore]icecast://source:password@fluoz.zeno.fm:80/live': error opening: End of file
[tee @ 0x562fffd24bc0] Slave muxer #1 failed: End of file, continuing with 1/2 slaves.


    



    It was working fine until these days when one of them (fluoz.zeno.fm:80/live) stopped working and I think Zeno upgraded their Icecast servers from v1 (legacy) to v2. Why ? because when I was doing individual testing to the Zeno icecast server, I realized that it worked fine when I added the -legacy_icecast 1 option

    



    command 2 (testing to Zeno only w/ -legacy_icecast 1 option) :

    



    /home/ubuntu/encoder/bin/ffmpeg -i rtmp://127.0.0.1:1935/app/live -vn -c:a mp3 -ac 2 -b:a 64k -ar 44100 -legacy_icecast 1 -f mp3 icecast://source:password@fluoz.zeno.fm:80/live


    



    QUESTION :

    



    How can I use the command 1 above to still send to both icecast servers but having the -legacy_icecast 1 option to only affect the zeno icecast server and not the liquidsoap icecast server ? I want to avoid running 2 separate instances of ffmpeg at all cost in order to save system resources and bandwidth.

    



    The reason I ask this question is because I tried adding the -legacy_icecast 1 option to the command 1 (that one that sends to both) by placing it right before the ...-f tee... option, but it still didn't work to send to Zeno icecast server which failed (the liquidsoap icecast server kept running fine). It seems to only work fine when I use command 2 (above) when not using the tee muxer option.

    



    Is there a tricky way to place that -legacy_icecast 1 option within the tee muxer option ??

    


  • MPEG-2 AAC frame-by-frame audio decoding

    3 mai 2018, par Jonathan May

    I have individual audio frames encoded in MPEG-2 AAC. Each frame consists of 1024 16 bit PCM samples.

    I notice that each AAC frame is a different size. I assume this is a result of the MPEG-2 AAC compression algorithm and perfectly normal.

    I need a way to decode a single frame and get back the original 1024 PCM samples (with error from lossy compression, that’s fine).

    I couldn’t find information about the MPEG-2 AAC algorithm ANYWHERE online. It’s kinda nuts.

    I’ve been trying a crude work around using a library called pydub, which contains a few methods which use FFMPEG’s AAC decoder. Trying to load the audio frame as an AudioSegment using AAC encoding :

    audioData = BytesIO(frame)
    sound = AudioSegment.from_file(audioData, format="aac")

    gives the following error :

    [aac @ 000002d444c1aa00] Estimating duration from bitrate, this may be inaccurate\r\n
    Input #0, aac, from 'C:\\Users\\jmk_m\\AppData\\Local\\Temp\\tmpjl3x0xao':\r\n
     Duration: 00:00:00.19, bitrate: 23 kb/s\r\n
    Stream #0:0: Audio: aac (LC), 22050 Hz, mono, fltp, 23 kb/s\r\nStream mapping:\r\n
    Stream #0:0 -> #0:0 (aac (native) -> pcm_s16le (native))\r\n
    Press [q] to stop, [?] for help\r\n
    Output #0, wav, to 'C:\\Users\\jmk_m\\AppData\\Local\\Temp\\tmpxmp942e4':\r\n
    Metadata:\r\n
    ISFT            : Lavf58.10.100\r\n
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, mono, s16, 352 kb/s\r\n
    Metadata:\r\n      encoder         : Lavc58.13.100 pcm_s16le\r\n
    [aac @ 000002d444cc7480] Reserved bit set.\r\n
    [aac @ 000002d444cc7480] Prediction is not allowed in AAC-LC.\r\n
    Error while decoding stream #0:0: Invalid data found when processing input\r\n
    [aac @ 000002d444cc7480] Reserved bit set.\r\n
    [aac @ 000002d444cc7480] Prediction is not allowed in AAC-LC.\r\n
    Error while decoding stream #0:0: Invalid data found when processing input\r\n
    [aac @ 000002d444cc7480] Prediction is not allowed in AAC-LC.\r\n
    Error while decoding stream #0:0: Invalid data found when processing input\r\n
    size=       2kB time=00:00:00.04 bitrate= 366.2kbits/s speed=5.45x    \r\n
    video:0kB audio:2kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.808594%\r\n
    Conversion failed!\r\n"

    If anyone has any insights as to what may be causing the error, or any alternative approaches, that’d be greatly appreciated !

  • Reading JPEG in ffmpeg

    23 octobre 2012, par Paul Lammertsma

    I'm trying to get ffmpeg to encode several individual JPEG images into a video on Android. I've successfully built it for Android (see the configuration string at the end of this post).

    I can encode an h.263+ video with randomly generated frame content, and ffmpeg otherwise appears to work well.

    A similar question suggests that the following code should be sufficient to load an image into an AvFrame :

    // Make sure we have the codecs
    av_register_all();

    AVFormatContext *pFormatCtx;
    int ret = av_open_input_file(&pFormatCtx, imageFileName, NULL, 0, NULL);

    if (ret != 0) {
       printf("Can't open image file '%s': code %d, %s",
           imageFileName, ret, strerror(AVERROR(ret)));
    }

    The above returns the correct absolute file path and error :

    Failed '/sdcard/DCIM/Camera/IMG083.jpg' : code -1094995529, Unknown error : 1094995529

    Incidentally, if I omit av_register_all(), it returns with error 2.

    I've compiled ffmpeg with the following arguments :

    ./configure —target-os=linux
    —prefix=$PREFIX
    —enable-cross-compile
    —extra-libs="-lgcc"
    —arch=arm
    —cc=$PREBUILT/bin/arm-linux-androideabi-gcc
    —cross-prefix=$PREBUILT/bin/arm-linux-androideabi-
    —nm=$PREBUILT/bin/arm-linux-androideabi-nm
    —sysroot=$PLATFORM
    —extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS "
    —enable-shared
    —enable-static
    —extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog"
    —disable-everything
    —enable-demuxer=mov
    —enable-demuxer=h264
    —disable-ffplay
    —enable-protocol=file
    —enable-avformat
    —enable-avcodec
    —enable-decoder=mjpeg
    —enable-decoder=png
    —enable-parser=h264
    —enable-encoder=h263
    —enable-encoder=h263p
    —disable-network
    —enable-zlib
    —disable-avfilter
    —disable-avdevice

    Any suggestions would be most welcome !