Recherche avancée

Médias (0)

Mot : - Tags -/masques

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

Autres articles (100)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

  • Formulaire personnalisable

    21 juin 2013, par

    Cette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
    Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire. (...)

Sur d’autres sites (5727)

  • avfilter : remove deprecated FF_API_LINK_PUBLIC

    19 février, par James Almer
    avfilter : remove deprecated FF_API_LINK_PUBLIC
    

    Deprecated since 2024-03-08.

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

    • [DH] libavfilter/avfilter.c
    • [DH] libavfilter/avfilter.h
    • [DH] libavfilter/version_major.h
  • Increased File Size When Converting MP4 to WebM using FFmpeg

    23 décembre 2024, par kimgijeong

    I am using FFmpeg to convert MP4 to WebM with the following command :

    &#xA;

    ffmpeg -y -hide_banner -nostats \&#xA;-f mov,mp4,m4a,3gp,3g2,mj2 -i "http://127.0.0.1:80/lotteon-low-bitrate.mp4" \&#xA;-threads auto -f webm -acodec libopus -b:a 96.059k -vcodec libsvtav1 -preset 11 -pix_fmt yuv420p \&#xA;-vf "scale=&#x27;min(-1, iw)&#x27;:&#x27;min(-1,ih)&#x27;:force_original_aspect_ratio=decrease,crop=trunc(iw/2)*2:trunc(ih/2)*2" \&#xA;"/usr/local/m2/m2temp/xcdrtmp/2052_1.webm"&#xA;

    &#xA;

    However, the output webm file size is larger than the source MP4 file. For example :

    &#xA;

      &#xA;
    • Source MP4 : 4.6 MB (bit rate : 994,053 bps)

      &#xA;

    • &#xA;

    • Output WebM : 16 MB (bit rate : 3,902,037 bps)

      &#xA;

    • &#xA;

    &#xA;

    I know SVT-AV1 encoder defaults to CRF mode. Due to not specifying the bitrate explicitly, the SVT-AV1 encoder automatically sets the bit_rate. It appears that the encoder is setting it to a much higher value (3,323,104 bps), causing the increase in file size compared to the source MP4 (994,053 bps). Here are the methods i tried to reduce the WebM file size compared to the source MP4 :

    &#xA;

      &#xA;
    1. -b:v 994k
    2. &#xA;

    &#xA;

    I tried to match the target bitrate with the source MP4's bitrate to reduce the output size, but encountered the following error :

    &#xA;

    Svt[error]: Instance 1: Force key frames is not supported for VBR mode Last message r&#xA;epeated 2 times [libsvtav1 @ 0x239dd100] Error setting encoder parameters: bad parameter (0x80001005)&#xA;

    &#xA;

    Looking at the official documentation, this mode change (from CRF to VBR when setting a target bitrate) appears to be expected behavior. However, the error is puzzling since I haven't set any force keyframe parameters in the FFmpeg command.

    &#xA;

      &#xA;
    1. svtav1-params "mbr=994k"
    2. &#xA;

    &#xA;

    The second method i tried was using the svtav1-params "mbr=994k" option to set the maxrate while maintaining CRF mode This method showed some improvement, but the output file size was still larger than the source MP4.

    &#xA;

      &#xA;
    • Output WebM : 5MB (bit rate : 1,209,877 bps)
    • &#xA;

    &#xA;

    The more critical reason why we can't adopt the second method (using svtav1-params "mbr=994k") is that even for the same MP4 source file, the output file size varies slightly with each encoding.

    &#xA;

      &#xA;
    1. -b:v 994k -svtav1-params “rc=2:pred-struct=1”(CBR, low delay)
    2. &#xA;

    &#xA;

    The final method I tried was setting the target bitrate while using CBR (Constant Bit Rate) and low-delay mode The default value for pred-structure is 2(random access), but I had to use low-delay mode due to the following error :

    &#xA;

    Svt[error]: CBR Rate control is currently not supported for SVT_AV1_PRED_RANDOM_ACCESS, use VBR mode&#xA;

    &#xA;

    This way was the only approach among those i tried that successfully reduced the output size.

    &#xA;

      &#xA;
    • Output WebM : 4.3MB (bit rate : 1,032,373 bps)
    • &#xA;

    &#xA;

    In summary, I have three questions about this MP4 to WebM conversion issue :

    &#xA;

      &#xA;
    1. When setting the target bitrate with -b:v 994k, the switch to VBR mode is expected behavior. However, why does the force keyframe error occur when we haven't explicitly set any force keyframe parameters ?

      &#xA;

    2. &#xA;

    3. Why does the output WebM file size fluctuate when setting maxrate either through -maxrate or svtav1-params "mbr=994k", even when using the same MP4 source file ?

      &#xA;

    4. &#xA;

    5. Besides using -b:v 994k -svtav1-params "rc=2:pred-struct=1" (CBR with low delay), are there any other methods that can guarantee a WebM output size smaller than the source MP4 when converting from MP4 to WebM ?

      &#xA;

    6. &#xA;

    &#xA;

    I am using a recent version of the SVT-AV1 codec :

    &#xA;

    Svt[info]: SVT [version]:       SVT-AV1 Encoder Lib 58146ca&#xA;Svt[info]: SVT [build]  :       GCC 11.5.0 20240719 (Red Hat 11.5.0-2)   64 bit&#xA;Svt[info]: LIB Build date: Oct 28 2024 07:40:59&#xA;ffmpeg video svt-av1&#xA;

    &#xA;

  • 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;