Recherche avancée

Médias (1)

Mot : - Tags -/stallman

Autres articles (84)

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

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (10722)

  • avutil : remove deprecated FF_API_FRAME_KEY

    19 février, par James Almer
    avutil : remove deprecated FF_API_FRAME_KEY
    

    Deprecated since 2023-05-04.

    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavcodec/decode.c
    • [DH] libavcodec/encode.c
    • [DH] libavfilter/buffersrc.c
    • [DH] libavfilter/vf_coreimage.m
    • [DH] libavfilter/vsrc_gradients.c
    • [DH] libavutil/frame.c
    • [DH] libavutil/frame.h
    • [DH] libavutil/version.h
  • ffprobe newer version detect audio codec incorrectly

    16 janvier, par alancc

    I find a strange problem.

    &#xA;

    I have a test video with h264 video codec and aac audio codec. It is at https://drive.google.com/file/d/1YAyz5cO0kb9r0MgahCpISR4bZ_1_n8PL/view?usp=sharing

    &#xA;

    I build a ffmpeg version by myself, its version is :

    &#xA;

    ffprobe version 7.0.2 Copyright (c) 2007-2024 the FFmpeg developers&#xA;  built with gcc 14.1.0 (Rev3, Built by MSYS2 project)&#xA;  configuration: --enable-shared&#xA;  libavutil      59.  8.100 / 59.  8.100&#xA;  libavcodec     61.  3.100 / 61.  3.100&#xA;  libavformat    61.  1.100 / 61.  1.100&#xA;  libavdevice    61.  1.100 / 61.  1.100&#xA;  libavfilter    10.  1.100 / 10.  1.100&#xA;  libswscale      8.  1.100 /  8.  1.100&#xA;  libswresample   5.  1.100 /  5.  1.100&#xA;

    &#xA;

    I then use ffprobe to get its info :

    &#xA;

    ffprobe -v quiet -print_format ini -show_streams -show_packets test_h264.mp4 > test_h264.ini&#xA;

    &#xA;

    Then I get an ini file which shows the audio codec as MP2 :

    &#xA;

    [streams.stream.0]&#xA;index=0&#xA;codec_name=mp2&#xA;codec_long_name=MP2 (MPEG audio layer 2)&#xA;profile=unknown&#xA;codec_type=audio&#xA;codec_tag_string=mp4a&#xA;codec_tag=0x6134706d&#xA;sample_fmt=fltp&#xA;sample_rate=44100&#xA;channels=2&#xA;channel_layout=stereo&#xA;bits_per_sample=0&#xA;initial_padding=0&#xA;id=0x1&#xA;r_frame_rate=0/0&#xA;avg_frame_rate=0/0&#xA;time_base=1/44100&#xA;start_pts=2788&#xA;start_time=0.063220&#xA;duration_ts=435455&#xA;duration=9.874263&#xA;bit_rate=127706&#xA;max_bit_rate=N/A&#xA;bits_per_raw_sample=N/A&#xA;nb_frames=378&#xA;nb_read_frames=N/A&#xA;nb_read_packets=378&#xA;

    &#xA;

    Another developer he uses his version of ffprobe :

    &#xA;

    ffprobe version 2023-02-22-git-d5cc7acff1-full_build-www.gyan.dev Copyright (c) 2007-2023 the FFmpeg developers  &#xA;

    &#xA;

    Based on the year, my version(2024) should be newer than his(2023), but his version of ffprobe can get the audio codec properly :

    &#xA;

    [streams.stream.1]&#xA;index=1&#xA;codec_name=aac&#xA;codec_long_name=AAC (Advanced Audio Coding)&#xA;profile=LC&#xA;codec_type=audio&#xA;codec_tag_string=mp4a&#xA;codec_tag=0x6134706d&#xA;sample_fmt=fltp&#xA;sample_rate=44100&#xA;channels=2&#xA;channel_layout=stereo&#xA;bits_per_sample=0&#xA;initial_padding=0&#xA;id=0x2&#xA;r_frame_rate=0/0&#xA;avg_frame_rate=0/0&#xA;time_base=1/44100&#xA;start_pts=1764&#xA;start_time=0.040000&#xA;duration_ts=436480&#xA;duration=9.897506&#xA;bit_rate=111733&#xA;max_bit_rate=N/A&#xA;bits_per_raw_sample=N/A&#xA;nb_frames=427&#xA;nb_read_frames=N/A&#xA;nb_read_packets=427&#xA;extradata_size=5&#xA;

    &#xA;

    Why ?

    &#xA;

    I also tried a ffprobe version on ubuntu with the following version :

    &#xA;

    ffprobe version 6.1.1-3ubuntu5 Copyright (c) 2007-2023 the FFmpeg developers&#xA;  built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)&#xA;  configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared&#xA;  libavutil      58. 29.100 / 58. 29.100&#xA;  libavcodec     60. 31.102 / 60. 31.102&#xA;  libavformat    60. 16.100 / 60. 16.100&#xA;  libavdevice    60.  3.100 / 60.  3.100&#xA;  libavfilter     9. 12.100 /  9. 12.100&#xA;  libswscale      7.  5.100 /  7.  5.100&#xA;  libswresample   4. 12.100 /  4. 12.100&#xA;  libpostproc    57.  3.100 / 57.  3.100&#xA;

    &#xA;

    It will detect the audio as aac properly, but with different parameters, for example, bit_rate is 111733(developer) but 110399(ubuntu). But this parameter comes from the same file so should be the same.

    &#xA;

    [streams.stream.1]&#xA;index=1&#xA;codec_name=aac&#xA;codec_long_name=AAC (Advanced Audio Coding)&#xA;profile=LC&#xA;codec_type=audio&#xA;codec_tag_string=mp4a&#xA;codec_tag=0x6134706d&#xA;sample_fmt=fltp&#xA;sample_rate=44100&#xA;channels=2&#xA;channel_layout=stereo&#xA;bits_per_sample=0&#xA;initial_padding=0&#xA;id=0x2&#xA;r_frame_rate=0/0&#xA;avg_frame_rate=0/0&#xA;time_base=1/44100&#xA;start_pts=0&#xA;start_time=0.000000&#xA;duration_ts=441353&#xA;duration=10.008005&#xA;bit_rate=110399&#xA;max_bit_rate=N/A&#xA;bits_per_raw_sample=N/A&#xA;nb_frames=432&#xA;nb_read_frames=N/A&#xA;nb_read_packets=432&#xA;extradata_size=5&#xA;&#xA;

    &#xA;

  • ffmpeg.wasm - How to do literally anything with a blob url

    24 novembre 2024, par SeriousLee

    I'm using the ffmpeg.wasm for the first time and I can't get anything working, beyond loading it. I have this function that does nothing in particular (I got it from the vite + react example in the docs, slightly modified) and all I want to do is pass it a blob URL like this blob:http://localhost:5173/c7a9ea7c-aa26-4f4f-9c80-11b8aef3e81f and run through the function and have it give me anything back. But instead, it hangs on the ffmpeg.exec command and never completes. And yes, I've determined that the input blob does work - it's an 8MB, 12-second long mp4 clip.

    &#xA;

    Here's the function :

    &#xA;

        const processOutputVideo = async (videoURL) => {&#xA;      const ffmpeg = ffmpegRef.current;&#xA;&#xA;      await ffmpeg.writeFile("input.mp4", await fetchFile(videoURL));&#xA;      await ffmpeg.exec(["-i", "input.mp4", "output.mp4"]);&#xA;&#xA;      const fileData = await ffmpeg.readFile("output.mp4");&#xA;      const blob = new Blob([fileData.buffer], { type: "video/mp4" });&#xA;      const blobUrl = URL.createObjectURL(blob);&#xA;&#xA;      return blobUrl;&#xA;    };&#xA;

    &#xA;

    And here's the ffmpeg logs from my terminal.

    &#xA;

    [FFMPEG stderr] ffmpeg version 5.1.4 Copyright (c) 2000-2023 the FFmpeg developers&#xA;Post.jsx:35 [FFMPEG stderr]   built with emcc (Emscripten gcc/clang-like replacement &#x2B; linker emulating GNU ld) 3.1.40 (5c27e79dd0a9c4e27ef2326841698cdd4f6b5784)&#xA;Post.jsx:35 [FFMPEG stderr]   configuration: --target-os=none --arch=x86_32 --enable-cross-compile --disable-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --nm=emnm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em&#x2B;&#x2B; --objcc=emcc --dep-cc=emcc --extra-cflags=&#x27;-I/opt/include -O3 -msimd128 -sUSE_PTHREADS -pthread&#x27; --extra-cxxflags=&#x27;-I/opt/include -O3 -msimd128 -sUSE_PTHREADS -pthread&#x27; --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libopus --enable-zlib --enable-libwebp --enable-libfreetype --enable-libfribidi --enable-libass --enable-libzimg&#xA;Post.jsx:35 [FFMPEG stderr]   libavutil      57. 28.100 / 57. 28.100&#xA;Post.jsx:35 [FFMPEG stderr]   libavcodec     59. 37.100 / 59. 37.100&#xA;Post.jsx:35 [FFMPEG stderr]   libavformat    59. 27.100 / 59. 27.100&#xA;Post.jsx:35 [FFMPEG stderr]   libavdevice    59.  7.100 / 59.  7.100&#xA;Post.jsx:35 [FFMPEG stderr]   libavfilter     8. 44.100 /  8. 44.100&#xA;Post.jsx:35 [FFMPEG stderr]   libswscale      6.  7.100 /  6.  7.100&#xA;Post.jsx:35 [FFMPEG stderr]   libswresample   4.  7.100 /  4.  7.100&#xA;Post.jsx:35 [FFMPEG stderr]   libpostproc    56.  6.100 / 56.  6.100&#xA;Post.jsx:35 [FFMPEG stderr] Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;input.mp4&#x27;:&#xA;Post.jsx:35 [FFMPEG stderr]   Metadata:&#xA;Post.jsx:35 [FFMPEG stderr]     major_brand     : mp42&#xA;Post.jsx:35 [FFMPEG stderr]     minor_version   : 0&#xA;Post.jsx:35 [FFMPEG stderr]     compatible_brands: mp42mp41isomavc1&#xA;Post.jsx:35 [FFMPEG stderr]     creation_time   : 2019-03-15T17:39:05.000000Z&#xA;Post.jsx:35 [FFMPEG stderr]   Duration: 00:00:12.82, start: 0.000000, bitrate: 5124 kb/s&#xA;Post.jsx:35 [FFMPEG stderr]   Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080, 4985 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)&#xA;Post.jsx:35 [FFMPEG stderr]     Metadata:&#xA;Post.jsx:35 [FFMPEG stderr]       creation_time   : 2019-03-15T17:39:05.000000Z&#xA;Post.jsx:35 [FFMPEG stderr]       handler_name    : L-SMASH Video Handler&#xA;Post.jsx:35 [FFMPEG stderr]       vendor_id       : [0][0][0][0]&#xA;Post.jsx:35 [FFMPEG stderr]       encoder         : AVC Coding&#xA;Post.jsx:35 [FFMPEG stderr]   Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 137 kb/s (default)&#xA;Post.jsx:35 [FFMPEG stderr]     Metadata:&#xA;Post.jsx:35 [FFMPEG stderr]       creation_time   : 2019-03-15T17:39:05.000000Z&#xA;Post.jsx:35 [FFMPEG stderr]       handler_name    : L-SMASH Audio Handler&#xA;Post.jsx:35 [FFMPEG stderr]       vendor_id       : [0][0][0][0]&#xA;Post.jsx:35 [FFMPEG stderr] Stream mapping:&#xA;Post.jsx:35 [FFMPEG stderr]   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))&#xA;Post.jsx:35 [FFMPEG stderr]   Stream #0:1 -> #0:1 (aac (native) -> aac (native))&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0x154e4f0] using cpu capabilities: none!&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0x154e4f0] profile High, level 4.0, 4:2:0, 8-bit&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0x154e4f0] 264 - core 164 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00&#xA;

    &#xA;

    And it just hangs there. When I use the example video URL from the official example (https://raw.githubusercontent.com/ffmpegwasm/testdata/master/video-15s.avi), it doesn't hang and it completes the function and returns me a blob URL in the same format as that first blob URL I showed you guys and this is what the ffmpeg output looks like in my console in that case :

    &#xA;

    Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] frame P:160   Avg QP:23.62  size:  1512&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] frame B:385   Avg QP:26.75  size:   589&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] consecutive B-frames:  5.5%  3.6%  0.0% 90.9%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] mb I  I16..4: 12.6% 87.4%  0.0%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] mb P  I16..4:  3.8% 47.5%  1.6%  P16..4: 12.9%  7.4%  5.0%  0.0%  0.0%    skip:21.7%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] mb B  I16..4:  1.2% 10.3%  0.4%  B16..8: 22.3%  6.9%  1.4%  direct: 2.7%  skip:54.8%  L0:46.9% L1:40.2% BI:12.9%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] 8x8 transform intra:88.7% inter:74.7%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] coded y,uvDC,uvAC intra: 68.3% 0.0% 0.0% inter: 11.8% 0.0% 0.0%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] i16 v,h,dc,p: 33% 40% 24%  3%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 26% 52%  2%  1%  1%  1%  1%  3%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 21% 20%  5%  5%  5%  4%  6%  5%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] i8c dc,h,v,p: 100%  0%  0%  0%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] Weighted P-Frames: Y:12.5% UV:0.0%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] ref P L0: 48.9% 12.5% 22.3% 14.7%  1.6%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] ref B L0: 77.5% 15.7%  6.8%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] ref B L1: 90.9%  9.1%&#xA;Post.jsx:35 [FFMPEG stderr] [libx264 @ 0xdf3000] kb/s:242.65&#xA;Post.jsx:35 [FFMPEG stderr] Aborted()&#xA;

    &#xA;

    Where am I going wrong, what should I convert my input blob into ? And just FYI, ChatGPT has been completely garbage at helping me solve this lmao.

    &#xA;