
Recherche avancée
Médias (17)
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (62)
-
Publier sur MédiaSpip
13 juin 2013Puis-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 -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe 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 (10861)
-
How do I get drawtext filter in ffmpeg to work on ubuntu 22.04 ?
3 décembre 2024, par chovyHere's my script, but no matter what I try the drawtext filter is not enabled :


#!/bin/bash

set -e # Exit on any error

# Define installation directories
INSTALL_DIR="$HOME/ffmpeg_build"
BIN_DIR="$HOME/bin"
SOURCE_DIR="$HOME/ffmpeg_sources"
NUM_CORES=$(nproc)

echo "Creating necessary directories..."
mkdir -p "$INSTALL_DIR" "$BIN_DIR" "$SOURCE_DIR"

# Install required tools and dependencies
echo "Installing build tools and essential libraries..."
sudo apt-get update
sudo apt-get install -y \
 autoconf automake build-essential cmake git-core libass-dev \
 libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev \
 libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev \
 meson ninja-build pkg-config texinfo wget yasm zlib1g-dev \
 nasm libnuma-dev libfdk-aac-dev libmp3lame-dev libopus-dev \
 libfreetype6 libdrm-dev mercurial

# Remove system-installed x264 and x265 to prevent conflicts
sudo apt-get remove -y libx264-dev libx265-dev x264 x265

# Build dependencies
cd "$SOURCE_DIR"

# Install libx264 (static)
if [ ! -d "$SOURCE_DIR/x264" ]; then
 echo "Building and installing libx264..."
 git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
 cd x264
 make distclean || true
 ./configure --prefix="$INSTALL_DIR" --enable-static --disable-opencl
 make -j$NUM_CORES
 make install
 cd "$SOURCE_DIR"
fi

# Install libx265 (static)
if [ ! -d "$SOURCE_DIR/x265" ]; then
 echo "Building and installing libx265..."
 git clone --depth 1 https://github.com/videolan/x265.git
 cd x265/build/linux
 cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
 -DENABLE_SHARED=OFF -DENABLE_PIC=ON -DENABLE_PKGCONFIG=ON ../../source
 make -j$NUM_CORES
 make install
 cd "$SOURCE_DIR"
fi

# Install libvpx (static)
if [ ! -d "$SOURCE_DIR/libvpx" ]; then
 echo "Building and installing libvpx..."
 git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
 cd libvpx
 ./configure --prefix="$INSTALL_DIR" --disable-examples --disable-unit-tests \
 --enable-vp9-highbitdepth --as=yasm --enable-static --enable-pic
 make -j$NUM_CORES
 make install
 cd "$SOURCE_DIR"
fi

# Install libopus (static)
if [ ! -d "$SOURCE_DIR/opus" ]; then
 echo "Building and installing libopus..."
 git clone --depth 1 https://github.com/xiph/opus.git
 cd opus
 ./autogen.sh
 ./configure --prefix="$INSTALL_DIR" --disable-shared
 make -j$NUM_CORES
 make install
 cd "$SOURCE_DIR"
fi

# Install libaom (static)
if [ ! -d "$SOURCE_DIR/aom" ]; then
 echo "Building and installing libaom..."
 git clone --depth 1 https://aomedia.googlesource.com/aom
 mkdir -p aom_build
 cd aom_build
 cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
 -DBUILD_SHARED_LIBS=0 -DENABLE_NASM=1 -DCMAKE_C_FLAGS="-fPIC" ../aom
 make -j$NUM_CORES
 make install
 cd "$SOURCE_DIR"
fi

# Build and install FFmpeg
echo "Building and installing FFmpeg..."
cd "$SOURCE_DIR"
if [ ! -d "$SOURCE_DIR/ffmpeg" ]; then
 git clone --depth 1 https://git.ffmpeg.org/ffmpeg.git ffmpeg
 cd ffmpeg
else
 cd ffmpeg
 git pull
fi

export PKG_CONFIG_PATH="$INSTALL_DIR/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/$(uname -m)-linux-gnu/pkgconfig:$PKG_CONFIG_PATH"

make distclean

./configure \
 --prefix="$INSTALL_DIR" \
 --pkg-config-flags="--static" \
 --extra-cflags="-I$INSTALL_DIR/include" \
 --extra-ldflags="-L$INSTALL_DIR/lib" \
 --extra-libs="-lpthread -lm" \
 --bindir="$BIN_DIR" \
 --enable-gpl \
 --enable-nonfree \
 --enable-libfreetype \
 --enable-libx264 \
 --enable-libvpx \
 --enable-libmp3lame \
 --enable-libopus \
 --enable-libass \
 --enable-libvorbis \
 --enable-libaom \
 --enable-libdrm \
 --enable-version3 \
 --enable-static \
 --disable-shared \
 --enable-small
 
make -j$NUM_CORES
make install

# Add ffmpeg to PATH
echo "export PATH=\"$BIN_DIR:\$PATH\"" >> "$HOME/.bashrc"
source "$HOME/.bashrc"

# Final checks
echo "FFmpeg installation complete. Verifying installation..."
ffmpeg -version




Here is my buildconf which appears correct :


$ ffmpeg -buildconf 

ffmpeg version N-117989-gcb27e478f7 Copyright (c) 2000-2024 the FFmpeg developers
 built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
 configuration: --prefix=/usr/local --extra-cflags=-I/home/ubuntu/src/ffmpeg_build/include --extra-ldflags=-L/home/ubuntu/src/ffmpeg_build/lib --bindir=/usr/local/bin --enable-gpl --enable-nonfree --enable-libfreetype --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libass --enable-libvorbis --enable-libaom --enable-libdrm --enable-version3 --enable-shared --enable-filter=drawtext libavutil 59. 47.101 / 59. 47.101 libavcodec 61. 26.100 / 61. 26.100 libavformat 61. 9.100 / 61. 9.100 libavdevice 61. 4.100 / 61. 4.100 libavfilter 10. 6.101 / 10. 6.101 libswscale 8. 12.100 / 8. 12.100 libswresample 5. 4.100 / 5. 4.100
 libpostproc 58. 4.100 / 58. 4.100

 configuration: --prefix=/usr/local
 --extra-cflags=-I/home/ubuntu/src/ffmpeg_build/include
 --extra-ldflags=-L/home/ubuntu/src/ffmpeg_build/lib
 --bindir=/usr/local/bin
 --enable-gpl --enable-nonfree --enable-libfreetype --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libass --enable-libvorbis --enable-libaom --enable-libdrm --enable-version3 --enable-shared --enable-filter=drawtext



However the filter drawtext is not enabled :


$ ffmpeg -filters | grep drawtext
ffmpeg version N-117989-gcb27e478f7 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04) configuration: --prefix=/usr/local --extra-cflags=-I/home/ubuntu/src/ffmpeg_build/include --extra-ldflags=-L/home/ubuntu/src/ffmpeg_build/lib --bindir=/usr/local/bin --enable-gpl --enable-nonfree --enable-libfreetype --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libass --enable-libvorbis --enable-libaom --enable-libdrm --enable-version3 --enable-shared --enable-filter=drawtext libavutil 59. 47.101 / 59. 47.101 libavcodec 61. 26.100 / 61. 26.100 libavformat 61. 9.100 / 61. 9.100 libavdevice 61. 4.100 / 61. 4.100 libavfilter 10. 6.101 / 10. 6.101 libswscale 8. 12.100 / 8. 12.100 libswresample 5. 4.100 / 5. 4.100 libpostproc 58. 4.100 / 58. 4.100



-
Increased File Size When Converting MP4 to WebM using FFmpeg
23 décembre 2024, par kimgijeongI am using FFmpeg to convert MP4 to WebM with the following command :


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



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


- 

-
Source MP4 : 4.6 MB (bit rate : 994,053 bps)


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








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 :


- 

-b:v 994k




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


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



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.


- 

svtav1-params "mbr=994k"




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.

- 

- Output WebM : 5MB (bit rate : 1,209,877 bps)




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.

- 

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




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 :


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



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


- 

- Output WebM : 4.3MB (bit rate : 1,032,373 bps)




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


- 

-
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 ?


-
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 ?


-
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 ?










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


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



-
-
FFMPEG, How to stream video and audio into one file with volume adjustment and video cropping [closed]
24 décembre 2024, par Unlock iPhoneffmpeg -i "1.mp4" -i "Knockout.mp3" -filter_complex "[0:a]volume=0.1,atempo=1.1[a] ;[1:a]volume=1[b] ;[a][b]amix=inputs=2[audio]" -filter_complex "setpts=PTS/1.1,crop='min(iw\,ih1/1)' :'min(ih\,iw1/1)" -c:v libx264 -preset ultrafast -tune fastdecode -crf 20 -c:a aac -b:a 128k -r 30 -strict experimental -shortest "Output_00001.mp4"


ffmpeg -i "1.mp4" -i "Knockout.mp3" -filter_complex "[0:a]volume=0.1,atempo=1.1[a] ;[1:a]volume=1[b] ;[a][b]amix=inputs=2[audio]" -filter_complex "setpts=PTS/1.1,crop='min(iw\,ih1/1)' :'min(ih\,iw1/1)" -c:v libx264 -preset ultrafast -tune fastdecode -crf 20 -c:a aac -b:a 128k -r 30 -strict experimental -shortest "Output_00001.mp4"
ffmpeg version 2024-12-19-git-494c961379-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
configuration : —enable-gpl —enable-version3 —enable-static —disable-w32threads —disable-autodetect —enable-fontconfig —enable-iconv —enable-gnutls —enable-libxml2 —enable-gmp —enable-bzlib —enable-lzma —enable-libsnappy —enable-zlib —enable-librist —enable-libsrt —enable-libssh —enable-libzmq —enable-avisynth —enable-libbluray —enable-libcaca —enable-sdl2 —enable-libaribb24 —enable-libaribcaption —enable-libdav1d —enable-libdavs2 —enable-libopenjpeg —enable-libquirc —enable-libuavs3d —enable-libxevd —enable-libzvbi —enable-libqrencode —enable-librav1e —enable-libsvtav1 —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxavs2 —enable-libxeve —enable-libxvid —enable-libaom —enable-libjxl —enable-libvpx —enable-mediafoundation —enable-libass —enable-frei0r —enable-libfreetype —enable-libfribidi —enable-libharfbuzz —enable-liblensfun —enable-libvidstab —enable-libvmaf —enable-libzimg —enable-amf —enable-cuda-llvm —enable-cuvid —enable-dxva2 —enable-d3d11va —enable-d3d12va —enable-ffnvcodec —enable-libvpl —enable-nvdec —enable-nvenc —enable-vaapi —enable-libshaderc —enable-vulkan —enable-libplacebo —enable-opencl —enable-libcdio —enable-libgme —enable-libmodplug —enable-libopenmpt —enable-libopencore-amrwb —enable-libmp3lame —enable-libshine —enable-libtheora —enable-libtwolame —enable-libvo-amrwbenc —enable-libcodec2 —enable-libilbc —enable-libgsm —enable-liblc3 —enable-libopencore-amrnb —enable-libopus —enable-libspeex —enable-libvorbis —enable-ladspa —enable-libbs2b —enable-libflite —enable-libmysofa —enable-librubberband —enable-libsoxr —enable-chromaprint
libavutil 59. 51.100 / 59. 51.100
libavcodec 61. 27.101 / 61. 27.101
libavformat 61. 9.101 / 61. 9.101
libavdevice 61. 4.100 / 61. 4.100
libavfilter 10. 6.101 / 10. 6.101
libswscale 8. 12.100 / 8. 12.100
libswresample 5. 4.100 / 5. 4.100
libpostproc 58. 4.100 / 58. 4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4' :
Metadata :
minor_version : 512
major_brand : isom
compatible_brands : isomiso2avc1mp41
metadata1 : TC1nO7kRGA2g5D7EvY6mVieKMGAICBrUodQ2askGrBS9jYT4Vj3PxKPaPJbSJiYW312zpE9OA+GfQsSmsg/l0YPpVbGHSS0k1WWlIhavn4vgaEjIiMMw5ES5FyQ6NBpt9K1YOSiIg6IEc4CgvXCVgyI5VVvX9u053QTky2KsdRNRA32Ui1XkoBTAB
metadata0 : ChtzZWN1cml0eS5rbGluZy5tZXRhX2VuY3J5cHQS8AGDblTacnE/fscfVL6m9on8gh3O9gP57LnH5Gi3m5WuoRauKnAkpgZgCqmDNvDCKcv7WjIn6u+WSNAu60xW9WLkiOodDgOO2LkcD3RQmNE435FJW7rzQGPQCWEORRjI73eTSQLHggb3O876An7Ho7eHOiOljlsdEkvPDRIGlAwfn5QZKj43rdvl4q6p0lL1Wjb6qGjdvX0e6QTI1dT9qdr
encoder : Lavf58.45.100
Duration : 00:00:10.04, start : 0.000000, bitrate : 16952 kb/s
Stream #0:00x1 : Video : h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1080x1920, 16948 kb/s, 24 fps, 24 tbr, 12288 tbn (default)
Metadata :
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Input #1, mp3, from 'Knockout.mp3' :
Metadata :
encoder : Lavf61.5.101
Duration : 00:02:14.54, start : 0.023021, bitrate : 131 kb/s
Stream #1:0 : Audio : mp3 (mp3float), 48000 Hz, stereo, fltp, 131 kb/s
Metadata :
encoder : Lavc61.12
[fc#0 @ 0000025538b16280] Stream specifier ':a' in filtergraph description [0:a]volume=0.1,atempo=1.1[a] ;[1:a]volume=1[b] ;[a][b]amix=inputs=2[audio] matches no streams.
Error binding filtergraph inputs/outputs : Invalid argument