Recherche avancée

Médias (91)

Autres articles (96)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (8126)

  • Pipe FFMPEG MPEG-DASH livestream to AWS S3

    17 août 2019, par Alexander

    So I’m currently trying to livestream the rendering of a GPU-heavy video (renders about 1fps), encode it to a 30fps MPEG-DASH livestream and output this to AWS S3 so Shaka Player can display the live rendering.

    The first issue is that the livestream keeps looping, it doesn’t stop after the rendering for loop is done.

    I use a python script to pipe the output of the rendering to FFMPEG, and pipe the output of FFMPEG to the aws s3 cli like this :

    p1 = Popen(['ffmpeg', '-y', '-hwaccel', 'cuvid', '-f', 'image2pipe', '-r', '24', '-i', '-', '-c:v', 'h264_nvenc', '-b:v', '5M', '-f', 'dash', '-movflags', 'frag_keyframe+empty_moov', '-'], stdin=PIPE)#, shell=True) #'-method', 'PUT', 'https://example.s3.amazonaws.com/test1/test1.mpd'], stdin=PIPE)

    p2 = Popen(['aws', 's3', 'cp', '-', 's3://example/test1/test1.mpd'], stdin=p1.stdout)


    #The following commented aws s3 sync command uploads successfully to S3
    #but the issue here is that it stops after the syncing is done and its hacky
    #p1 = Popen(['ffmpeg', '-y', '-vsync', '0', '-hwaccel', 'cuvid', '-f', 'image2pipe', '-r', '24', '-i', '-', '-c:v', 'h264_nvenc', '-b:v', '5M', '-f', 'dash', '-movflags', 'frag_keyframe+empty_moov', 'test2.mpd'], stdin=PIPE)#, shell=True) #'-method', 'PUT', 'https://teststream.s3.amazonaws.com/test1/test1.mpd'], stdin=PIPE)
    #p2 = Popen(['aws', 's3', 'sync', '.', 's3://teststream/test1', '--exclude', '"*"', '--include', '"*.m4s"', '--include', '"*.mpd"'], stdin=PIPE)

    #pseudocode
    for ci,(content,contentName) in enumerate(content_loader):
       im = renderframe(content)
       im.save(p1.stdin, 'PNG')

    p1.stdin.close()
    p1.wait()
    p2.stdin.close()
    p2.wait()
  • FFMPEG H.264 encoding for HTML5 (and ultimately MPEG-DASH)

    18 juin 2015, par Thane Thomson

    I want to convert an MP4 file to an MPEG-DASH video capable of being played through the DASH-IF HTML5 player on Chrome. I use FFMPEG and MP4Box (from GPAC) to transcode the video and then split it, and keep getting a MEDIA_ERR_SRC_NOT_SUPPORTED error on the JavaScript console.

    From the (very sparse) information available online (see this Chromium thread), it would appear as though Chrome natively only supports MP4 files with the Constrained Baseline encoding profile, and is very strict on only supporting the "avc1.42E01E,mp4a.40.2" codecs.

    I have tried pretty much everything I can to encode the video from the command line, prior to splitting with MP4Box, with FFMPEG to get an H.264 video encoding with codec profile "avc1.42E01E", but it just keeps giving me "avc1.42C01E". Here’s one of the (many) FFMPEG commands I’ve tried :

    ffmpeg -y -i Sintel_-_Third_Open_Movie_by_Blender_Foundation.mp4 -profile:v baseline -level:v 30 -acodec libvo_aacenc -vcodec libx264 sintel-recoded.mp4

    According to the ITU-T standard, sections 7.4.2.1.1 and A2.1-A2.3, a video encoding of "avc1.42E01E" implies constraint flags of 0xE0 (constraint_set flags 0, 1 and 2 are set), whereas "avc1.42C01E" implies constraint flags of 0xC0 (constraint_set flags 0 and 1 are set). The former (0xE0) implies conformance to the Baseline, Main and Extended profiles, whereas the latter (0xC0) implies conformance to only the Baseline and Main profiles.

    Apparently, FFMPEG doesn’t support the Extended profile for H.264.

    Does anyone perhaps have any advice as to how to encode an MP4 file as "avc1.42E01E" ? Ideally with FFMPEG, but I am open to using other encoders ?

  • Framerate live streaming webm with dash and ffmpeg

    14 mai 2016, par Jones

    I am streaming a live video with ffmpeg and dash.js using
    these instructions. It works well except that the video is playing at a too high framerate. No framerate is specified in the manifest.
    Creating the Chunks :

    SET VP9_LIVE_PARAMS=-speed 6 -threads 8 -static-thresh 0 -max-intra-rate 300 -deadline realtime -lag-in-frames 0 -error-resilient 1
    ffmpeg -re -r 25 -i tcp://localhost:8891 ^
    -map 0:0 ^
     -pix_fmt yuv420p ^
     -c:v libvpx-vp9 ^
       -s 800x600 -keyint_min 25 -g 25 %VP9_LIVE_PARAMS% ^
       -f webm_chunk ^
       -header "webm_live/glass_360.hdr" ^
       -chunk_start_index 1 ^
     webm_live\glass_360_%%d.chk ^

    Creating the Manifest :

    ffmpeg ^
     -f webm_dash_manifest -live 1 ^
      -r 25 ^
     -i webm_live/glass_360.hdr ^
     -c copy ^
     -map 0 ^
     -r 25 ^
     -framerate 25 ^
     -f webm_dash_manifest -live 1 ^
       -adaptation_sets "id=0,streams=0" ^
       -chunk_start_index 1 ^
       -chunk_duration_ms 1000 ^
       -time_shift_buffer_depth 7200 ^
       -minimum_update_period 7200 ^
     webm_live/glass_live_manifest.mpd

    Manifest :

    <?xml version="1.0" encoding="UTF-8"?>
    <mpd xmlns="urn:mpeg:DASH:schema:MPD:2011" type="dynamic" minbuffertime="PT1S" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilitystarttime="2016-03-30T13:02:53Z" timeshiftbufferdepth="PT7200S" minimumupdateperiod="PT7200S">
    <period start="PT0S">
    <adaptationset mimetype="video/webm" codecs="vp9" bitstreamswitching="true" subsegmentalignment="true" subsegmentstartswithsap="1">
    <contentcomponent type="video"></contentcomponent>
    <segmenttemplate timescale="1000" duration="1000" media="glass_$RepresentationID$_$Number$.chk" startnumber="1" initialization="glass_$RepresentationID$.hdr"></segmenttemplate>
    <representation bandwidth="1000000" width="800" height="600" codecs="vp9" mimetype="video/webm" startswithsap="1"></representation>
    </adaptationset>
    </period>
    </mpd>

    Any Ideas how to fix this ?