
Recherche avancée
Médias (2)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (53)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
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 -
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
Sur d’autres sites (10353)
-
Error adding text on video using ffmpeg
7 mars 2018, par robert tamunoemiAm trying to add text on video using ffmpeg. Everything works well if there is no spacing in the words. Here is my code
$text = "Robert Tamunoemi";
$cmd = 'ffmpeg -i '.$videoPath.' -vcodec libx264 -f mp4 -vf drawtext="fontfile=fonts/futura-normal.ttf:text="'.$text.'":fontcolor=black@1.0:fontsize=14:x=00: y=40" -preset medium videos/birds.mp4';
shell_exec($cmd.' 2> log.txt');Here is the output from ffmpeg log
ffmpeg version N-89674-g57d0c24132 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
libavutil 56. 7.100 / 56. 7.100
libavcodec 58. 9.100 / 58. 9.100
libavformat 58. 3.100 / 58. 3.100
libavdevice 58. 0.100 / 58. 0.100
libavfilter 7. 8.100 / 7. 8.100
libswscale 5. 0.101 / 5. 0.101
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'videos/pest11.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.3.100
Duration: 00:00:18.20, start: 0.000000, bitrate: 223 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x584 [SAR 1:1 DAR 160:73], 83 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 132 kb/s (default)
Metadata:
handler_name : SoundHandler
Tamunoemi:fontcolor=black@1.0:fontsize=14:x=00: y=40: Protocol not found -
ffmpeg rtsp record problems [closed]
3 mai 2023, par user429643I have 3 ip cameras from which I take rtsp stream and record mp4 files via ffmpeg. Previously, everything worked well, but some time ago, the recording from second camera ends after a some period of time (before it should be ended).
Program code :


if [ "$1" = "1" ]; then
 ffmpeg -rtsp_transport tcp -use_wallclock_as_timestamps 1 -fflags +genpts -fflags -discardcorrupt -i rtsp://$CAMLogin@$CAM1IP:$RTSPport/Streaming/Channels/101 -r 20 -vcodec copy -an -t $RECtime -vsync vfr $FULLpath/1.mp4 -report null >/dev/null 2>$FULLpath/cam01.log &
 ffmpeg -i rtsp://$CAMLogin@$CAM1IP:$RTSPport/Streaming/Channels/101 -t 1 -vframes 1 -s 1280x720 -f image2 $FULLpath/1.jpg null >/dev/null 2>$FULLpath/cam_jpg01.log &
fi

if [ "$2" = "1" ]; then
 ffmpeg -rtsp_transport tcp -use_wallclock_as_timestamps 1 -fflags +genpts -fflags -discardcorrupt -i rtsp://$CAMLogin@$CAM2IP:$RTSPport/cam/realmonitor?channel=1&subtype=0 -r 20 -vcodec copy -an -t $RECtime -vsync vfr $FULLpath/2.mp4 -report null >/dev/null 2>$FULLpath/cam02.log &
 ffmpeg -i $CENTRAL -t 1 -vframes 1 -s 1280x720 -f image2 $FULLpath/2.jpg null >/dev/null 2>$FULLpath/cam_jpg02.log &
fi

if [ "$3" = "1" ]; then
 ffmpeg -rtsp_transport tcp -use_wallclock_as_timestamps 1 -fflags +genpts -fflags -discardcorrupt -i rtsp://$CAMLogin@$CAM3IP:$RTSPport/Streaming/Channels/101 -r 20 -vcodec copy -an -t $RECtime -vsync vfr $FULLpath/3.mp4 -report null >/dev/null 2>$FULLpath/cam03.log &
 ffmpeg -i rtsp://$CAMLogin@$CAM3IP:$RTSPport/Streaming/Channels/101 -t 1 -vframes 1 -s 1280x720 -f image2 $FULLpath/3.jpg null >/dev/null 2>$FULLpath/cam_jpg03.log &



If I set a certain recording time, then the problem occurs only from the second camera.


FFMPEG log for first camera :


ffmpeg started on 2023-05-03 at 12:04:01
Report written to "ffmpeg-20230503-120401.log"
ffmpeg version 2.8.14-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
 built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
 libavutil 54. 31.100 / 54. 31.100
 libavcodec 56. 60.100 / 56. 60.100
 libavformat 56. 40.101 / 56. 40.101
 libavdevice 56. 4.100 / 56. 4.100
 libavfilter 5. 40.101 / 5. 40.101
 libavresample 2. 1. 0 / 2. 1. 0
 libswscale 3. 1.101 / 3. 1.101
 libswresample 1. 2.101 / 1. 2.101
 libpostproc 53. 3.100 / 53. 3.100
Input #0, rtsp, from 'rtsp://username:password@192.168.8.98:554/Streaming/Channels/101':
 Metadata:
 title : Media Presentation
 Duration: N/A, start: 1683104641.578533, bitrate: N/A
 Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 20 fps, 20 tbr, 90k tbn, 40 tbc
[mp4 @ 0x23f8d80] Codec for stream 0 does not use global headers but container format requires global headers
Output #0, mp4, to '/var/www/view/dist/videos/archive/2023-05-03/c24706a011ae90262875803ad73b8a2b/1.mp4':
 Metadata:
 title : Media Presentation
 encoder : Lavf56.40.101
 Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 20 fps, 20 tbr, 10240 tbn, 20 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0x23f8d80] Non-monotonous DTS in output stream 0:0; previous: 6516, current: 6516; changing to 6517. This may result in incorrect timestamps in the output file.
[mp4 @ 0x23f8d80] Non-monotonous DTS in output stream 0:0; previous: 6523, current: 6523; changing to 6524. This may result in incorrect timestamps in the output file.
frame= 34 fps=0.0 q=-1.0 size= 1922kB time=00:00:01.52 bitrate=10321.7kbits/s 
frame= 45 fps= 41 q=-1.0 size= 2019kB time=00:00:02.07 bitrate=7978.7kbits/s
....
....
....
....
....
frame=144051 fps= 20 q=-1.0 size= 3530396kB time=02:00:01.84 bitrate=4015.8kbits/s 
frame=144055 fps= 20 q=-1.0 Lsize= 3532194kB time=02:00:02.04 bitrate=4017.7kbits/s 
video:3530424kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.050154% 



FFMPEG log for second camera :


ffmpeg started on 2023-05-03 at 12:04:01
Report written to "ffmpeg-20230503-120401.log"
ffmpeg version 2.8.14-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
 built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
 libavutil 54. 31.100 / 54. 31.100
 libavcodec 56. 60.100 / 56. 60.100
 libavformat 56. 40.101 / 56. 40.101
 libavdevice 56. 4.100 / 56. 4.100
 libavfilter 5. 40.101 / 5. 40.101
 libavresample 2. 1. 0 / 2. 1. 0
 libswscale 3. 1.101 / 3. 1.101
 libswresample 1. 2.101 / 1. 2.101
 libpostproc 53. 3.100 / 53. 3.100
[rtsp @ 0x134adc0] DTS discontinuity in stream 1: packet 3 with DTS 80789022795410, packet 4 with DTS 80789022798792
[rtsp @ 0x134adc0] DTS discontinuity in stream 1: packet 7 with DTS 80789022798811, packet 8 with DTS 80789022809865
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://username:password@192.168.8.22:554/cam/realmonitor?channel=1&subtype=0':
 Metadata:
 title : Media Server
 Duration: N/A, start: 1683104641.570750, bitrate: N/A
 Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709), 4096x1800, 90k tbr, 90k tbn, 180k tbc
 Stream #0:1: Audio: pcm_alaw, 48000 Hz, 1 channels, s16, 384 kb/s
[mp4 @ 0x1538e00] Codec for stream 0 does not use global headers but container format requires global headers
Output #0, mp4, to '/var/www/view/dist/videos/archive/2023-05-03/c24706a011ae90262875803ad73b8a2b/2.mp4':
 Metadata:
 title : Media Server
 encoder : Lavf56.40.101
 Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 4096x1800, q=2-31, 90k tbr, 10240 tbn, 20 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 31 fps=0.0 q=-1.0 size= 1170kB time=00:00:01.46 bitrate=6543.0kbits/s 
frame= 40 fps= 39 q=-1.0 size= 1435kB time=00:00:01.92 bitrate=6120.5kbits/s 
Invalid UE golomb code
frame= 52 fps= 34 q=-1.0 size= 2099kB time=00:00:02.50 bitrate=6864.2kbits/s 
frame= 63 fps= 31 q=-1.0 size= 2399kB time=00:00:03.06 bitrate=6411.5kbits/s 
frame= 72 fps= 28 q=-1.0 size= 2670kB time=00:00:03.52 bitrate=6210.5kbits/s 
Invalid UE golomb code
...
...
...
...
Invalid UE golomb code
frame=27243 fps= 20 q=-1.0 size= 1046397kB time=00:22:42.09 bitrate=6293.3kbits/s 
frame=27254 fps= 20 q=-1.0 size= 1046712kB time=00:22:42.64 bitrate=6292.7kbits/s 
frame=27264 fps= 20 q=-1.0 size= 1046990kB time=00:22:43.12 bitrate=6292.1kbits/s 
frame=27275 fps= 20 q=-1.0 size= 1047290kB time=00:22:43.67 bitrate=6291.4kbits/s 
Invalid UE golomb code
frame=27285 fps= 20 q=-1.0 size= 1048022kB time=00:22:44.20 bitrate=6293.3kbits/s 
frame=27292 fps= 20 q=-1.0 Lsize= 1048561kB time=00:22:44.52 bitrate=6295.1kbits/s 
video:1048224kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.032150%



Initially, I thought that the error was in timestamps, so I added arguments to ffmpeg :


-use_wallclock_as_timestamps 1
-fflags +genpts
-fflags -discardcorrupt
-vsync vfr


But this doesnt help.


-
What is the proper input format for drawtext's timecode option in fluent-ffmpeg (node.js) ?
24 janvier 2023, par Gil DekelI am trying to generate short video clips from 3 images with a simple millisecond counter at the top left per user request. So far I was able to generate the clips using the
videoshow npm lib
, no issues here.


However, when I try to add the timer via
fluent-ffmpeg
'sdrawtext
filter to an already generated video, I run into the following issue.


Here's what I have so far :



ffmpeg('video.mp4')
 .on('error', function(err, stdout, stderr) {
 console.log("ffmpeg stdout:\n" + stdout);
 console.log("ffmpeg stderr:\n" + stderr);
 })
 .videoCodec('libx264')
 .format('mp4')
 .fps(fps)
 .complexFilter([
 {
 filter: 'drawtext',
 options: {
 fontsize: 15,
 timecode: '00\:00\:00\:00', //<--- Issue is most likely here
 fontsize: 32,
 fontcolor: 'white',
 boxcolor: 'black',
 box: 1
 }
 }
 ]).save('out.mp4');




From what I found online I am quite convinced that my problem is with the
timecode
input format. Here's my error log :


ffmpeg stderr:
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
 built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-jack --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-nonfree
 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
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf57.83.100
 Duration: 00:00:01.03, start: 0.000000, bitrate: 585 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x1136 [SAR 923:924 DAR 130:231], 573 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
 Metadata:
 handler_name : VideoHandler
[Parsed_drawtext_0 @ 0x7f91aa700700] Both text and text file provided. Please provide only one
[AVFilterGraph @ 0x7f91aa700440] Error initializing filter 'drawtext' with args 'fontsize=32:timecode=00:00:00:00:fontcolor=white:boxcolor=black:box=1'
Error initializing complex filters.
Invalid argument




Specifically this :



[Parsed_drawtext_0 @ 0x7f91aa700700] Both text and text file provided. Please provide only one




When I run what should be the equivalent to my code in shell, it works perfectly :



ffmpeg -i video.mp4 \
 -vf drawtext="fontsize=15:timecode='00\:00\:00\:00':rate=60:fontsize=32:fontcolor='white':\
 boxcolor=0x000000AA:box=1" \
 -f mp4 out.mp4




I already spent a whole day trying to find any previous solutions to this problem, or documentation online regarding the proper format of
drawtext
'stimecode
option within node.js with no luck. It seems most of the information out there is for bash/shell use. I need to do this programmatically on a server per request, and I just can't find the right example to solve this.


Any help to resolve this would be appreciated.