Recherche avancée

Médias (0)

Mot : - Tags -/serveur

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

Autres articles (17)

  • 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

  • Configuration spécifique d’Apache

    4 février 2011, par

    Modules spécifiques
    Pour la configuration d’Apache, il est conseillé d’activer certains modules non spécifiques à MediaSPIP, mais permettant d’améliorer les performances : mod_deflate et mod_headers pour compresser automatiquement via Apache les pages. Cf ce tutoriel ; mode_expires pour gérer correctement l’expiration des hits. Cf ce tutoriel ;
    Il est également conseillé d’ajouter la prise en charge par apache du mime-type pour les fichiers WebM comme indiqué dans ce tutoriel.
    Création d’un (...)

  • Participer à sa documentation

    10 avril 2011

    La documentation est un des travaux les plus importants et les plus contraignants lors de la réalisation d’un outil technique.
    Tout apport extérieur à ce sujet est primordial : la critique de l’existant ; la participation à la rédaction d’articles orientés : utilisateur (administrateur de MediaSPIP ou simplement producteur de contenu) ; développeur ; la création de screencasts d’explication ; la traduction de la documentation dans une nouvelle langue ;
    Pour ce faire, vous pouvez vous inscrire sur (...)

Sur d’autres sites (5355)

  • imgutils : add function to clear an image to black

    22 juillet 2017, par wm4
    imgutils : add function to clear an image to black
    

    Black isn't always just memset(ptr, 0, size). Limited YUV in particular
    requires relatively non-obvious values, and filling a frame with
    repeating 0 bytes is disallowed in some contexts. With component sizes
    larger than 8 or packed YUV, this can become relatively complicated. So
    having a generic function for this seems helpful.

    In order to handle the complex cases in a generic way without destroying
    performance, this code attempts to compute a black pixel, and then uses
    that value to clear the image data quickly by using a function like
    memset.

    Common cases like yuv410p10 or rgba can't be handled with a simple
    memset, so there is some code to fill memory with 2/4/8 byte patterns.
    For the remaining cases, a generic slow fallback is used.

    Signed-off-by : Anton Khirnov <anton@khirnov.net>

    Merged from Libav commit 45df7adc1d9b7.

    • [DH] doc/APIchanges
    • [DH] libavutil/imgutils.c
    • [DH] libavutil/imgutils.h
    • [DH] libavutil/version.h
  • Scan video file to detect black page or color/bar tone

    7 février 2023, par sol

    commandline script that will scan bar and tones using nodejs and ffmpeg

    &#xA;

    ffmpeg -i sample.mp4 -vf -loop 1 -i colorbars.jpg -filter_complex \ "[0:v][1:v]blend=difference:shortest=1,blackframe" \ -an -f null -&#xA;

    &#xA;

  • MKV video playback shows a black picture and audio plays good

    24 mars 2023, par gbriones.gdl

    I have an MKV video file that has something wrong, every time I start my player, the video shows full black picture and the audio starts playing good, if I use the seek bar to position the playback anywhere in the time, then the video shows correct picture but audio stops playing, eventually (it takes several seconds) audio starts playing again in sync with video.

    &#xA;

    The player I am using is the one in Kodi 20.1.0, I have tried enabling/disabling HW acceleration without success.

    &#xA;

    I also tried VLC 3.0.16, which has a simmilar behavior with the exception that video starts showing from the very begining when opening the file, just when seeking the audio stops for several seconds.

    &#xA;

    I also tried using ffmpeg to reencode the video with different codecs without success, I have tried multiple video and audio codec combinations, and also tried changing the pixel format.

    &#xA;

    Then eventually I managed to fix the video by extracting streams into separate files, then merge them again, without reencoding, I thought that maybe something could be wrong with the metadata of the video, so I copied the same metadata and final output file still works fine. My question is how can I fix my video without having to split and merge streams ?

    &#xA;

    Here is the info about my input file :

    &#xA;

    $ ffmpeg -i S01E08.mkv &#xA;ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers&#xA;  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)&#xA;  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared&#xA;  libavutil      56. 70.100 / 56. 70.100&#xA;  libavcodec     58.134.100 / 58.134.100&#xA;  libavformat    58. 76.100 / 58. 76.100&#xA;  libavdevice    58. 13.100 / 58. 13.100&#xA;  libavfilter     7.110.100 /  7.110.100&#xA;  libswscale      5.  9.100 /  5.  9.100&#xA;  libswresample   3.  9.100 /  3.  9.100&#xA;  libpostproc    55.  9.100 / 55.  9.100&#xA;Input #0, matroska,webm, from &#x27;S01E08.mkv&#x27;:&#xA;  Metadata:&#xA;    ENCODER         : Lavf59.27.100&#xA;  Duration: 00:25:02.21, start: 0.000000, bitrate: 1382 kb/s&#xA;  Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt470bg/unknown/unknown, progressive), 1280x960, 59.94 fps, 59.94 tbr, 1k tbn, 59.94 tbc&#xA;    Metadata:&#xA;      ENCODER         : Lavc59.37.100 libx265&#xA;      DURATION        : 00:25:00.032000000&#xA;  Stream #0:1(spa): Audio: aac (HE-AAC), 48000 Hz, stereo, fltp (default)&#xA;    Metadata:&#xA;      title           : Stereo&#xA;      DURATION        : 00:25:02.207000000&#xA;  Stream #0:2(jpn): Audio: aac (HE-AAC), 48000 Hz, stereo, fltp&#xA;    Metadata:&#xA;      title           : Stereo&#xA;      DURATION        : 00:25:00.116000000&#xA;  Stream #0:3(spa): Subtitle: ass&#xA;    Metadata:&#xA;      ENCODER         : Lavc59.37.100 ssa&#xA;      DURATION        : 00:24:56.585000000&#xA;At least one output file must be specified&#xA;

    &#xA;

    Here are the steps I followed to fix the video, I had to use mkv format for the outputs because other formats were no good at writing metadata :

    &#xA;

    ffmpeg -i S01E08.mkv -map 0:v:0 -c:v copy -map_metadata 0 video.mkv&#xA;ffmpeg -i S01E08.mkv -map 0:a:0 -c:a copy -map_metadata 0 audio1.mkv&#xA;ffmpeg -i S01E08.mkv -map 0:a:1 -c:a copy -map_metadata 0 audio2.mkv&#xA;ffmpeg -i S01E08.mkv -map 0:s -c:s copy -map_metadata 0 subs.mkv&#xA;ffmpeg -i video.mkv -i audio1.mkv -i audio2.mkv -i subs.mkv -map 0:v -map 1:a -map 2:a -map 3:s -c:v copy -c:a copy -c:s copy -map_metadata 0 -map_metadata 1 -map_metadata 2 -map_metadata 3 -disposition:s:0 0 -default_mode infer_no_subs video_audio.mkv&#xA;

    &#xA;

    I had to compare both input and output files :

    &#xA;

    $ ffmpeg -i video_audio.mkv&#xA;ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers&#xA;  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)&#xA;  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared&#xA;  libavutil      56. 70.100 / 56. 70.100&#xA;  libavcodec     58.134.100 / 58.134.100&#xA;  libavformat    58. 76.100 / 58. 76.100&#xA;  libavdevice    58. 13.100 / 58. 13.100&#xA;  libavfilter     7.110.100 /  7.110.100&#xA;  libswscale      5.  9.100 /  5.  9.100&#xA;  libswresample   3.  9.100 /  3.  9.100&#xA;  libpostproc    55.  9.100 / 55.  9.100&#xA;Input #0, matroska,webm, from &#x27;video_audio.mkv&#x27;:&#xA;  Metadata:&#xA;    ENCODER         : Lavf58.76.100&#xA;  Duration: 00:25:02.21, start: 0.000000, bitrate: 1382 kb/s&#xA;  Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt470bg/unknown/unknown, progressive), 1280x960, 59.94 fps, 59.94 tbr, 1k tbn, 59.94 tbc (default)&#xA;    Metadata:&#xA;      ENCODER         : Lavc59.37.100 libx265&#xA;      DURATION        : 00:25:00.031000000&#xA;  Stream #0:1(spa): Audio: aac (HE-AAC), 48000 Hz, stereo, fltp (default)&#xA;    Metadata:&#xA;      title           : Stereo&#xA;      DURATION        : 00:25:02.207000000&#xA;  Stream #0:2(jpn): Audio: aac (HE-AAC), 48000 Hz, stereo, fltp&#xA;    Metadata:&#xA;      title           : Stereo&#xA;      DURATION        : 00:25:00.116000000&#xA;  Stream #0:3(spa): Subtitle: ass&#xA;    Metadata:&#xA;      ENCODER         : Lavc59.37.100 ssa&#xA;      DURATION        : 00:24:56.585000000&#xA;At least one output file must be specified&#xA;&#xA;$ ffprobe -show_streams S01E08.mkv > probe_bad.txt&#xA;$ ffprobe -show_streams video_audio.mkv > probe_good.txt&#xA;$ diff probe_bad.txt probe_good.txt &#xA;32,33c32,33&#xA;&lt; duration_ts=1502207&#xA;&lt; duration=1502.207000&#xA;---&#xA;> duration_ts=N/A&#xA;> duration=N/A&#xA;40c40&#xA;&lt; DISPOSITION:default=0&#xA;---&#xA;> DISPOSITION:default=1&#xA;53c53&#xA;&lt; TAG:DURATION=00:25:00.032000000&#xA;---&#xA;> TAG:DURATION=00:25:00.031000000&#xA;

    &#xA;

    Then I thought that maybe the disposition flag in the video stream was causing the error, so I ran ffmpeg to copy all streams from my input video S01E08.mkv and added the disposition flag with the following command :

    &#xA;

    ffmpeg -i S01E08.mkv -map 0:v -map 0:a:0 -map 0:a:1 -map 0:s -c:v copy -c:a copy -c:s copy -map_metadata 0 -disposition:v:0 default -disposition:s:0 0 -default_mode infer_no_subs test.mkv&#xA;

    &#xA;

    Still no luck, test.mkv shows no video when opening the file, I had to double check that disposition flag was changed :

    &#xA;

    $ ffprobe -show_streams test.mkv > probe_bad2.txt&#xA;$ diff probe_bad.txt probe_bad2.txt &#xA;40c40&#xA;&lt; DISPOSITION:default=0&#xA;---&#xA;> DISPOSITION:default=1&#xA;53c53&#xA;&lt; TAG:DURATION=00:25:00.032000000&#xA;---&#xA;> TAG:DURATION=00:25:00.031000000&#xA;

    &#xA;

    In other words I have to focibly split and merge to make the file work correctly. May be I need to set the duration and duration_ts of the video stream to N/A but I don't know how to do this.

    &#xA;