Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (95)

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

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

Sur d’autres sites (9613)

  • Shaka Player : ignore empty AdaptationSet

    24 juin 2019, par Mitya

    I’m trying to play DASH stream in Shaka Player.
    Sometimes the stream doesn’t have an audio source and its manifest file contains an empty AdaptationSet entry.
    In this case Shaka Player returns the manifest parsing error :

    | DASH_EMPTY_ADAPTATION_SET | 4003 | number |  The DASH Manifest contained an AdaptationSet with no Representations. |

    Is it possible to ignore this error somehow and play the video without audio source ?

    Example of manifest file :

    <?xml version="1.0" encoding="utf-8"?>
    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumupdateperiod="PT4S" suggestedpresentationdelay="PT4S" availabilitystarttime="2019-06-24T13:38:04Z" publishtime="2019-06-24T13:38:34Z" timeshiftbufferdepth="PT14.9S" minbuffertime="PT9.9S">
       <programinformation>
           
       </programinformation>
       <period start="PT0.0S">
           <adaptationset contenttype="video" segmentalignment="true" bitstreamswitching="true">
               <representation mimetype="video/mp4" codecs="avc1.640028" bandwidth="2000000" width="1920" height="1080" framerate="20/1">
                   <segmenttemplate timescale="10240" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="5">
                       <segmenttimeline>
                           <s t="201697" d="51190" r="2"></s>
                       </segmenttimeline>
                   </segmenttemplate>
               </representation>
           </adaptationset>
           <adaptationset contenttype="audio" segmentalignment="true" bitstreamswitching="true">
           </adaptationset>
       </period>
    </mpd>
  • how to make rtmp streaming player on windows phone 8

    9 avril 2014, par user3334845

    i am making basic online live tv program on wp8.I'am use to Microsoft.Web.Media.SmoothStreaming framework and Microsoft Player Framework (Microsoft.PlayerFramework.WP8.Core, Version=1.8.2.2). My app is play http mms and rtsp with this framework. But not play rtmp live streams :S. I'm stucked. I'm search about how play rtmp on wp8. And i am found two thinks :
    1-) ffmpeg core (librtmp) (https://code.google.com/p/rtmp-mediaplayer/)
    2-)FluorineFx (http://www.fluorinefx.com/download.html)

    i am trying first librtmp but this code is so complex for me:S
    and i am trying B plan FluorineFx, install it and trying add dll wp8 reference but program get error "this dll is making for visual studio 2008", and trying FluorineFx samples in programfiles directory, but same error vs2008 works not current:S.

    I'm stuck here please help me.

  • Issue with streaming in realtime to HTML5 video player

    24 juillet 2023, par ImaSquareBTW

    ok so i created a project which should take an mkv file convert it to a sutaible fomrat in relatime and play it as it transcodes in the html 5 video player and should play as soon as small segement is ready for playback but unfornatlly it does seem to work heres my code if your curious, help would be very much appreicted

    &#xA;

    &#xA;&#xA;  &#xA;    &#xA;  &#xA;  &#xA;    <video controls="controls">&#xA;      <source src="output.mp4" type="video/mp4">&#xA;    </source></video>&#xA;    <code class="echappe-js">&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/ffmpeg/0.11.6/ffmpeg.min.js&quot; integrity=&quot;sha512-91IRkhfv1tLVYAdH5KTV&amp;#x2B;KntIZP/7VzQ9E/qbihXFSj0igeacWWB7bQrdiuaJVMXlCVREL4Z5r&amp;#x2B;3C4yagAlwEw==&quot; crossorigin=&quot;anonymous&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/script&gt;&#xA;    &lt;script src='http://stackoverflow.com/feeds/tag/player.js'&gt;&lt;/script&gt;&#xA;  &#xA;&#xA;

    &#xA;

    and my javscript :

    &#xA;

    let mediaSource;&#xA;let sourceBuffer;&#xA;let isTranscoding = false;&#xA;let bufferedSeconds = 0;&#xA;&#xA;async function setupMediaSource() {&#xA;  mediaSource = new MediaSource();&#xA;  const videoPlayer = document.getElementById(&#x27;video-player&#x27;);&#xA;  videoPlayer.src = URL.createObjectURL(mediaSource);&#xA;  await new Promise(resolve => {&#xA;    mediaSource.addEventListener(&#x27;sourceopen&#x27;, () => {&#xA;      sourceBuffer = mediaSource.addSourceBuffer(&#x27;video/mp4; codecs="avc1.64001E, mp4a.40.2"&#x27;); // Match the transcoded format&#xA;      sourceBuffer.addEventListener(&#x27;updateend&#x27;, () => {&#xA;        if (!sourceBuffer.updating &amp;&amp; mediaSource.readyState === &#x27;open&#x27;) {&#xA;          mediaSource.endOfStream();&#xA;          resolve();&#xA;        }&#xA;      });&#xA;    });&#xA;  });&#xA;}&#xA;&#xA;async function transcodeVideo() {&#xA;  const ffmpeg = createFFmpeg({ log: true });&#xA;  const videoPlayer = document.getElementById(&#x27;video-player&#x27;);&#xA;&#xA;  await ffmpeg.load();&#xA;  const transcodeCommand = [&#x27;-i&#x27;, &#x27;The Legend of Old Gregg S02E05.mkv&#x27;, &#x27;-c:v&#x27;, &#x27;libx264&#x27;, &#x27;-preset&#x27;, &#x27;ultrafast&#x27;, &#x27;-c:a&#x27;, &#x27;aac&#x27;, &#x27;-strict&#x27;, &#x27;experimental&#x27;, &#x27;-f&#x27;, &#x27;mp4&#x27;, &#x27;-movflags&#x27;, &#x27;frag_keyframe&#x2B;empty_moov&#x27;, &#x27;output.mp4&#x27;];&#xA;&#xA;  const videoUrl = &#x27;The Legend of Old Gregg S02E05.mkv&#x27;; // The URL of the original video file&#xA;&#xA;  let lastBufferedSeconds = 0;&#xA;  let currentTime = 0;&#xA;  while (currentTime &lt; videoPlayer.duration) {&#xA;    if (!isTranscoding &amp;&amp; sourceBuffer.buffered.length > 0 &amp;&amp; sourceBuffer.buffered.end(0) - currentTime &lt; 5) {&#xA;      isTranscoding = true;&#xA;      const start = sourceBuffer.buffered.end(0);&#xA;      const end = Math.min(videoPlayer.duration, start &#x2B; 10);&#xA;      await fetchAndTranscode(videoUrl, start, end, ffmpeg, transcodeCommand);&#xA;      isTranscoding = false;&#xA;      currentTime = end;&#xA;      bufferedSeconds &#x2B;= (end - start);&#xA;      const transcodingSpeed = bufferedSeconds / (currentTime);&#xA;      lastBufferedSeconds = bufferedSeconds;&#xA;      console.log(`Transcoded ${end - start} seconds of video. Buffered: ${bufferedSeconds.toFixed(2)}s (${transcodingSpeed.toFixed(2)}x speed)`);&#xA;    }&#xA;    await new Promise(resolve => setTimeout(resolve, 500));&#xA;  }&#xA;&#xA;  await ffmpeg.exit();&#xA;}&#xA;&#xA;async function fetchAndTranscode(url, start, end, ffmpeg, transcodeCommand) {&#xA;  const response = await fetch(url, { headers: { Range: `bytes=${start}-${end}` } });&#xA;  const data = new Uint8Array(await response.arrayBuffer());&#xA;  ffmpeg.FS(&#x27;writeFile&#x27;, &#x27;input.mkv&#x27;, data); // Use &#x27;input.mkv&#x27; as a temporary file&#xA;  await ffmpeg.run(...transcodeCommand);&#xA;  const outputData = ffmpeg.FS(&#x27;readFile&#x27;, &#x27;output.mp4&#x27;);&#xA;  appendSegmentToBuffer(outputData);&#xA;}&#xA;&#xA;function appendSegmentToBuffer(segment) {&#xA;  if (!sourceBuffer.updating) {&#xA;    sourceBuffer.appendBuffer(segment);&#xA;  } else {&#xA;    sourceBuffer.addEventListener(&#x27;updateend&#x27;, () => {&#xA;      sourceBuffer.appendBuffer(segment);&#xA;    });&#xA;  }&#xA;}&#xA;&#xA;async function createFFmpeg(options) {&#xA;  const { createFFmpeg } = FFmpeg;&#xA;  const ffmpeg = createFFmpeg(options);&#xA;  await ffmpeg.load();&#xA;  return ffmpeg;&#xA;}&#xA;&#xA;(async () => {&#xA;  await setupMediaSource();&#xA;  await transcodeVideo();&#xA;})();&#xA;&#xA;

    &#xA;