
Recherche avancée
Autres articles (44)
-
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes 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 : (...)
Sur d’autres sites (6956)
-
Laravel / ffmpeg headers not found on centos 7
24 septembre 2023, par Jack The BakerI want to use
ffmpeg
on laravel project. OS iscentos7
and panel isDirectAdmin
and usingphp 8.1




PHP Version 8.1.12




I installed
ffmpeg
on centos 7 and I getffmpeg


ffmpeg version 3.4.13 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100



But in
phpinfo
andphp -m
ffmpeg not listed ! yet so I noticed should configure ffmpeg on php then I run :

./configure && make



on
/usr/ffmpeg/ffmpeg-php-0.6.0


But result is :




checking for ffmpeg headers... configure : error : ffmpeg headers not
found. Make sure ffmpeg is compiled as shared libraries using the
—enable-shared option




Then I run :


./configure --enable-shared



But still the same error.


In laravel project I got error :


exception: "ErrorException"
file: "/home/site.com/public_html/laravel/vendor/php-ffmpeg/php-ffmpeg/src/Alchemy/BinaryDriver/AbstractBinary.php"
line: 149
message: "file_exists(): open_basedir restriction in effect. File(/usr/bin/ffmpeg) is not within the allowed path(s): (/home/admin/:/tmp/:/var/tmp/:/opt/alt/php81/usr/shar...



After many hours searching and testing still I couldn't fix this issue, any suggestion ?


-
AWS Lambda failed to resolve hostname in child_process spawn
14 juin, par warlyi'm trying to get ffmpeg working in AWS Lambda reading from and writing to S3. I crawled through dozens of aws documentations, stackoverflow questions and blog posts. All do it slightly different, but in the end none of them worked for me. So I hope to find help here :)
I sticked to the tutorial from InPlainEnglish : https://plainenglish.io/community/automated-video-processing-with-aws-lambda-and-ffmpeg-2834b7


The ffprobe command does work, so ffmpeg is callable. But when calling ffmpeg within a child_process.spawn command i get the error
Failed to resolve hostname my-bucket.s3.eu-central-1.amazonaws.com: System error


export const handler = async (event) => {
 const s3 = new S3Client({});
 const bucket = event.Records[0].s3.bucket.name;
 const sourceKey = event.Records[0].s3.object.key;
 const sourceURL = await getSignedUrl(s3, new GetObjectCommand({
 Bucket: bucket,
 Key: sourceKey,
 }), {
 expiresIn: 900,
 });

 const tmpFilePath = 'tmp/video.mp4';
 const { convertOut } = await commander(`/opt/ffmpeg -i "${sourceURL}" -vf scale=1080:-2,format=yuv420p ${tmpFilePath}`);

 return {
 statusCode: 200,
 body: {
 result: JSON.stringify(convertOut),
 },
 };
};



the signed url is fine. I've tested it with vanilla js
await fetch(sourceURL)
and it returned the file. The problem is that for some reason the child_process has no internet access.

if anyone is able to point me in the right direction i would appreciate it :D


Full error message :


{
 "errorType": "Error",
 "errorMessage": "Command failed: /opt/ffmpeg -i \"https://my-bucket.s3.eu-central-1.amazonaws.com/original/Testvideo.MOV?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential={redacted}&X-Amz-Date=20240209T212255Z&X-Amz-Expires=900&X-Amz-Security-Token={redacted}&X-Amz-Signature={redacted}&X-Amz-SignedHeaders=host&x-id=GetObject\" -vf scale=1080:-2,crop=1080:1350,format=yuv420p tmp/video.mp4\nffmpeg version 6.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2023 the FFmpeg developers\n built with gcc 8 (Debian 8.3.0-6)\n configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzimg\n libavutil 58. 29.100 / 58. 29.100\n libavcodec 60. 31.102 / 60. 31.102\n libavformat 60. 16.100 / 60. 16.100\n libavdevice 60. 3.100 / 60. 3.100\n libavfilter 9. 12.100 / 9. 12.100\n libswscale 7. 5.100 / 7. 5.100\n libswresample 4. 12.100 / 4. 12.100\n libpostproc 57. 3.100 / 57. 3.100\n[tcp @ 0x141950d0] Failed to resolve hostname my-bucket.s3.eu-central-1.amazonaws.com: System error\n[in#0 @ 0x14190900] Error opening input: Input/output error\nError opening input file https://my-bucket.s3.eu-central-1.amazonaws.com/original/Testvideo.MOV?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential={redacted}&X-Amz-Date=20240209T212255Z&X-Amz-Expires=900&X-Amz-Security-Token={redacted}&X-Amz-Signature={redacted}&X-Amz-SignedHeaders=host&x-id=GetObject.\nError opening input files: Input/output error\n",
 "trace": [
 "Error: Command failed: /opt/ffmpeg -i \"https://my-bucket.s3.eu-central-1.amazonaws.com/original/Testvideo.MOV?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential={redacted}&X-Amz-Date=20240209T212255Z&X-Amz-Expires=900&X-Amz-Security-Token={redacted}&X-Amz-Signature={redacted}&X-Amz-SignedHeaders=host&x-id=GetObject\" -vf scale=1080:-2,crop=1080:1350,format=yuv420p tmp/video.mp4",
 "ffmpeg version 6.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2023 the FFmpeg developers",
 " built with gcc 8 (Debian 8.3.0-6)",
 " configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzimg",
 " libavutil 58. 29.100 / 58. 29.100",
 " libavcodec 60. 31.102 / 60. 31.102",
 " libavformat 60. 16.100 / 60. 16.100",
 " libavdevice 60. 3.100 / 60. 3.100",
 " libavfilter 9. 12.100 / 9. 12.100",
 " libswscale 7. 5.100 / 7. 5.100",
 " libswresample 4. 12.100 / 4. 12.100",
 " libpostproc 57. 3.100 / 57. 3.100",
 "[tcp @ 0x141950d0] Failed to resolve hostname my-bucket.s3.eu-central-1.amazonaws.com: System error",
 "[in#0 @ 0x14190900] Error opening input: Input/output error",
 "Error opening input file https://my-bucket.s3.eu-central-1.amazonaws.com/original/Testvideo.MOV?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential={redacted}&X-Amz-Date=20240209T212255Z&X-Amz-Expires=900&X-Amz-Security-Token={redacted}&X-Amz-Signature={redacted}&X-Amz-SignedHeaders=host&x-id=GetObject.",
 "Error opening input files: Input/output error",
 "",
 " at ChildProcess.exithandler (node:child_process:422:12)",
 " at ChildProcess.emit (node:events:518:28)",
 " at maybeClose (node:internal/child_process:1105:16)",
 " at ChildProcess._handle.onexit (node:internal/child_process:305:5)"
 ]
}
enter code here



Update : Turns out it is not S3 or internet, but the child_process which does not seem to have internet access. I've update my description above.


-
FFMPEG Fontconfig error : Cannot load default config file : No such file : (null) Abort trap
28 juillet 2023, par FastNumbers/usr/local/bin/ffmpeg -loop 1 -t 11.14 -i 3339861349.jpg -filter_complex "drawtext=text=aaaaa" -r 25 -vcodec libx264 -preset veryfast -threads 8 -x264opts no-scenecut -b 850k -bt 850k -ac 2 -ab 32k -async 1 -y -f mp4 test.mp4
Give me result
Fontconfig error : Cannot load default config file : No such file : (null)
Abort trap


With path to font file :
/usr/local/bin/ffmpeg -loop 1 -t 11.14 -i 3339861349.jpg -filter_complex "drawtext=text=aaaaa:fontfile=/usr/local/share/fonts/Roboto-Regular.ttf" -r 25 -vcodec libx264 -preset veryfast -threads 8 -x264opts no-scenecut -b 850k -bt 850k -ac 2 -ab 32k -async 1 -y -f mp4 test.mp4
Give me result
Abort trap


Rebild ffmpeg with —enable-libfontconfig


ffmpeg version 6.0-6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)
configuration : —enable-gpl —enable-gmp —enable-gnutls —enable-libdav1d —enable-libsvtav1 —enable-librav1e —enable-libvmaf —enable-libx264 —enable-chromaprint —enable-libx265 —enable-libvpx —enable-libxvid —enable-libvidstab —enable-libaom —enable-libzimg —enable-libmodplug —enable-libsoxr —enable-libmysofa —enable-lv2 —enable-libopencore_amrnb —enable-libopencore_amrwb —enable-libmp3lame —enable-libopus —enable-libvorbis —enable-libtwolame —enable-libspeex —enable-lv2 —enable-libtheora —enable-librubberband —enable-libgme —enable-libwebp —enable-libzmq —enable-libfribidi —enable-libfontconfig —enable-libfreetype —enable-libass —enable-runtime-cpudetect —cc=cc —cxx=cpp —disable-ffplay —disable-debug —disable-doc —disable-shared —enable-pthreads —enable-static —enable-small —enable-version3 —extra-cflags='-static -I/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/include -I/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/include/lilv-0 -I/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/include/lilv-0' —extra-cxxflags='-static -static-libstdc++' —extra-ldexeflags= —extra-ldflags=-L/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/lib —extra-libs='-static -lc++ -ldl -lpthread -lm -lmd -lz -lfftw3' —pkgconfigdir=/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/lib/pkgconfig —pkg-config-flags=—static —prefix=/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/done/ —extra-version=6.0