Recherche avancée

Médias (1)

Mot : - Tags -/remix

Autres articles (50)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

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

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (8710)

  • ffmpeg concat doesn't keep video speed/framerate ?

    28 août 2016, par Nick

    I have a bunch of small webm clips in directory vidchunks. These clips were generated using javascript MediaRecorder API.

    MediaRecorder code :

    var mRecorder;
    var chunks = [];
    navigator.mediaDevices.getUserMedia({
     audio: false,
     video: {
     width: 1280,
     height: 760,
     mozMediaSource: "screen",
     mediaSource: "screen"
    }
    }).then(function(stream) {
     mRecorder = new MediaRecorder(stream,{mimeType:"video/webm"});
     mRecorder.ondataavailable = function(event) {
       var blob = event.data;
       chunks.push(blob);
       var vidchunk = new Blob(chunks);
       // save to directory vid chunk.
     };
     mRecorder.start(5000);
    }).catch(function(error) {
     console.log(error.message);
    });

    Then, once I have a bunch of these 5 second clips, I merge them :

    ffmpeg -safe 0 \
    -f concat -i <(for f in `ls vidchunks/* | sort -V`; do echo file $f; done) \
    -c:v copy -r 30 -vsync drop test.webm

    When I play back these chunks individually, they play correctly. All 5 seconds of video are rendered smoothly.

    However, once I merge, some 5 second chunks are condensed to like 1 second. So the total video, which should be 50 seconds for 10 chunks, turns out to be like 38 seconds because three of the chunks got condensed to 1 second.

    Any ideas on how to fix this ?

    EDIT : I’ve tried :

    • without "-r 30 -vsync drop"
    • without "-c:v copy"

    No changes...

    EDIT2 (some ffprobe outputs) :

    ffprobe 1472343170-1.webm

    ffprobe version 2.8.6-1ubuntu2 Copyright (c) 2007-2016 the FFmpeg developers
     built with gcc 5.3.1 (Ubuntu 5.3.1-11ubuntu1) 20160311
     configuration: --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --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-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
     libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, matroska,webm, from '1472343170-1.webm':
     Metadata:
       encoder         : Chrome
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0(eng): Video: vp8, yuv420p, 1280x760, SAR 1:1 DAR 32:19, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)

    ffprobe 1472343245-16.webm

    ffprobe version 2.8.6-1ubuntu2 Copyright (c) 2007-2016 the FFmpeg developers
     built with gcc 5.3.1 (Ubuntu 5.3.1-11ubuntu1) 20160311
     configuration: --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --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-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
     libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, matroska,webm, from '1472343245-16.webm':
     Metadata:
       encoder         : Chrome
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0(eng): Video: vp8, yuv420p, 1280x760, SAR 1:1 DAR 32:19, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)

    ffprobe 1472343350-37.webm

    ffprobe version 2.8.6-1ubuntu2 Copyright (c) 2007-2016 the FFmpeg developers
     built with gcc 5.3.1 (Ubuntu 5.3.1-11ubuntu1) 20160311
     configuration: --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --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-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
     libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, matroska,webm, from '1472343350-37.webm':
     Metadata:
       encoder         : Chrome
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0(eng): Video: vp8, yuv420p, 1280x760, SAR 1:1 DAR 32:19, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)

    I also noticed that the merged video plays normal when the mouse is moving around on the screen, but when the mouse is not moving, it moves 5x faster.

    I know this because I have a timer on the screen that I’m recording, and I can see that the timer speeds up significantly when mouse isn’t moving but when mouse is moving, the timer moves at normal speed.

    EDIT3 :
    The DTS/PTS looks like resets after each file is merged :

    DTS -9223363446915256, next:6866667 st:0 invalid dropping
    PTS -9223363446915256, next:6866667 invalid dropping st:0
    DTS -9223363446915222, next:6900000 st:0 invalid dropping
    PTS -9223363446915222, next:6900000 invalid dropping st:0
    DTS -9223363446915188, next:6933333 st:0 invalid dropping
    PTS -9223363446915188, next:6933333 invalid dropping st:0
    [concat @ 0x1cde3e0] DTS -9223363446920184 < 5006 out of order
    DTS -9223363446920184, next:5033333 st:0 invalid dropping
    PTS -9223363446920184, next:5033333 invalid dropping st:0
    DTS -9223363446920056, next:5066667 st:0 invalid dropping
    PTS -9223363446920056, next:5066667 invalid dropping st:0
    DTS -9223363446919956, next:5100000 st:0 invalid dropping
    PTS -9223363446919956, next:5100000 invalid dropping st:0

    EDIT4 : Tried ffmpeg -i "$f" -y -c copy -fflags +genpts "$f" and then merge again.

    Works a lot better, but now other files are getting skipped.

    Here’s ffprobe from a file that’s skipped :

    Metadata:
       encoder         : Lavf56.40.101
     Duration: 00:00:01.17, start: 0.000000, bitrate: 428 kb/s
       Stream #0:0(eng): Video: vp8, yuv420p, 1280x760, SAR 1:1 DAR 32:19, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    [webm @ 0x1c01940] Codec for stream 0 does not use global headers but container format requires global headers
    Output #0, webm, to '1472343225-12.webm':
     Metadata:
       encoder         : Lavf56.40.101
       Stream #0:0(eng): Video: vp8, yuv420p, 1280x760 [SAR 1:1 DAR 32:19], q=2-31, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)

    Here’s ffprobe from a file not skipped :

    Input #0, matroska,webm, from '1472343215-10.webm':
     Metadata:
       encoder         : Lavf56.40.101
     Duration: 00:00:05.03, start: 0.000000, bitrate: 80 kb/s
       Stream #0:0(eng): Video: vp8, yuv420p, 1280x760, SAR 1:1 DAR 32:19, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    [webm @ 0x1349940] Codec for stream 0 does not use global headers but container format requires global headers
    Output #0, webm, to '1472343215-10.webm':
     Metadata:
       encoder         : Lavf56.40.101
       Stream #0:0(eng): Video: vp8, yuv420p, 1280x760 [SAR 1:1 DAR 32:19], q=2-31, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
  • MLT Framework. How to speed up video ?

    16 septembre 2016, par user2455079

    Need to speed up video with MLT.
    I can do it with ffmpeg :

    -filter:v "setpts=0.5*PTS"

    But what about MLT ?

  • wtv : Speed up wtv index creation

    29 janvier 2016, par popcornmix
    wtv : Speed up wtv index creation
    

    The index creation is O(N^2) with number of entries (typically thousands).
    On a Pi this can take more than 60 seconds to execute for a recording of a few hours.

    By replacing with an O(N) loop, this takes virtually zero time

    Liked-by : Paul B Mahol <onemda@gmail.com>
    Reviewed-by : Peter Ross <pross@xvid.org>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/wtvdec.c