Recherche avancée

Médias (1)

Mot : - Tags -/publier

Autres articles (35)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (5773)

  • avformat_open_input crash using ffmpeg on android

    2 octobre 2019, par Timmy K

    I am writing an Android app to capture audio streams from a USB device using ffmpeg, and mux them into an m4a file. I then open the recording file to read back the audio data. The app works fine on Samsung S8 (Android 8.0) and S9 (Android 9.0). On a Moto G5+ (Android 8.1), however the app crashes inside avformat_open_input() when I try to open the recording file ; but if I restart the app and it reads the same file with the same code, it works without crashing.

    I thought maybe that I hadn’t closed the recording file properly ; or there was maybe a race condition : trying to read the file before it was written. However I have established that av_write_trailer() is called successfully and avio_closep() is called successfully before the call to avformat_open_input. I also established that the length of the file is the same just before the call to avformat_open_input() in the crash case as it is in the non-crash case.

    The code that finishes the recording :

    // AVFormatContext *mAvFormatContext
    // ...
    int ret = av_write_trailer(mAvFormatContext);
    if ( ret != 0 )
    {
       __android_log_print(ANDROID_LOG_DEBUG, "MyTag", "failed to write trailer %s", av_err2str( ret ) );
       goto fail;
    }

    ret = avio_close( mAvFormatContext->pb );
    if ( ret < 0 )
    {
       __android_log_print(ANDROID_LOG_DEBUG, "MyTag", "failed to avio_close %s", av_err2str( ret ) );
       goto fail;
    }

    avformat_free_context(mAvFormatContext);

    The call that causes a crash immediately after the above code, on a Moto 5G+ (but not Samsung S8/S9) :

    mAvFormatContext = nullptr;
    if ( (ret = avformat_open_input( &mAvFormatContext, filePath, 0, 0)) < 0 )
    {
       __android_log_print(ANDROID_LOG_DEBUG, "MyTag++", "Could not open input file '%s' error %s ", filePath, av_err2str(ret) );
       cleanup();
       return false;
    }

    Also, when the call to avformat_open_input() does not crash, there is no output in logcat from within that call. However, I’ve noticed that in the crash case there is output of what seems to be corrupted data :

    2019-09-02 09:39:14.105 19999-19999/fm.x.y D/AudioEngine: Opening '@�7���-d��@�7�' for
    2019-09-02 09:39:14.106 19999-19999/fm.x.y D/AudioEngine: Setting default whitelist '<��'
    2019-09-02 09:39:14.106 19999-19999/fm.x.y D/AudioEngine: Probing ���d score:-1828887548 size:-1093138844
    2019-09-02 09:39:14.106 19999-19999/fm.x.y D/AudioEngine: Format ��� probed with size=-1093138756 and score=-1093138748
    (crash occurs)

    Any advice on what to look into further to investigate this problem ? Is there something I am missing when cleaning up the muxing state before I try to open the recording file for demuxing ? For simplicity I have not included the freeing of codec contexts, AVFrames and AVPackets.

  • ffmpeg take input and out put as webm on port

    28 septembre 2019, par RussellHarrower

    I am wondering how I can take an audio input and output it as a webm

    This is what I thought would work to get it to rtp out but running into issue.

    ffmpeg -i http://stream.radiomedia.com.au:8003/stream -c copy  -f rtp rtp://127.0.0.1/streamID:54321  

    it returns

    ffmpeg -i http://stream.radiomedia.com.au:8003/stream -c copy  -f rtp rtp://127.0.0.1/streamID:54321                                 ffmpeg version 4.2.1-0york0~18.04 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
     configuration: --prefix=/usr --extra-version='0york0~18.04' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-nonfree --enable-libfdk-aac --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
     libavutil      56. 31.100 / 56. 31.100
     libavcodec     58. 54.100 / 58. 54.100
     libavformat    58. 29.100 / 58. 29.100
     libavdevice    58.  8.100 / 58.  8.100
     libavfilter     7. 57.100 /  7. 57.100
     libavresample   4.  0.  0 /  4.  0.  0
     libswscale      5.  5.100 /  5.  5.100
     libswresample   3.  5.100 /  3.  5.100
     libpostproc    55.  5.100 / 55.  5.100
    [mp3 @ 0x564cf51de940] invalid concatenated file detected - using bitrate for duration
    Input #0, mp3, from 'http://stream.radiomedia.com.au:8003/stream':
     Metadata:
       track           : 1
       title           : DNR1 Signal 1
       comment         : www.dvdvideosoft.com
       date            : 2019
       icy-br          : 128
       icy-description : Radio Media PTY LTD
       icy-genre       : Indie
       icy-name        : DRN1
       icy-pub         : 0
       icy-url         : https://www.drn1.com.au
       StreamTitle     :
     Duration: N/A, start: 0.025057, bitrate: 320 kb/s
       Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
       Metadata:
         encoder         : LAME3.99r
    Output #0, rtp, to 'rtp://127.0.0.1/streamID:54321':
     Metadata:
       track           : 1
       title           : DNR1 Signal 1
       comment         : www.dvdvideosoft.com
       date            : 2019
       icy-br          : 128
       icy-description : Radio Media PTY LTD
       icy-genre       : Indie
       icy-name        : DRN1
       icy-pub         : 0
       icy-url         : https://www.drn1.com.au
       StreamTitle     :
       encoder         : Lavf58.29.100
       Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
       Metadata:
         encoder         : LAME3.99r
    SDP:
    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=DNR1 Signal 1
    c=IN IP4 127.0.0.1
    t=0 0
    a=tool:libavformat 58.29.100
    m=audio 0 RTP/AVP 14
    b=AS:320
    a=control:streamid=0

    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    av_interleaved_write_frame(): Invalid argument                                                                                                                                        Error writing trailer of rtp://127.0.0.1/streamID:54321: Invalid argument
    size=       0kB time=-00:00:00.02 bitrate=N/A speed=N/A                                                                                                                               video:0kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Conversion failed!
  • FFMPEG - Pipe Different HLS Resolutions to S3

    17 juillet 2019, par Mike

    I’m trying to save all my HLS output files directly to S3. As you can see in the code, I’m saving output files for many different sizes and bitrates. My issue is I can’t figure out how to save the files onto S3. I have managed to get this working on an EC2 instance where I save all the files on the same server, but once I try to use aws cli it fails. I can also get this working if it’s just one resolution.

    I’m guessing it has something to do with piping multiple aws cli commands since I can see it tells me Unknown options:, but I don’t see any other way of doing this.

    Also, I’m using the -progress flag so I can show the transcode progress to the user, can I pipe that directly to S3 as-well ?

    Note, the code below has been formatted to make it readable, it obviously doesn’t look like this when ran on the server.

    FFMPEG Command

    ffmpeg
    -hide_banner -y
    -i https://my-bucket.s3.us-west-1.amazonaws.com/in.mp4
    -progress https://mybucket.s3.us-west-1.amazonaws.com/progress.log
    -c:a aac
    -c:v libx264
    -f mp4
    -profile:v high
    -level:v 4.0
    -crf 20
    -sc_threshold 0
    -flags +cgop
    -movflags frag_keyframe+faststart
    -pix_fmt yuv420p
    -preset ultrafast
    -g 100
    -keyint_min 100
    -hls_time 5000
    -hls_playlist_type vod

    -vf scale='trunc(oh*a/2)*2:288'
    -b:v 600k
    -maxrate 642k
    -bufsize 900k
    -b:a 64k
    -hls_segment_filename https://my-bucket.s3.us-west-1.amazonaws.com/288p_600k_%03d.ts
    pipe:1 | aws s3 cp - s3://my-bucket/288p_600k.m3u8

    -vf scale='trunc(oh*a/2)*2:360'
    -b:v 900k
    -maxrate 963k
    -bufsize 1350k
    -b:a 96k
    -hls_segment_filename https://my-bucket.s3.us-west-1.amazonaws.com/360p_900k_%03d.ts
    pipe:1 | aws s3 cp - s3://my-bucket/360p_900k.m3u8

    -vf scale='trunc(oh*a/2)*2:432'
    -b:v 1600k
    -maxrate 1712k
    -bufsize 2400k
    -b:a 128k
    -hls_segment_filename https://my-bucket.s3.us-west-1.amazonaws.com/432p_1600k_%03d.ts
    pipe:1 | aws s3 cp - s3://my-bucket/432p_1600k.m3u8

    -vf scale='trunc(oh*a/2)*2:720'
    -b:v 3200k
    -maxrate 3424k
    -bufsize 4800k
    -b:a 128k
    -hls_segment_filename https://my-bucket.s3.us-west-1.amazonaws.com/720p_3200k_%03d.ts
    pipe:1 | aws s3 cp - s3://my-bucket/720p_3200k.m3u8

    -vf scale='trunc(oh*a/2)*2:1080'
    -b:v 5300k
    -maxrate 5671k
    -bufsize 7950k
    -b:a 192k
    -hls_segment_filename https://my-bucket.s3.us-west-1.amazonaws.com/1080p_5300k_%03d.ts
    pipe:1 | aws s3 cp - s3://my-bucket/1080p_5300k.m3u8

    Error Message

    Exit Code: 1(General error)
    Working directory: /home/backend/public
    Output:
    ================
    Error Output:
    ================
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://my-bucket.s3.us-west-1.amazonaws.com/in.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       creation_time   : 1970-01-01T00:00:00.000000Z
       encoder         : Lavf53.24.2
    Duration: 00:00:05.31, start: 0.000000, bitrate: 1589 kb/s
     Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1205 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
     Metadata:
       creation_time   : 1970-01-01T00:00:00.000000Z
       handler_name    : VideoHandler
     Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 384 kb/s (default)
     Metadata:
       creation_time   : 1970-01-01T00:00:00.000000Z
       handler_name    : SoundHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    [libx264 @ 0x55ba09a95300] using SAR=1/1
    [libx264 @ 0x55ba09a95300] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX
    [libx264 @ 0x55ba09a95300] profile Constrained Baseline, level 4.0
    [libx264 @ 0x55ba09a95300] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=100 keyint_min=51 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=20.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=642 vbv_bufsize=900 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=0
    Output #0, mp4, to 'pipe:':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.83.100
       Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 512x288 [SAR 1:1 DAR 16:9], q=-1--1, 600 kb/s, 25 fps, 12800 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 1970-01-01T00:00:00.000000Z
         handler_name    : VideoHandler
         encoder         : Lavc57.107.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 642000/0/600000 buffer size: 900000 vbv_delay: -1
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 64 kb/s (default)
       Metadata:
         creation_time   : 1970-01-01T00:00:00.000000Z
         handler_name    : SoundHandler
         encoder         : Lavc57.107.100 aac
    frame=   27 fps=0.0 q=28.0 size=       0kB time=00:00:01.13 bitrate=  
    0.3kbits/s speed=2.21x
    Unknown options: -vf,scale=trunc(oh*a/2)*2:360,-b:v,900k,-maxrate,963k,-bufsize,1350k,-b:a,96k,-hls_segment_filename,https://my-bucket.s3.us-west-1.amazonaws.com/360p_900k_%03d.ts,-

    Unknown options: -vf,scale=trunc(oh*a/2)*2:432,-b:v,1600k,-maxrate,1712k,-bufsize,2400k,-b:a,128k,-hls_segment_filename,https://my-bucket.s3.us-west-1.amazonaws.com/432p_1600k_%03d.ts,-

    Unknown options: -vf,scale=trunc(oh*a/2)*2:720,-b:v,3200k,-maxrate,3424k,-bufsize,4800k,-b:a,128k,-hls_segment_filename,https://my-bucket.s3.us-west-1.amazonaws.com/720p_3200k_%03d.ts,-

    Unknown options: -vf,scale=trunc(oh*a/2)*2:1080,-b:v,5300k,-maxrate,5671k,-bufsize,7950k,-b:a,192k,-hls_segment_filename,https://my-bucket.s3.us-west-1.amazonaws.com/1080p_5300k_%03d.ts,-
    upload failed: - to s3://my-bucket/1080p_5300k.m3u8 seek() takes 2 positional arguments but 3 were given
    av_interleaved_write_frame(): Broken pipe
    Error writing trailer of pipe:: Broken pipe
    frame=  105 fps=104 q=27.0 Lsize=       0kB time=00:00:04.26 bitrate=  
    0.1kbits/s speed=4.24x
    video:405kB audio:36kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    [libx264 @ 0x55ba09a95300] frame I:2     Avg QP:27.31  size: 31711
    [libx264 @ 0x55ba09a95300] frame P:103   Avg QP:29.12  size:  3522
    [libx264 @ 0x55ba09a95300] mb I  I16..4: 100.0%  0.0%  0.0%
    [libx264 @ 0x55ba09a95300] mb P  I16..4:  0.8%  0.0%  0.0%  P16..4: 58.1%  
    0.0%  0.0%  0.0%  0.0%    skip:41.2%
    [libx264 @ 0x55ba09a95300] coded y,uvDC,uvAC intra: 71.6% 66.1% 45.5%
    inter: 29.8% 10.3% 1.5%
    [libx264 @ 0x55ba09a95300] i16 v,h,dc,p: 16% 26% 35% 23%
    [libx264 @ 0x55ba09a95300] i8c dc,h,v,p: 47% 22% 20% 11%
    [libx264 @ 0x55ba09a95300] kb/s:811.77
    [aac @ 0x55ba09e26c60] Qavg: 88.610
    Conversion failed!