Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (61)

  • 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 (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

Sur d’autres sites (9664)

  • How to copy video duration to the output file with ffmpeg ? [closed]

    5 novembre 2024, par user28147375

    I want to copy the input's duration to the output. Is there even a way in ffmpeg to achieve this ?
There is nothing about this in the docs.

    


    I'm currently using these flags :

    


    const ffmpegProcess = cp.spawn(ffmpegPath, [
       '-i', `pipe:3`,
       '-i', `pipe:4`,
       '-map', '0:v:0',
       '-map', '1:a:0',
       '-c:v', 'copy',
       '-c:a', 'aac',
       '-crf', '27',
       '-pix_fmt', 'yuv420p',
       '-preset', 'veryfast',
       '-movflags', 'frag_keyframe+empty_moov',
       '-f', 'mp4',
       '-shortest',
        '-'
    ], {
        windowsHide: true,
        stdio: [
            'pipe', 'pipe', 'inherit', 'pipe', 'pipe'
        ],
    });


    


    The problem :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:3':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2024-10-05T10:39:09.000000Z
  Duration: 00:02:18.14, start: 0.000000, bitrate: N/A
Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 1 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)


    


    Output #0, mp4, to 'pipe:':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    encoder         : Lavf60.3.100
  ---> (DURATION MISSING) <---
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 1 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)


    


  • avformat/matroskaenc : Write SeekHead when livestreaming

    26 avril 2020, par Andreas Rheinhardt
    avformat/matroskaenc : Write SeekHead when livestreaming
    

    Commit 6fd300ac6c2c3871736ce0e6df95603255004dc6 added support for WebM
    Chunk livestreaming ; in this case, both the header as well as each
    Cluster is written to a file of its own, so that even if the AVIOContext
    seems seekable, the muxer has to behave as if it were not. Yet one of
    the added checks makes no sense : It ensures that no SeekHead is written
    preliminarily (and hence no SeekHead is written at all) if the option
    for livestreaming is set, although one should write the SeekHead in this
    case when writing the Header. E.g. the WebM-DASH specification [1]
    never forbids writing a SeekHead and in some instances (that don't apply
    here) even requires it (if Cues are written after the Clusters).

    [1] : https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>

    • [DH] libavformat/matroskaenc.c
  • Adaptive part in MPD using MP4box

    28 janvier 2019, par enigmaVada

    I have used ffmpeg to encode audio and video files of my video sample.mp4 for the dash player. The commands are as follows :

    ffmpeg -i sample.mp4 -s 426x240 -c:v libx264 -b:v 640k -g 90 -an sample_video_240.mp4
    ffmpeg -i sample.mp4 -s 480x360 -c:v libx264 -b:v 960k -g 90 -an sample_video_360.mp4
    ffmpeg -i sample.mp4 -s 640x480 -c:v libx264 -b:v 1280k -g 90 -an sample_video_480.mp4
    ffmpeg -i sample.mp4 -s 1280x720 -c:v libx264 -b:v 2560k -g 90 -an sample_video_720.mp4

    ffmpeg -i sample.mp4 -c:a aac -b:a 128k -vn sample_audio.mp4

    I have generated 240p,360p,480p and 720p videos and audio file.

    Then I have used mp4box to generate the mpd file using the following command :

    mp4box -dash 10000 -rap -profile dashavc264:onDemand -mpd-title BBB -out sample.mpd -frag 5000 sample_audio.mp4 sample_video_240.mp4 sample_video_360.mp4 sample_video_480.mp4 sample_video_720.mp4

    I am using the dash.js player to play the video. The problem is, the adaptive part of DASH isn’t working. The player is just using the 240p video and not switching to a better format even if proper bandwidth is available. I am checking using the network tab of chrome dev tools.

    What am i doing wrong ? Please help.

    Here is the mpd file for reference :

    &lt;?xml version="1.0"?>

    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" minbuffertime="PT1.500S" type="static" mediapresentationduration="PT0H1M9.869S" maxsegmentduration="PT0H0M9.985S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011,http://dashif.org/guidelines/dash264">
    <programinformation moreinformationurl="http://gpac.io">
     
    </programinformation>

    <period duration="PT0H1M9.869S">
     <adaptationset segmentalignment="true" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
      <representation mimetype="audio/mp4" codecs="mp4a.40.2" audiosamplingrate="44100" startwithsap="1" bandwidth="130920">
       <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
       <baseurl>sample_audio_dashinit.mp4</baseurl>
       <segmentbase indexrangeexact="true" indexrange="902-1017">
         <initialization range="0-901"></initialization>
       </segmentbase>
      </representation>
     </adaptationset>
     <adaptationset segmentalignment="true" group="1" maxwidth="426" maxheight="240" maxframerate="30" par="426:240" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
      <representation mimetype="video/mp4" codecs="avc1.640015" width="426" height="240" framerate="30" sar="1:1" startwithsap="1" bandwidth="590708">
       <baseurl>sample_video_240_dashinit.mp4</baseurl>
       <segmentbase indexrangeexact="true" indexrange="914-1053">
         <initialization range="0-913"></initialization>
       </segmentbase>
      </representation>
     </adaptationset>
     <adaptationset segmentalignment="true" group="1" maxwidth="640" maxheight="480" maxframerate="30" par="4:3" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
      <representation mimetype="video/mp4" codecs="avc1.64001E" width="480" height="360" framerate="30" sar="1:1" startwithsap="1" bandwidth="883873">
       <baseurl>sample_video_360_dashinit.mp4</baseurl>
       <segmentbase indexrangeexact="true" indexrange="914-1053">
         <initialization range="0-913"></initialization>
       </segmentbase>
      </representation>
      <representation mimetype="video/mp4" codecs="avc1.64001E" width="640" height="480" framerate="30" sar="1:1" startwithsap="1" bandwidth="1188712">
       <baseurl>sample_video_480_dashinit.mp4</baseurl>
       <segmentbase indexrangeexact="true" indexrange="913-1052">
         <initialization range="0-912"></initialization>
       </segmentbase>
      </representation>
     </adaptationset>
     <adaptationset segmentalignment="true" group="1" maxwidth="1280" maxheight="720" maxframerate="30" par="16:9" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
      <representation mimetype="video/mp4" codecs="avc1.64001F" width="1280" height="720" framerate="30" sar="1:1" startwithsap="1" bandwidth="2365717">
       <baseurl>sample_video_720_dashinit.mp4</baseurl>
       <segmentbase indexrangeexact="true" indexrange="914-1053">
         <initialization range="0-913"></initialization>
       </segmentbase>
      </representation>
     </adaptationset>
    </period>
    </mpd>