Recherche avancée

Médias (91)

Autres articles (94)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (8540)

  • FFMPEG intermittent failures reading live RTMP stream

    22 janvier 2019, par stevendesu

    The Command

    I’m attempting to read a live RTMP stream and save the result to a file with the following command :

    ffmpeg -re -rtmp_live live -y -i "rtmp://<server>/<app>/<stream>" -c copy -f flv /tmp/dump.flv
    </stream></app></server>

    I run this command then after 10-15 seconds I kill the process and check /tmp/dump.flv. I’m trying to do this for stream diagnostic purposes (determine the encoding, bitrate, resolution, pixel format, and key frame interval of the live stream)

    This command works about 25-50% of the time. When it works FFMPEG takes about 5 seconds to connect to the stream, then it begins dumping data to disk. After I kill the process, I can find a couple of megabytes of video data in /tmp/dump.flv which can be probed using ffprobe.

    When the command fails, it goes into one of two failure states :

    Failure State 1

    stderr is flooded with a series of messages about "missing picture in access unit with size X", and the output file /tmp/dump.flv is created but contains 0 bytes

    ffmpeg version 3.4.4-1~16.04.york0 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
     configuration: --prefix=/usr --extra-version='1~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
     libavutil      55. 78.100 / 55. 78.100
     libavcodec     57.107.100 / 57.107.100
     libavformat    57. 83.100 / 57. 83.100
     libavdevice    57. 10.100 / 57. 10.100
     libavfilter     6.107.100 /  6.107.100
     libavresample   3.  7.  0 /  3.  7.  0
     libswscale      4.  8.100 /  4.  8.100
     libswresample   2.  9.100 /  2.  9.100
     libpostproc    54.  7.100 / 54.  7.100
    [NULL @ 0x55b72d568920] pps_id 381 out of range
    [AVBSFContext @ 0x55b72d5692c0] Invalid NAL unit 0, skipping.
       Last message repeated 1 times
    [h264 @ 0x55b72d568920] Invalid NAL unit 0, skipping.
       Last message repeated 1 times
    [h264 @ 0x55b72d568920] no frame!
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2200
    [AVBSFContext @ 0x55b72d5692c0] Invalid NAL unit 0, skipping.
       Last message repeated 2 times
    [h264 @ 0x55b72d568920] Invalid NAL unit 0, skipping.
       Last message repeated 2 times
    [h264 @ 0x55b72d568920] no frame!
    [h264 @ 0x55b72d568920] missing picture in access unit with size 3171
    [AVBSFContext @ 0x55b72d5692c0] Invalid NAL unit 0, skipping.
    [h264 @ 0x55b72d568920] Invalid NAL unit 0, skipping.
    [h264 @ 0x55b72d568920] no frame!
    [NULL @ 0x55b72d568920] missing picture in access unit with size 80572
    [h264 @ 0x55b72d568920] missing picture in access unit with size 1560
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2608
    [h264 @ 0x55b72d568920] non-existing PPS 0 referenced
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2734
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2885
    [h264 @ 0x55b72d568920] missing picture in access unit with size 77739
    [h264 @ 0x55b72d568920] non-existing PPS 254 referenced
    [h264 @ 0x55b72d568920] missing picture in access unit with size 3360
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2804
    [h264 @ 0x55b72d568920] missing picture in access unit with size 3051
    [h264 @ 0x55b72d568920] missing picture in access unit with size 3067
    [h264 @ 0x55b72d568920] missing picture in access unit with size 77693
    [h264 @ 0x55b72d568920] non-existing PPS 0 referenced
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2421
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2779
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2442
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2678
    [h264 @ 0x55b72d568920] missing picture in access unit with size 76877
    [h264 @ 0x55b72d568920] sps_id 15 out of range
    [h264 @ 0x55b72d568920] missing picture in access unit with size 1342
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2412
    [h264 @ 0x55b72d568920] missing picture in access unit with size 2238
    [h264 @ 0x55b72d568920] missing picture in access unit with size 3550
    [h264 @ 0x55b72d568920] missing picture in access unit with size 3075
    ...
    (after hitting Ctrl+C:)
    Input #0, flv, from 'rtmp://<server>/<app>/<stream>':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.83.100
     Duration: 00:00:00.00, start: 5285.919000, bitrate: N/A
       Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 1920x1080, 2543 kb/s, 24 fps, 24 tbr, 1k tbn, 48 tbc
    Output #0, flv, to '/tmp/dump.flv':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.83.100
       Stream #0:0: Video: h264 (Constrained Baseline) ([7][0][0][0] / 0x0007), yuv420p, 1920x1080, q=2-31, 2543 kb/s, 24 fps, 24 tbr, 1k tbn, 1k tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    frame=    0 fps=0.0 q=-1.0 Lsize=       0kB time=00:00:00.00 bitrate=N/A speed=   0x
    video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Exiting normally, received signal 2.
    </stream></app></server>

    Failure State 2

    The message "No start code is found." is displayed and FFMPEG immediately terminates after less than a half-second. When this happens the file /tmp/dump.flv is not created.

    ffmpeg version 3.4.4-1~16.04.york0 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
     configuration: --prefix=/usr --extra-version='1~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
     libavutil      55. 78.100 / 55. 78.100
     libavcodec     57.107.100 / 57.107.100
     libavformat    57. 83.100 / 57. 83.100
     libavdevice    57. 10.100 / 57. 10.100
     libavfilter     6.107.100 /  6.107.100
     libavresample   3.  7.  0 /  3.  7.  0
     libswscale      4.  8.100 /  4.  8.100
     libswresample   2.  9.100 /  2.  9.100
     libpostproc    54.  7.100 / 54.  7.100
    [NULL @ 0x56274b0be920] missing picture in access unit with size 3710
    [AVBSFContext @ 0x56274b0bf2c0] No start code is found.
    rtmp://<server>/<app>/<stream>: could not find codec parameters
    Input #0, flv, from 'rtmp://<server>/<app>/<stream>':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.83.100
     Duration: 00:00:00.00, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: h264, none, 2543 kb/s, 24 fps, 1k tbn
    Output #0, flv, to '/tmp/dump.flv':
    Output file #0 does not contain any stream
    </stream></app></server></stream></app></server>

    What I’ve tried

    • Adding or removing -re to try and limit the input frame rate to the source frame rate
    • Adding or removing -rtmp_live live
    • Adding or removing -timeout 5 (or any other timeout value)
    • Using RTMP URL parameters (e.g. -i "rtmp://<server>/<app>/<stream> live=1 timeout=5"</stream></app></server>)

    Does anyone know why this command’s success is so intermittent or how I can get more consistent results ?

    Alternate Acceptable Solution

    The only reason I’m using ffmpeg to dump the stream to a temporary file at all is because I plan to perform multiple tests on the file (at least two at the moment — one to get the encoding, and another to get the key frame interval). By downloading the stream I reduce bandwidth usage and reduce runtime. However it’s perfectly acceptable to forego ffmpeg and just use ffprobe directly on the RTMP URL if this would help.

    Note that I did try this and I get the same two failure states with ffprobe

  • Anomalie #4224 (Fermé) : Datepicker et mediabox d’edition de documents

    15 novembre 2018, par George Kandalaft

    Le datepicker n’affiche pas le calendrier en avant plan dans la mediabox de modification des documents. Ca vient du z-index dans /prive/themes/spip/forms.css :
    #ui-datepicker-div z-index : 1001 !important ;

    Il faut au moins un z-index de 10000 pour que le calendrier apparaisse.

  • Incapsulate onvif metadata into avframe

    30 mai 2019, par user8957959

    I have a onvif camera that provides video and metadata via rtsp. I would
    like to create a filter or whatever else that takes the metadata, reads
    them and finally merge into the output video.

    I think something like
    incapsulate them in the alpha channel, in order to keep the video
    viable. I have problem with the first part, because I cannot find a
    filter that manipulate Data (AVMEDIA_TYPE_DATA) to start with. My plan
    is to create a filter that takes data and produce fake avframe with
    metadata, that will be merged with the real video by a filter like
    overlay or everything else. Did someone have some hints for me ?