Recherche avancée

Médias (0)

Mot : - Tags -/organisation

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (79)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (9684)

  • FFmpeg raw video size parameter

    3 novembre 2019, par Yanick Salzmann

    I am using libavformat in my library to read a stream of raw i420 images and transform them into an mp4 video. I’ve found CLI commands that perform this but since I am using the library in my program I need to reconstruct the same thing.

    Currently the code that is having a problem is looking like this :

           const auto raw_format = av_find_input_format("rawvideo");
           if (raw_format == nullptr) {
               log->error("Could not find RAW input parser in FFmpeg");
               throw std::runtime_error("RAW not found");
           }

           _format_context->pb = _io_context.get();

           AVDictionary *input_options = nullptr;
           av_dict_set(&input_options, "framerate", std::to_string(fps).c_str(), 0);
           av_dict_set(&input_options, "pix_fmt", "yuv420p", 0);
           av_dict_set(&input_options, "s:v", fmt::format("{}x{}", width, height).c_str(), 0);
           av_dict_set(&input_options, "size", fmt::format("{}x{}", width, height).c_str(), 0);

           auto formatPtr = _format_context.get();
           auto res = avformat_open_input(&formatPtr, "(memory file)", raw_format, &input_options);

    Finding the rawvideo is no problem, but it fails in avformat_open_input with the error : [2019-11-03 15:03:22.953] [11599:11663] [ffmpeg] [error] Picture size 0x0 is invalid

    I assumed the sizes are something I can insert using the input options, since in the CLI version it is passed using -s:v 1920x1080, however this does not seem to be true.

    Where do I have to specify the dimensions of my raw input stream ?

  • ffmpeg : precisely cut a video

    19 octobre 2019, par Santhosh Yedidi

    I am tring to cut a video in linux OS

    $ ffmpeg -i dhol.mkv
    ffmpeg version n4.1.2 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 8.2.1 (GCC) 20181127
     configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
     libavutil      56. 22.100 / 56. 22.100
     libavcodec     58. 35.100 / 58. 35.100
     libavformat    58. 20.100 / 58. 20.100
     libavdevice    58.  5.100 / 58.  5.100
     libavfilter     7. 40.101 /  7. 40.101
     libswscale      5.  3.100 /  5.  3.100
     libswresample   3.  3.100 /  3.  3.100
     libpostproc    55.  3.100 / 55.  3.100
    Input #0, matroska,webm, from 'dhol.mkv':
     Metadata:
       ENCODER         : Lavf58.20.100
     Duration: 00:03:56.18, start: -0.007000, bitrate: 2688 kb/s
       Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, bt709/unknown/unknown), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
       Metadata:
         DURATION        : 00:03:56.167000000
       Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
       Metadata:
         DURATION        : 00:03:56.181000000

    I was trying to precisely cut the video file :

    But using ffmpeg I was not successfull. It cuts from the nearest key frames to the given start time

    ffmpeg -y -i dhol.mkv -ss $shift   -t $duration -c:v copy -an output.mkv

    ONE OF THE REASONS HERE IS H.264 Video format (YUV420p vs YUV420sp). I am using -c:v copy so it has to use the same format YUV420p, so it has to start from nearest keyframe

    Now the only reliable software that i can fully depend if avidemux.

    Even in that i have to select

    video-codec: MJPEG
    audio-codec: vorbis

    But the cut video size will be large.

    I tried in avidemux

    video-codec: copy
    audio-codec: copy

    It will cut from nearest keyframe than precisely.

    One conclusion :
    So irrespective of ffmpeg or avidemux, the output video format yuv420p will not allow precise formatting

    Only option currently possible :

    Using avidemux and with

    video-codec: MJPEG
    audio-codec: vorbis

    Cons :

    1) bigger video size.
    2) no proper command line examples available for avidemux to do the same as gui does

    I tried command line in avidemux :

    avidemux3_cli --video-codec MJPEG --audio-codec AAC --output-format AVI --load dhol.mkv --begin 137.633 --end 141.334 --save dhol2.mkv

    It tries to convert the whole file rather than from the start to end time

    My requirement :
    I want to do it command line.

    I didnt try with ffmpeg (with video codec : MJPEG and audio : vorbis). I never saw any example

    How to precisely cut a video (even the output format can be different (like MJPEG instead of yuv420p, and also bigger sizes, its ok) using command line

  • ffmpeg faild when processing video from stream

    17 octobre 2019, par Milousel

    I create ffmpeg method for modify video from readstream as input. I test it on videos which I download from internet and it’s works good. When I tried it on video from my phone it crash. I tried to modify (take off few second) video from internet and try it again, but I receive the same error message.

    an error happened: ffmpeg exited with code 1: pipe:0: Invalid data found when processing input
    Cannot determine format of input stream 0:0 after EOF
    Error marking filters as finished
    Conversion failed!
    ffmpeg version N-92722-gf22fcd4483 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 8.2.1 (GCC) 20181201
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
     libavutil      56. 24.101 / 56. 24.101
     libavcodec     58. 42.102 / 58. 42.102
     libavformat    58. 24.101 / 58. 24.101
     libavdevice    58.  6.101 / 58.  6.101
     libavfilter     7. 46.101 /  7. 46.101
     libswscale      5.  4.100 /  5.  4.100
     libswresample   3.  4.100 /  3.  4.100
     libpostproc    55.  4.100 / 55.  4.100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 000001c49b5ee3c0] stream 0, offset 0x20: partial file
    [mov,mp4,m4a,3gp,3g2,mj2 @ 000001c49b5ee3c0] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none(tv, bt709), 1920x1080, 17079 kb/s): unspecified pixel format
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:0':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2019-10-17T11:32:34.000000Z
       location        : +50.1308+014.3730/
       location-eng    : +50.1308+014.3730/
       com.android.version: 7.0
     Duration: 00:00:10.77, start: 0.000000, bitrate: N/A
       Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), none(tv, bt709), 1920x1080, 17079 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)
       Metadata:
         rotate          : 90
         creation_time   : 2019-10-17T11:32:34.000000Z
         handler_name    : VideoHandle
       Side data:
         displaymatrix: rotation of -90.00 degrees
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
       Metadata:
         creation_time   : 2019-10-17T11:32:34.000000Z
         handler_name    : SoundHandle
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
     Stream #0:0 -> #1:0 (h264 (native) -> mjpeg (native))
    [mov,mp4,m4a,3gp,3g2,mj2 @ 000001c49b5ee3c0] stream 0, offset 0x20: partial file
    pipe:0: Invalid data found when processing input
    Cannot determine format of input stream 0:0 after EOF
    Error marking filters as finished
    Conversion failed!
    ffmpeg(stream)
           .outputOptions('-movflags', 'faststart')
          // .size('1320x438')
           .videoCodec('libx264')
           .toFormat('avi')
           .output(fileName)
           .on('error', function(err: { message: string; }, stdout: any, stderr: any) {
             console.log('an error happened: ' + err.message + stdout + stderr);
            })
           .on('end', function() {
             console.log('Finished processing video');
             const params = {
               Body: fs.createReadStream(fileName),
               Bucket: videoBucket,
               Key: 'test/modification/' + fileName,
             };
             s3.putObject(params, (err, data) => {
               if (err) {
                 console.log(err);
               }
             });
           })
           .output(screensName + '.jpg')
           .outputOptions(
             '-frames',
             '1', // Capture just one frame of the video
             '-vf',
             'blackdetect=d=2:pix_th=0.00',
           )
           .on('end', function() {
             console.log('Finished processing screenshot');
             const params = {
               Body: fs.createReadStream(screensName + '.jpg'),
               Bucket: videoBucket,
               Key: 'test/shots/' + screensName + '.jpg',
             };
             s3.putObject(params, (err, data) => {
               if (err) {
                 console.log(err);
               }
             });
           })
           .run();