Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (50)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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, 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 (9662)
-
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


-
Capture video with pulse audio on a second camera with motioneye [closed]
8 mai 2023, par Damien JALLONOn a raspberrypi 4, bullseye os, motioneye service capture motion with camera on /dev/video0 and launch this script that capture video with pulse audio on a second camera on /dev/video2 :


echo $USER >> /home/damien/motion_ffmpeg.log
cd /home/damien
source /home/damien/.profile
source /home/damien/.bashrc
file="/home/damien/Vidéos/motionEye/motionEye_$(date +%Y%m%d_%H%M%S).mp4" # Création d'un nom de fichier horodaté
/usr/bin/ffmpeg -f pulse -thread_queue_size 4096 -ac 1 -channel_layout mono -i default -f v4l2 -thread_queue_size 4096 -i /dev/video2 -t 00:00:03 -vcodec mpeg4 $file >> /home/damien/motion_ffmpeg.log 2>&1 < /dev/null & 


The script work perfectly in standalone, in a terminal connected with the user "damien".
The log produce in standalone :




damien ffmpeg version 4.3.6-0+deb11u1+rpt1 Copyright (c) 2000-2023 the
FFmpeg developers built with gcc 10 (Debian 10.2.1-6)

configuration : —prefix=/usr —extra-version=0+deb11u1+rpt1
—toolchain=hardened —incdir=/usr/include/aarch64-linux-gnu —enable-gpl —disable-stripping —enable-avresample —disable-filter=resample —enable-gnutls —enable-ladspa —enable-libaom —enable-libass —enable-libbluray —enable-libbs2b —enable-libcaca —enable-libcdio —enable-libcodec2 —enable-libdav1d —enable-libflite —enable-libfontconfig —enable-libfreetype —enable-libfribidi —enable-libgme —enable-libgsm —enable-libjack —enable-libmp3lame —enable-libmysofa —enable-libopenjpeg —enable-libopenmpt —enable-libopus —enable-libpulse —enable-librabbitmq —enable-librsvg —enable-librubberband —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libspeex —enable-libsrt —enable-libssh —enable-libtheora —enable-libtwolame —enable-libvidstab —enable-libvorbis —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx265 —enable-libxml2 —enable-libxvid —enable-libzmq —enable-libzvbi —enable-lv2 —enable-omx —enable-openal —enable-opencl —enable-opengl —enable-sdl2 —disable-mmal —enable-neon —enable-v4l2-request —enable-libudev —enable-epoxy —enable-sand —libdir=/usr/lib/aarch64-linux-gnu —arch=arm64 —enable-pocketsphinx —enable-libdc1394 —enable-libdrm —enable-vout-drm —enable-libiec61883 —enable-chromaprint —enable-frei0r —enable-libx264 —enable-shared

libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libavresample 4. 0. 0 /
4. 0. 0 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100
Input #0, pulse, from 'default' :
Duration : N/A, start : 1683539947.001243, bitrate : 768 kb/s
Stream #0:0 : Audio : pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Input #1, video4linux2,v4l2, from '/dev/video2' : Duration : N/A, start : 675.690589, bitrate : 147456 kb/s
Stream #1:0 : Video : rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc Stream
mapping : Stream #1:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))

Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to
stop, [?] for help Output #0, mp4, to
'/home/damien/Vidéos/motionEye/motionEye_20230508_115906.mp4' :

Metadata :
encoder : Lavf58.45.100
Stream #0:0 : Video : mpeg4 (mp4v / 0x7634706D), yuv420p(progressive), 640x480, q=2-31, 200 kb/s, 30 fps, 15360 tbn, 30
tbc
Metadata :
encoder : Lavc58.91.100 mpeg4
Side data :
cpb : bitrate max/min/avg : 0/0/200000 buffer size : 0 vbv_delay : N/A
Stream #0:1 : Audio : aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s
Metadata :
encoder : Lavc58.91.100 aac frame= 90 fps= 67 q=4.6 Lsize= 275kB time=00:00:03.00 bitrate= 750.5kbits/s dup=51 drop=0
speed=2.23x video:245kB audio:26kB subtitle:0kB other streams:0kB
global headers:0kB muxing overhead : 1.611457% [aac @ 0x55b808d2b0]
Qavg : 126.380



The motioneye service is launched under the user "damien".
The log of the script executed by motioneye when motion is detected :




damien ffmpeg version 4.3.6-0+deb11u1+rpt1 Copyright (c) 2000-2023 the
FFmpeg developers built with gcc 10 (Debian 10.2.1-6)

configuration : —prefix=/usr —extra-version=0+deb11u1+rpt1
—toolchain=hardened —incdir=/usr/include/aarch64-linux-gnu —enable-gpl —disable-stripping —enable-avresample —disable-filter=resample —enable-gnutls —enable-ladspa —enable-libaom —enable-libass —enable-libbluray —enable-libbs2b —enable-libcaca —enable-libcdio —enable-libcodec2 —enable-libdav1d —enable-libflite —enable-libfontconfig —enable-libfreetype —enable-libfribidi —enable-libgme —enable-libgsm —enable-libjack —enable-libmp3lame —enable-libmysofa —enable-libopenjpeg —enable-libopenmpt —enable-libopus —enable-libpulse —enable-librabbitmq —enable-librsvg —enable-librubberband —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libspeex —enable-libsrt —enable-libssh —enable-libtheora —enable-libtwolame —enable-libvidstab —enable-libvorbis —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx265 —enable-libxml2 —enable-libxvid —enable-libzmq —enable-libzvbi —enable-lv2 —enable-omx —enable-openal —enable-opencl —enable-opengl —enable-sdl2 —disable-mmal —enable-neon —enable-v4l2-request —enable-libudev —enable-epoxy —enable-sand —libdir=/usr/lib/aarch64-linux-gnu —arch=arm64 —enable-pocketsphinx —enable-libdc1394 —enable-libdrm —enable-vout-drm —enable-libiec61883 —enable-chromaprint —enable-frei0r —enable-libx264 —enable-shared

libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libavresample 4. 0. 0 /
4. 0. 0 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100
default : No such process



The message "default : No such process" seems to mean that there is no connection with the pulse server.


Why does ffmpeg not connect to pulse server when launched by motioneye ?