Recherche avancée

Médias (1)

Mot : - Tags -/biomaping

Autres articles (100)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (8921)

  • h.265 encoding with ffmpeg, video not playing correctly

    11 mars 2020, par DanielRieken

    I got a h.264 video I would like to encode to h.265 using FFmpeg :

    ffmpeg.exe -i h264source.mkv -vcodec libx265 -preset slower -threads 0 -crf 24 -an h265output.mkv

    The source h.264 video is a recording of a RTMP-stream. At some point the video stops moving for 3 seconds. This is because of connection-issues of the original RTMP-stream.
    Of course the resulting h.265 video also stops moving for 3 seconds at the same point. But other than the h.264 video, the picture of the h.265 video is not frozen for only 3 seconds, it is frozen until the end of the video.

    I am using VLCplayer 3.0.8 for playback and it shows the following messages for the h.265 video :

    avcodec: Using D3D11VA (NVIDIA GeForce GT 1030, vendor 10de(NVIDIA), device 1d01, revision a1) for hardware decoding
    avcodec error: hardware acceleration picture allocation failed
    avcodec error: hardware acceleration picture allocation failed
    avcodec error: hardware acceleration picture allocation failed
    avcodec error: avcodec_send_packet critical error

    When I disable hardware acceleration in VLCplayer the playback of the h.265 video works fine.

    Next I encoded the h.264 to h.265 using HandBrake 1.3.0 and the resulting h.265 video also works fine in VLCplayer with hardware acceleration enabled.

    So my question is :
    Why is the playback of the h.264 and the h.265-handbrake-videos working fine in VLCplayer but not the h.265-ffmpeg video ?

    When I encode the h.264 to huffyuv and then to h.265 using FFmpeg, the resulting h.265-video also works fine :

    ffmpeg.exe -i h264source.mkv -vcodec huffyuv -an huffyuv.mkv
    ffmpeg.exe -i huffyuv.mkv -vcodec libx265 -preset slower -threads 0 -crf 24 -an h265output.mkv

    I am using the windows build by Zeranoe, ffmpeg-4.2.2-win64-static.

    C:\ffmpeg>ffmpeg.exe -loglevel verbose -i h264source.mkv -vcodec libx265 -preset slower -threads 0 -crf 24 -an h265output.mkv
    ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 9.2.1 (GCC) 20200122
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --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. 31.100 / 56. 31.100
     libavcodec     58. 54.100 / 58. 54.100
     libavformat    58. 29.100 / 58. 29.100
     libavdevice    58.  8.100 / 58.  8.100
     libavfilter     7. 57.100 /  7. 57.100
     libswscale      5.  5.100 /  5.  5.100
     libswresample   3.  5.100 /  3.  5.100
     libpostproc    55.  5.100 / 55.  5.100
    [h264 @ 000001e8dc09d6c0] Reinit context to 864x480, pix_fmt: yuv420p
    Input #0, matroska,webm, from 'h264source.mkv':
     Metadata:
       COMPATIBLE_BRANDS: isomiso2avc1mp41
       MAJOR_BRAND     : isom
       MINOR_VERSION   : 512
       ENCODER         : Lavf58.29.100
     Duration: 00:01:55.67, start: 0.000000, bitrate: 958 kb/s
       Stream #0:0: Video: h264 (Constrained Baseline), 1 reference frame, yuv420p(progressive, left), 852x480 (864x480) [SAR 1:1 DAR 71:40], 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
       Metadata:
         ENCODER         : Lavc58.54.100 libx264
         DURATION        : 00:01:55.666000000
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
    Press [q] to stop, [?] for help
    [h264 @ 000001e8dc77b080] Reinit context to 864x480, pix_fmt: yuv420p
    [graph 0 input from stream 0:0 @ 000001e8dd38ee40] w:852 h:480 pixfmt:yuv420p tb:1/1000 fr:30/1 sar:1/1 sws_param:flags=2
    x265 [info]: HEVC encoder version 3.2ßacc5d16999e2
    x265 [info]: build info [Windows][GCC 9.2.1][64 bit] 8bit+10bit
    x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    x265 [info]: Main profile, Level-3 (Main tier)
    x265 [info]: Thread pool created using 16 threads
    x265 [info]: Slices                              : 1
    x265 [info]: frame threads / pool features       : 4 / wpp(8 rows)
    x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
    x265 [info]: Residual QT: max TU size, max depth : 32 / 3 inter / 3 intra
    x265 [info]: ME / range / subpel / merge         : star / 57 / 4 / 4
    x265 [info]: Keyframe min / max / scenecut / bias  : 25 / 250 / 40 / 5.00
    x265 [info]: Lookahead / bframes / badapt        : 40 / 8 / 2
    x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 1
    x265 [info]: References / ref-limit  cu / depth  : 5 / off / on
    x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
    x265 [info]: Rate Control / qCompress            : CRF-24.0 / 0.60
    x265 [info]: tools: rect amp limit-modes rd=6 psy-rd=2.00 rdoq=2 psy-rdoq=1.00
    x265 [info]: tools: rskip limit-tu=4 signhide tmvp b-intra
    x265 [info]: tools: strong-intra-smoothing deblock sao
    Output #0, matroska, to 'h265output.mkv':
     Metadata:
       COMPATIBLE_BRANDS: isomiso2avc1mp41
       MAJOR_BRAND     : isom
       MINOR_VERSION   : 512
       encoder         : Lavf58.29.100
       Stream #0:0: Video: hevc (libx265), 1 reference frame, yuv420p(left), 852x480 [SAR 1:1 DAR 71:40], q=2-31, 30 fps, 1k tbn, 30 tbc (default)
       Metadata:
         DURATION        : 00:01:55.666000000
         encoder         : Lavc58.54.100 libx265
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    No more output streams to write to, finishing
    frame= 3178 fps= 14 q=-0.0 Lsize=    5105kB time=00:01:55.56 bitrate= 361.9kbits/s speed=0.506x
    video:5080kB audio:0kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.492293%
    Input file #0 (h264source.mkv):
     Input stream #0:0 (video): 3178 packets read (13837009 bytes); 3178 frames decoded;
     Total: 3178 packets (13837009 bytes) demuxed
    Output file #0 (h265output.mkv):
     Output stream #0:0 (video): 3178 frames encoded; 3178 packets muxed (5201780 bytes);
     Total: 3178 packets (5201780 bytes) muxed
    [AVIOContext @ 000001e8dc77af40] Statistics: 8 seeks, 40 writeouts
    x265 [info]: frame I:     13, Avg QP:18.10  kb/s: 6779.10
    x265 [info]: frame P:   1754, Avg QP:22.52  kb/s: 619.00
    x265 [info]: frame B:   1411, Avg QP:31.19  kb/s: 50.69
    x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
    x265 [info]: Weighted B-Frames: Y:0.0% UV:0.0%
    x265 [info]: consecutive B-frames: 67.4% 8.3% 8.6% 10.9% 2.7% 2.0% 0.2% 0.0% 0.0%

    encoded 3178 frames in 228.50s (13.91 fps), 391.87 kb/s, Avg QP:26.35
    [AVIOContext @ 000001e8dc0936c0] Statistics: 13860805 bytes read, 0 seeks

    Any advices ?

  • what random function the ffmpeg filter expression called ?

    8 octobre 2020, par Wang

    for example this random(-1) in geq :

    


    ffmpeg -f lavfi -i nullsrc=s=10x10:r=25:d=4 -vf geq=lum='255':cb='255*random(-1)':cr='255*random(-1)',scale=200:200:flags=neighbor -bf 0 test.mp4


    


    I always get exactly the same color of first 2 pixels in the first frame. And the first frame always has very similar colors. Star from 3rd frame its start to getting better. Moreover, the random() seems only introduce random inside single frame. The sequence of first pixel of each frame is exactly the same :

    


    ffmpeg -f lavfi -i nullsrc=s=1x1:r=25:d=4 -vf geq=lum=255:cb='255*random(-1)':cr='255*random(-1)',scale=10:10:flags=neighbor -vframes 10 f%05d.png


    


    1st run

    


    2nd run

    


    I looked into source code, but I cannot see what random function actually get called :

    


            case e_random:{
            int idx= av_clip(eval_expr(p, e->param[0]), 0, VARS-1);
            uint64_t r= isnan(p->var[idx]) ? 0 : p->var[idx];
            r= r*1664525+1013904223;
            p->var[idx]= r;
            return e->value * (r * (1.0/UINT64_MAX));
        }



    


    How do I suppose to get proper randomness in the geq ?

    


  • What would cause video whose position is set and played at a certain millisecond, to not align with a video trimmed to that same millisecond position ?

    2 décembre 2020, par Cha Pa

    I have developed a windows C# application that allows you to cut clips of video that is synched to a transcript.

    


    The application has a video tuner that allows you to adjust the start and stops of the clip in .1, 1, 3 seconds and gives you a short 2 second preview of the start or 2 seconds leading up to the stop as a preview. Then you can cut that video into a small clip by pressing a create clip button.

    


    Because of of the nature of the provider of the videos, these videos are typically Mpeg1 that are over an hour long and are all varying in both in width/height dimensions as well as bitrate. Changing the format is not an option.

    


    My question is this. What would cause the video player to play earlier than where the video is cut using an ffmpeg wrapper ?

    


    I have developed a test version in winform with a mediaplayer control, a version in WPF with a mediacontrol player, and another winform with a vlcwrapper. All of them start early as compared to the ffmpeg cut. All of them start at a slightly different time from each other even though they are all provided the same millisecond time stamp. In fact testing directly with setting command line position to ffplay and vlc, they have slightly different start times when using the same position and both are different then the command line cut of ffmpeg.

    


    The infuriating thing is that when I compare the ffmpegwrapper exports they are dead on with another piece of software's playback preview and clip export. Every video I clip that has a different bitrate or resolution is sightly off to a differing number of milliseconds. One video may be .4 seconds off and another is 1.1. I would assume it was a delay due to the loading of the video and I can async await somehow, or assume it was a problem with the timer, except it starts EARLY not late. All 3 demos are some variation of the code below that grabs start time and end times and calls a timer to stop the video after playing the number of milliseconds calculated between the start and end. Even more peculiar, the shorter the timer, the shorter the start time appears to be off.

    


    Any thoughts on if it is an mpeg1 mpeg2 issue or a bitrate issue I can control to be consistent between videos without re-encoding every video ? Maybe even outside the box ways to put clips to memory stream or play the temp file quickly ?

    


    private void PreviewStartButton_Click(object sender, EventArgs e)
       {
           startPosition = Convert.ToSingle(startBox.Text);
           stopPosition = startPosition + 2; //gives you your 2 second preview of the star
           mediaPlayer.Ctlcontrols.currentPosition = origStartTime;
           mediaPlayer.Ctlcontrols.play();
           StopWmpPlayerTimer();
           StartWmpPlayerTimer();
       }