Recherche avancée

Médias (91)

Autres articles (68)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

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

  • FFmpeg av_dump_format showing incorrect output, but ffprobe displays correct metadata

    29 janvier, par グルグル

    I use ffmpeg 7.1 source build on windows and compilation configuration as follow :

    


    configuration:
  --toolchain=msvc
  --arch=x86_64
  --enable-x86asm
  --enable-asm
  --enable-shared
  --enable-w32threads
  --prefix=/D/build


    


    When I use av_dump_format to print metadata of test.mp3, it display the incorrect information.

    


    extern "C"&#xA;{&#xA;#include <libavformat></libavformat>avformat.h>&#xA;}&#xA;&#xA;int main()&#xA;{ &#xA;    av_log_set_level(AV_LOG_DEBUG);&#xA;&#xA;    auto url = "D:/music/test.mp3";&#xA;&#xA;    AVFormatContext* fmt;&#xA;    auto ret = avformat_open_input(&amp;fmt, url, nullptr, nullptr);&#xA;    if (ret &lt; 0)&#xA;    {&#xA;        av_log(nullptr, AV_LOG_ERROR, "Cannot open %s format : %s", url, av_err2str(ret));&#xA;        exit(EXIT_FAILURE);&#xA;    }&#xA;&#xA;    av_dump_format(fmt, 0, url, 0);&#xA;}&#xA;

    &#xA;

    output

    &#xA;

    [AVFormatContext @ 000001768E65BC40] Opening &#x27;D:/music/test.mp3&#x27; for reading&#xA;[file @ 000001768E65C180] Setting default whitelist &#x27;file,crypto,data&#x27;&#xA;[mp3 @ 000001768E65BC40] Format mp3 probed with size=4096 and score=51&#xA;id3v2 ver:4 flags:00 len:35&#xA;[mp3 @ 000001768E65BC40] pad 576 576&#xA;[mp3 @ 000001768E65BC40] Skipping 0 bytes of junk at 462.&#xA;Input #0, mp3, from &#x27;D:/music/test.mp3&#x27;:&#xA;  Metadata:&#xA;    encoder         : Lavf58.76.100&#xA;  Duration: N/A, bitrate: N/A&#xA;  Stream #0:0, 0, 1/14112000: Audio: mp3, 0 channels&#xA;      Metadata:&#xA;        encoder         : Lavc58.13&#xA;

    &#xA;

    You can see the Stream info is useless.

    &#xA;

    But I use ffprobe which is built with same configuration to print metadata of test.mp3.

    &#xA;

    It's display normal.

    &#xA;

    ffprobe version 7.0.1 Copyright (c) 2007-2024 the FFmpeg developers&#xA;  built with Microsoft (R) C/C&#x2B;&#x2B; Optimizing Compiler Version 19.41.34123 for x64&#xA;  configuration: --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-asm --enable-shared --enable-w32threads --prefix=/D/build&#xA;  WARNING: library configuration mismatch&#xA;  avutil      configuration: --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-asm --enable-shared --enable-w32threads --disable-programs --disable-doc --disable-static --prefix=/D/build&#xA;  avcodec     configuration: --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-asm --enable-shared --enable-w32threads --disable-programs --disable-doc --disable-static --prefix=/D/build&#xA;  avformat    configuration: --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-asm --enable-shared --enable-w32threads --disable-programs --disable-doc --disable-static --prefix=/D/build&#xA;  avdevice    configuration: --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-asm --enable-shared --enable-w32threads --disable-programs --disable-doc --disable-static --prefix=/D/build&#xA;  avfilter    configuration: --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-asm --enable-shared --enable-w32threads --disable-programs --disable-doc --disable-static --prefix=/D/build&#xA;  swscale     configuration: --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-asm --enable-shared --enable-w32threads --disable-programs --disable-doc --disable-static --prefix=/D/build&#xA;  swresample  configuration: --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-asm --enable-shared --enable-w32threads --disable-programs --disable-doc --disable-static --prefix=/D/build&#xA;  libavutil      59.  8.100 / 59. 39.100&#xA;  libavcodec     61.  3.100 / 61. 19.100&#xA;  libavformat    61.  1.100 / 61.  7.100&#xA;  libavdevice    61.  1.100 / 61.  3.100&#xA;  libavfilter    10.  1.100 / 10.  4.100&#xA;  libswscale      8.  1.100 /  8.  3.100&#xA;  libswresample   5.  1.100 /  5.  3.100&#xA;Input #0, mp3, from &#x27;D:\music\test.mp3&#x27;:&#xA;  Metadata:&#xA;    encoder         : Lavf58.76.100&#xA;  Duration: 00:05:00.12, start: 0.025057, bitrate: 128 kb/s&#xA;  Stream #0:0: Audio: mp3 (mp3float), 44100 Hz, stereo, fltp, 128 kb/s&#xA;      Metadata:&#xA;        encoder         : Lavc58.13&#xA;

    &#xA;

    Why is av_dump_format not correctly showing stream information ? How can I fix it ?

    &#xA;

  • FFmpeg and reserved color primaries [closed]

    21 janvier, par Yoz

    I am trying to get thumbnails from a hevc video downloaded from https://github.com/stashapp/stash/issues/4124#issuecomment-1720057183 and it works with most recent ffmpeg 7.1 (installed via homebrew on mac) printing :

    &#xA;

    ffmpeg -i input.mp4 -frames:v 1 out.jpg&#xA;

    &#xA;

    ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers&#xA;  built with Apple clang version 16.0.0 (clang-1600.0.26.4)&#xA;  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1_4 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags=&#x27;-Wl,-ld_classic&#x27; --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon&#xA;  libavutil      59. 39.100 / 59. 39.100&#xA;  libavcodec     61. 19.100 / 61. 19.100&#xA;  libavformat    61.  7.100 / 61.  7.100&#xA;  libavdevice    61.  3.100 / 61.  3.100&#xA;  libavfilter    10.  4.100 / 10.  4.100&#xA;  libswscale      8.  3.100 /  8.  3.100&#xA;  libswresample   5.  3.100 /  5.  3.100&#xA;  libpostproc    58.  3.100 / 58.  3.100&#xA;[hevc @ 0x134f07530] VPS 0 does not exist&#xA;[hevc @ 0x134f07530] SPS 0 does not exist.&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;input.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: mp42iso2mp41&#xA;    creation_time   : 2023-09-14T19:46:05.000000Z&#xA;    encoder         : HandBrake 1.5.1 2022011000&#xA;  Duration: 00:01:26.05, start: 0.000000, bitrate: 231 kb/s&#xA;  Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/reserved/bt709), 648x648 [SAR 1:1 DAR 1:1], 188 kb/s, 30 fps, 30 tbr, 90k tbn (default)&#xA;      Metadata:&#xA;        creation_time   : 2023-09-14T19:46:05.000000Z&#xA;        handler_name    : VideoHandler&#xA;        vendor_id       : [0][0][0][0]&#xA;  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 36 kb/s (default)&#xA;      Metadata:&#xA;        creation_time   : 2023-09-14T19:46:05.000000Z&#xA;        handler_name    : Mono&#xA;        vendor_id       : [0][0][0][0]&#xA;[hevc @ 0x1358065c0] VPS 0 does not exist&#xA;[hevc @ 0x1358065c0] SPS 0 does not exist.&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (hevc (native) -> mjpeg (native))&#xA;Press [q] to stop, [?] for help&#xA;Output #0, image2, to &#x27;out.jpg&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: mp42iso2mp41&#xA;    encoder         : Lavf61.7.100&#xA;  Stream #0:0(und): Video: mjpeg, yuv420p(pc, bt709/reserved/bt709, progressive), 648x648 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 30 fps, 30 tbn (default)&#xA;      Metadata:&#xA;        creation_time   : 2023-09-14T19:46:05.000000Z&#xA;        handler_name    : VideoHandler&#xA;        vendor_id       : [0][0][0][0]&#xA;        encoder         : Lavc61.19.100 mjpeg&#xA;      Side data:&#xA;        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A&#xA;[image2 @ 0x134f16080] The specified filename &#x27;out.jpg&#x27; does not contain an image sequence pattern or a pattern is invalid.&#xA;[image2 @ 0x134f16080] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.&#xA;[out#0/image2 @ 0x134f10480] video:5KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown&#xA;frame=    1 fps=0.0 q=5.1 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=4.07x   &#xA;

    &#xA;

    however, when I use custom compiled ffmpeg.wasm it fails with :

    &#xA;

    ffmpeg version N-118050-ga518b5540d Copyright (c) 2000-2024 the FFmpeg developers&#xA;  built with emcc (Emscripten gcc/clang-like replacement &#x2B; linker emulating GNU ld) 3.1.73 (ac676d5e437525d15df5fd46bc2c208ec6d376a3)&#xA;  configuration: --target-os=none --arch=x86_32 --enable-cross-compile --enable-version3 --enable-zlib --enable-libaom --disable-encoder=libaom_av1 --enable-libopenh264 --enable-libkvazaar --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libopus --enable-libwebp --enable-libsvtav1 --enable-librubberband --disable-x86asm --disable-inline-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --extra-cflags=&#x27;-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128&#x27; --extra-cxxflags=&#x27;-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128&#x27; --extra-ldflags=&#x27;-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128 -L/ffmpeg-wasm/build/lib&#x27; --pkg-config-flags=--static --nm=emnm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em&#x2B;&#x2B; --objcc=emcc --dep-cc=emcc --enable-gpl --enable-libx264 --enable-libx265&#xA;  libavutil      59. 49.100 / 59. 49.100&#xA;  libavcodec     61. 26.100 / 61. 26.100&#xA;  libavformat    61.  9.100 / 61.  9.100&#xA;  libavdevice    61.  4.100 / 61.  4.100&#xA;  libavfilter    10.  6.101 / 10.  6.101&#xA;  libswscale      8. 12.100 /  8. 12.100&#xA;  libswresample   5.  4.100 /  5.  4.100&#xA;  libpostproc    58.  4.100 / 58.  4.100&#xA;[hevc @ 0x38d0000] VPS 0 does not exist&#xA;[hevc @ 0x38d0000] SPS 0 does not exist.&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;input.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: mp42iso2mp41&#xA;    creation_time   : 2023-09-14T19:46:05.000000Z&#xA;    encoder         : HandBrake 1.5.1 2022011000&#xA;  Duration: 00:01:26.05, start: 0.000000, bitrate: 231 kb/s&#xA;  Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/reserved/bt709), 648x648 [SAR 1:1 DAR 1:1], 188 kb/s, 30 fps, 30 tbr, 90k tbn (default)&#xA;    Metadata:&#xA;      creation_time   : 2023-09-14T19:46:05.000000Z&#xA;      handler_name    : VideoHandler&#xA;      vendor_id       : [0][0][0][0]&#xA;  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 36 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2023-09-14T19:46:05.000000Z&#xA;      handler_name    : Mono&#xA;      vendor_id       : [0][0][0][0]&#xA;[hevc @ 0x38d0300] VPS 0 does not exist&#xA;[hevc @ 0x38d0300] SPS 0 does not exist.&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (hevc (native) -> mjpeg (native))&#xA;Press [q] to stop, [?] for help&#xA;[swscaler @ 0x8ca0000] Unsupported input (Not supported): fmt:yuv420p csp:bt709 prim:reserved trc:bt709 -> fmt:yuv420p csp:bt709 prim:reserved trc:bt709&#xA;[vf#0:0 @ 0x3830900] Error while filtering: Not supported&#xA;[vf#0:0 @ 0x3830900] Task finished with error code: -138 (Not supported)&#xA;[vost#0:0/mjpeg @ 0x385ae40] [enc:mjpeg @ 0x3878b80] Could not open encoder before EOF&#xA;[vf#0:0 @ 0x3830900] Terminating thread with return code -138 (Not supported)&#xA;[vost#0:0/mjpeg @ 0x385ae40] Task finished with error code: -28 (Invalid argument)&#xA;[vost#0:0/mjpeg @ 0x385ae40] Terminating thread with return code -28 (Invalid argument)&#xA;[out#0/image2 @ 0x3851580] Nothing was written into output file, because at least one of its streams received no packets.&#xA;frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A    &#xA;Conversion failed!&#xA;Process finished with exit code -138.&#xA;

    &#xA;

    I figured out the issue is color primaries prim:reserved, and the command can be updated to a working one by re-writing input primaries as following :

    &#xA;

    ffmpeg -i input.mp4 -vf "colorspace=all=bt709:iprimaries=bt709" -frames:v 1 out.jpg&#xA;

    &#xA;

    However, I would like to compile ffmpeg.wasm so that it handles reserved primaries just like the one from homebrew.

    &#xA;

    Any idea what the compiled ffmpeg.wasm is missing ?

    &#xA;

  • libavformat : add RCWT closed caption muxex

    14 janvier 2024, par Marth64
    libavformat : add RCWT closed caption muxex
    

    Signed-off-by : Marth64 <marth64@proxyid.net>

    Raw Captions With Time (RCWT) is a format native to ccextractor, a commonly
    used open source tool for processing 608/708 closed caption (CC) sources.
    It can be used to archive the original, raw CC bitstream and to produce
    a source file file for later CC processing or conversion. As a result,
    it also allows for interopability with ccextractor for processing CC data
    extracted via ffmpeg. The format is simple to parse and can be used
    to retain all lines and variants of CC.

    A free specification of RCWT can be found here :
    https://github.com/CCExtractor/ccextractor/blob/master/docs/BINARY_FILE_FORMAT.TXT
    This muxer implements the specification as of 01/05/2024, which has
    been stable and unchanged for 10 years as of this writing.

    This muxer will have some nuances from the way that ccextractor muxes RCWT.
    No compatibility issues when processing the output with ccextractor
    have been observed as a result of this so far, but mileage may vary
    and outputs will not be a bit-exact match.

    Specifically, the differences are :
    (1) This muxer will identify as "FF" as the writing program identifier, so
    as to be honest about the output's origin.

    (2) ffmpeg's MPEG-1/2, H264, HEVC, etc. decoders extract closed captioning
    data differently than ccextractor from embedded SEI/user data.
    For example, DVD captioning bytes will be translated to ATSC A53 format.
    This allows ffmpeg to handle 608/708 in a consistant way downstream.
    This is a lossless conversion and the meaningful data is retained.

    (3) This muxer will not alter the extracted data except to remove invalid
    packets in between valid CC blocks. On the other hand, ccextractor
    will by default remove mid-stream padding, and add padding at the end
    of the stream (in order to convey the end time of the source video).

    • [DH] Changelog
    • [DH] doc/muxers.texi
    • [DH] libavformat/Makefile
    • [DH] libavformat/allformats.c
    • [DH] libavformat/rcwtenc.c
    • [DH] tests/fate/subtitles.mak