Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (71)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Modifier la date de publication

    21 juin 2013, par

    Comment changer la date de publication d’un média ?
    Il faut au préalable rajouter un champ "Date de publication" dans le masque de formulaire adéquat :
    Administrer > Configuration des masques de formulaires > Sélectionner "Un média"
    Dans la rubrique "Champs à ajouter, cocher "Date de publication "
    Cliquer en bas de la page sur Enregistrer

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

Sur d’autres sites (10876)

  • Cannot play local RTP stream

    24 janvier 2020, par gdogg371

    I have been struggling along with this issue now for a while, but am making good progress. I now have a 4k transport stream running using the below command line arguments for VLC :

    vlc --ffmpeg-hw --avcodec-hw=any dshow:// :dshow-vdev="Video (00 Pro Capture HDMI 4K+)" :dshow-adev="Audio (2- 00 Pro Capture HDMI 4K+)" :dshow-threads=8 :dshow-aspect-ratio=16\:9 :dshow-size="3840x2160" :dshow-pixel_format=yuv444p16le :dshow-tune=film :dshow-preset=lossless :dshow-profile=main10 show-vcodec=hevc_nvenc :dshow-fps=50 :dshow-crf=0 :dshow-acodec=mp4a :dshow-stereo-mode=5 :dshow-force-surround-sound=0 :dshow-ab=128 :dshow-samplerate=44100 :no-dshow-config :live-caching=3000 --sout "#transcode{venc=ffmpeg,vcodec=mpgv,threads=8,aspect=16:9,width=3840,height=2160,fps=50,acodec=a52,ab=1500,channels=6,samplerate=48000,soverlay}:rtp{dst=239.255.0.1,port=5004,mux=ts}"

    I can access the rtp stream on the same PC as I am running the stream from with the below :

    vlc -vvv rtp://@239.255.0.1:5004

    However, if I try the same commands on a different computer, connected via Ethernet to the same network, the client VLC session just hangs. I have included the log below with the verbosity set to debug. Can anyone spot anything in here suggesting why the stream won’t play ?

    -- logger module started --
    main debug: VLC media player - 3.0.8 Vetinari
    main debug: Copyright © 1996-2019 the VideoLAN team
    main debug: revision 3.0.8-0-gf350b6b5a7
    main debug: configured with ../extras/package/win32/../../../configure  '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-avcodec' '--enable-merge-ffmpeg' '--enable-dca' '--enable-mpc' '--enable-libass' '--enable-schroedinger' '--enable-realrtsp' '--enable-live555' '--enable-dvdread' '--enable-shout' '--enable-goom' '--enable-caca' '--enable-qt' '--enable-skins2' '--enable-sse' '--enable-mmx' '--enable-libcddb' '--enable-zvbi' '--disable-telx' '--enable-nls' '--host=x86_64-w64-mingw32' '--with-breakpad=https://win.crashes.videolan.org' 'host_alias=x86_64-w64-mingw32' 'PKG_CONFIG_LIBDIR=/home/jenkins/workspace/vlc-release/windows/vlc-release-win32-x64/contrib/x86_64-w64-mingw32/lib/pkgconfig'
    main debug: using multimedia timers as clock source
    main debug:  min period: 1 ms, max period: 1000000 ms
    main debug: searching plug-in modules
    main debug: loading plugins cache file D:\VLC\plugins\plugins.dat
    main debug: recursively browsing `D:\VLC\plugins'
    main error: stale plugins cache: modified D:\VLC\plugins\access\libaccess_concat_plugin.dll
    main error: stale plugins cache: modified D:\VLC\plugins\access\libaccess_imem_plugin.dll
    ....
    ....
    ....
    main error: stale plugins cache: modified D:\VLC\plugins\visualization\libgoom_plugin.dll
    main error: stale plugins cache: modified D:\VLC\plugins\visualization\libprojectm_plugin.dll
    main error: stale plugins cache: modified D:\VLC\plugins\visualization\libvisual_plugin.dll
    main debug: plug-ins loaded: 494 modules
    main debug: opening config file (C:\Users\cg371\AppData\Roaming\vlc\vlcrc)
    main debug: looking for logger module matching "any": 2 candidates
    file debug: opening logfile `D:\VLC\Log.txt'
    main debug: using logger module "file"
    main debug: translation test: code is "en_GB"
    main debug: looking for keystore module matching "memory": 3 candidates
    main debug: using keystore module "memory"
    main debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 FPU
    main debug: Creating an input for 'Media Library'
    main debug: Input is a meta file: disabling unneeded options
    main debug: using timeshift granularity of 50 MiB
    main debug: using timeshift path: C:\Users\cg371\AppData\Local\Temp
    main debug: `file/directory:///C:/Users/cg371/AppData/Roaming/vlc/ml.xspf' gives access `file' demux `directory' path `/C:/Users/cg371/AppData/Roaming/vlc/ml.xspf'
    main debug: creating demux: access='file' demux='directory' location='/C:/Users/cg371/AppData/Roaming/vlc/ml.xspf' file='C:\Users\cg371\AppData\Roaming\vlc\ml.xspf'
    main debug: looking for access_demux module matching "file": 15 candidates
    main debug: no access_demux modules matched
    main debug: creating access: file:///C:/Users/cg371/AppData/Roaming/vlc/ml.xspf
    main debug:  (path: C:\Users\cg371\AppData\Roaming\vlc\ml.xspf)
    main debug: looking for access module matching "file": 26 candidates
    main debug: using access module "filesystem"
    main debug: looking for stream_filter module matching "prefetch,cache_read": 24 candidates
    cache_read debug: Using stream method for AStream*
    cache_read debug: starting pre-buffering
    cache_read debug: received first data after 1 ms
    cache_read debug: pre-buffering done 304 bytes in 0s - 296 KiB/s
    main debug: using stream_filter module "cache_read"
    main debug: looking for stream_filter module matching "any": 24 candidates
    playlist debug: using XSPF playlist reader
    main debug: using stream_filter module "playlist"
    main debug: stream filter added to 00000266f6927700
    main debug: looking for stream_filter module matching "any": 24 candidates
    main debug: no stream_filter modules matched
    main debug: looking for stream_directory module matching "any": 1 candidates
    main debug: no stream_directory modules matched
    main debug: attachment of directory-extractor failed for file:///C:/Users/cg371/AppData/Roaming/vlc/ml.xspf
    main debug: looking for stream_filter module matching "record": 24 candidates
    main debug: using stream_filter module "record"
    main debug: creating demux: access='file' demux='directory' location='/C:/Users/cg371/AppData/Roaming/vlc/ml.xspf' file='C:\Users\cg371\AppData\Roaming\vlc\ml.xspf'
    main debug: looking for demux module matching "directory": 55 candidates
    main debug: using demux module "directory"
    main debug: looking for meta reader module matching "any": 2 candidates
    lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\reader
    lua debug: Trying Lua scripts in D:\VLC\lua\meta\reader
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\reader\filename.luac
    main debug: no meta reader modules matched
    main debug: `file/directory:///C:/Users/cg371/AppData/Roaming/vlc/ml.xspf' successfully opened
    main debug: looking for xml reader module matching "any": 1 candidates
    main debug: using xml reader module "xml"
    main debug: EOF reached
    main debug: removing module "directory"
    main debug: removing module "record"
    main debug: removing module "playlist"
    main debug: removing module "cache_read"
    main debug: removing module "filesystem"
    main debug: creating audio output
    main debug: looking for audio output module matching "any": 6 candidates
    mmdevice debug: using default device
    mmdevice debug: display name changed: VLC media player (LibVLC 3.0.8)
    mmdevice debug: version 2 session control unavailable
    mmdevice debug: volume from -65.250000 dB to +0.000000 dB with 0.031250 dB increments
    main debug: using audio output module "mmdevice"
    main debug: keeping audio output
    main debug: looking for interface module matching "hotkeys,none": 16 candidates
    main debug: using interface module "hotkeys"
    main debug: looking for interface module matching "globalhotkeys,none": 16 candidates
    main debug: using interface module "win32"
    main: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
    main debug: looking for interface module matching "any": 16 candidates
    main debug: looking for extension module matching "any": 1 candidates
    lua debug: Opening Lua Extension module
    lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\extensions
    lua debug: Trying Lua scripts in D:\VLC\lua\extensions
    lua debug: Trying Lua playlist script D:\VLC\lua\extensions\VLSub.luac
    lua debug: Scanning Lua script D:\VLC\lua\extensions\VLSub.luac
    lua debug: Script D:\VLC\lua\extensions\VLSub.luac has the following capability flags: 0x5
    main debug: using extension module "lua"
    main debug: using interface module "qt"
    main debug: processing request item: null, node: Playlist, skip: 0
    main debug: rebuilding array of current - root Playlist
    main debug: rebuild done - 1 items, index -1
    main debug: starting playback of new item
    main debug: resyncing on rtp://239.255.0.1:5004
    main debug: rtp://239.255.0.1:5004 is at 0
    main debug: creating new input thread
    main debug: Creating an input for 'rtp://239.255.0.1:5004'
    main debug: requesting art for new input thread
    main debug: using timeshift granularity of 50 MiB
    main debug: using timeshift path: C:\Users\cg371\AppData\Local\Temp
    main debug: `rtp://@239.255.0.1:5004' gives access `rtp' demux `any' path `@239.255.0.1:5004'
    main debug: creating demux: access='rtp' demux='any' location='@239.255.0.1:5004' file='\\@239.255.0.1:5004'
    main debug: looking for access_demux module matching "rtp": 15 candidates
    main debug: net: opening 239.255.0.1 datagram port 5004
    qt debug: IM: Setting an input
    main debug: looking for meta fetcher module matching "any": 1 candidates
    lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\fetcher
    lua debug: Trying Lua scripts in D:\VLC\lua\meta\fetcher
    main debug: no meta fetcher modules matched
    main debug: looking for art finder module matching "any": 2 candidates
    lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\art
    lua debug: Trying Lua scripts in D:\VLC\lua\meta\art
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\00_musicbrainz.luac
    lua debug: skipping script (unmatched scope) D:\VLC\lua\meta\art\00_musicbrainz.luac
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\01_googleimage.luac
    lua debug: skipping script (unmatched scope) D:\VLC\lua\meta\art\01_googleimage.luac
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\02_frenchtv.luac
    lua debug: skipping script (unmatched scope) D:\VLC\lua\meta\art\02_frenchtv.luac
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\03_lastfm.luac
    main debug: using access_demux module "rtp"
    main debug: looking for meta reader module matching "any": 2 candidates
    lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\reader
    lua debug: Trying Lua scripts in D:\VLC\lua\meta\reader
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\reader\filename.luac
    lua debug: skipping script (unmatched scope) D:\VLC\lua\meta\art\03_lastfm.luac
    main debug: no art finder modules matched
    main debug: no meta reader modules matched
    main debug: `rtp://@239.255.0.1:5004' successfully opened
    main debug: looking for meta fetcher module matching "any": 1 candidates
    lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\fetcher
    lua debug: Trying Lua scripts in D:\VLC\lua\meta\fetcher
    main debug: no meta fetcher modules matched
    main debug: looking for art finder module matching "any": 2 candidates
    lua debug: Trying Lua scripts in C:\Users\cg371\AppData\Roaming\vlc\lua\meta\art
    lua debug: Trying Lua scripts in D:\VLC\lua\meta\art
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\00_musicbrainz.luac
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\01_googleimage.luac
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\02_frenchtv.luac
    lua debug: Trying Lua playlist script D:\VLC\lua\meta\art\03_lastfm.luac
    main debug: no art finder modules matched
    main debug: exiting
    main debug: exiting
    main debug: no exit handler
    main debug: removing all interfaces
    main debug: removing module "qt"
    main debug: deactivating the playlist
    main debug: incoming request - stopping current input
    main debug: removing module "rtp"
    main debug: dead input
    main debug: nothing to play
    main debug: removing module "mmdevice"
    qt debug: requesting exit...
    qt debug: waiting for UI thread...
    qt debug: IM: Deleting the input
    qt debug: QApp exec() finished
    qt debug: Video is not needed anymore
    qt debug: Killing extension dialog provider
    qt debug: ExtensionsDialogProvider is quitting...
    main debug: removing module "lua"
    main debug: removing module "win32"
    main debug: removing module "hotkeys"
    main debug: destroying
    main debug: saving media library to file C:\Users\cg371\AppData\Roaming\vlc\ml.xspf.tmp14968
    main debug: looking for playlist export module matching "export-xspf": 4 candidates
    main debug: using playlist export module "export"
    main debug: removing module "export"
    main debug: deleting item `Media Library'
    main debug: deleting item `rtp://239.255.0.1:5004'
    main debug: deleting item `Playlist'
    main debug: removing module "memory"
    -- logger module stopped --
  • FFMPEG - How to wait until all blobs are written before finishing ffmpeg process when getting them from media recorder API

    7 novembre 2020, par Caio Nakai

    I'm using media recorder API to record a video from user's screen and sending the blobs through web socket to a nodejs server. The nodejs server is using the blobs to create a webm video file, the video is being created fine but with a delay, after the user clicks on the stop recording button it stops the media recorder api, however the server didn't finish the processing of all blobs (at least that's what I think it's happening) and then when I check the video file generated the last few seconds of the recording are missing I wonder if there's an way to solve this. Any help is appreciated :)

    


    This is the front-end code that sends the blobs to the nodejs server

    


      const startScreenCapture = async () => {
  try {
    let screenStream;
    videoElem = document.getElementById("myscreen");
    screenStream = await navigator.mediaDevices.getDisplayMedia(
      displayMediaOptions
    );

    const recorderOptions = {
      mimeType: "video/webm;codecs=vp9",
      videoBitsPerSecond: 3 * 1024 * 1024,
    };

    screenMediaRecorder = new MediaRecorder(screenStream, recorderOptions);
    screenMediaRecorder.start(1); // 1000 - the number of milliseconds to record into each Blob
    screenMediaRecorder.ondataavailable = (event) => {
      console.debug("Got blob data:", event.data);
      console.log("Camera stream: ", event.data);
      if (event.data && event.data.size > 0) {
        socket.emit("screen_stream", event.data);
      }
    };

    videoElem.srcObject = screenStream;
    // console.log("Screen stream", screenStream);
    // socket.emit("screen_stream", screenStream);
  } catch (err) {
    console.error("Error: " + err);
  }
};

const stopCapture = (evt) => {
  let tracks = videoElem.srcObject.getTracks();

  tracks.forEach((track) => track.stop());
  videoElem.srcObject = null;
  screenMediaRecorder.stop();
  socket.emit("stop_screen");
  socket.close();
};


    


    This is the nodejs back-end that handle the blobs and generates the videofile

    


      const ffmpeg2 = child_process.spawn("ffmpeg", [
    "-i",
    "-",
    "-c:v",
    "copy",
    "-c:a",
    "copy",
    "screen.webm",
  ]);


  socket.on("screen_stream", (msg) => {
    console.log("Writing screen blob! ");
    ffmpeg2.stdin.write(msg);
  });

  socket.on("stop_screen", () => {
    console.log("Stop recording..");
  });


    


  • Updated(reproducible) - Gaps when recording using MediaRecorder API(audio/webm opus)

    25 mars 2019, par Jack Juiceson

    ----- UPDATE HAS BEEN ADDED BELOW -----

    I have an issue with MediaRecorder API (https://www.w3.org/TR/mediastream-recording/#mediarecorder-api).

    I’m using it to record the speech from the web page(Chrome was used in this case) and save it as chunks.
    I need to be able to play it while and after it is recorded, so it’s important to keep those chunks.

    Here is the code which is recording data :

    navigator.mediaDevices.getUserMedia({ audio: true, video: false }).then(function(stream) {
     recorder = new MediaRecorder(stream, { mimeType: 'audio/webm; codecs="opus"' })
     recorder.ondataavailable = function(e) {
       // Read blob from `e.data`, decode64 and send to sever;
     }
     recorder.start(1000)
    })

    The issue is that the WebM file which I get when I concatenate all the parts is corrupted(rarely) !. I can play it as WebM, but when I try to convert it(ffmpeg) to something else, it gives me a file with shifted timings.

    For example. I’m trying to convert a file which has duration 00:36:27.78 to wav, but I get a file with duration 00:36:26.04, which is 1.74s less.

    At the beginning of file - the audio is the same, but after about 10min WebM file plays with a small delay.

    After some research, I found out that it also does not play correctly with the browser’s MediaSource API, which I use for playing the chunks. I tried 2 ways of playing those chunks :

    In a case when I just merge all the parts into a single blob - it works fine.
    In case when I add them via the sourceBuffer object, it has some gaps (i can see them by inspecting buffered property).
    697.196 - 697.528 ( 330ms)
    996.198 - 996.754 ( 550ms)
    1597.16 - 1597.531 ( 370ms)
    1896.893 - 1897.183 ( 290ms)

    Those gaps are 1.55s in total and they are exactly in the places where the desync between wav & webm files start. Unfortunately, the file where it is reproducible cannot be shared because it’s customer’s private data and I was not able to reproduce such issue on different media yet.

    What can be the cause for such an issue ?

    ----- UPDATE -----
    I was able to reproduce the issue on https://jsfiddle.net/96uj34nf/4/

    In order to see the problem, click on the "Print buffer zones" button and it will display time ranges. You can see that there are two gaps :
    0 - 136.349, 141.388 - 195.439, 197.57 - 198.589

    1. 136.349 - 141.388
    2. 195.439 - 197.57

    So, as you can see there are 5 and 2 second gaps. Would be happy if someone could shed some light on why it is happening or how to avoid this issue.

    Thank you