
Recherche avancée
Autres articles (33)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Changer son thème graphique
22 février 2011, parLe thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
Modifier le thème graphique utilisé
Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
Il suffit ensuite de se rendre dans l’espace de configuration du (...)
Sur d’autres sites (6452)
-
movtextenc : fix handling of utf-8 subtitles
28 mars 2018, par Philip Langdalemovtextenc : fix handling of utf-8 subtitles
See the earlier fix for movtextdec for details. The equivalent bug is
present on the encoder side as well.We need to track the text length in 'characters' (which seems to really
mean codepoints) to ensure that styles are applied across the correct
ranges. -
How to send an mpeg_ts stream verbatim over rtp
30 mars 2018, par Bruce AdamsI’m trying to write some software to capture and process data from an mpeg_ts stream.
As part of this I need, for testing, to generate a test mpeg_ts streams for my software to captureOne option for this is to save a real stream to disk.
So with that in mind I have a source transport stream which is being unicast via rtp to my box via port 1234. I can view it in vlc using :vlc rtp://@:1234
and I can move between channels via the "programme" menu.
subtitles are available but no EPG
kaffeine works as well but only shows the first channelI can save this stream using :
ffmpeg -i rtp://172.16.13.81:1235 -map 0 -copy_unknown -c copy save_ffmpeg.ts
note : that rtp ://@:1235 does not work you need your full IP address though udp ://@:1235 does work for udp streams - see https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=2386
However there is a problem. When I try to open the resulting file save_ffmpeg.ts in VLC
instead of opening one channel at a time it opens a new window for each channel which indicates an issue.If on the other hand I save it using :
cvlc rtp://@:1235 :demux=dump :demuxdump-file=save_vlc.ts
the resulting ts file can be viewed as normal.
What is the difference ?Looking at the output of mediainfo on save_ffmpeg.ts vs save_vlc.ts
I can see that ffmpeg has stripped the streams labelled Menu #1 to Menu #5.>mediainfo save_ffmpeg.ts | grep -E '^[A-Za-z]+ #'
Video #1
Video #2
Video #3
Video #4
Video #5
Audio #1
Audio #2
Audio #3
Audio #4
Audio #5
Audio #6
Audio #7
>mediainfo save_vlc.ts | grep -E '^[A-Za-z]+ #'
Video #1
Video #2
Video #3
Video #4
Video #5
Audio #1
Audio #2
Audio #3
Audio #4
Audio #5
Audio #6
Audio #7
Menu #1
Menu #2
Menu #3
Menu #4
Menu #5I tried adding -map_metadata 0 but to no avail.
Q1 What is wrong with the ffmpeg command ?
How do I get it to also save the menu streams ?Now I can send the ts that has the menu with ffmpeg using :
ffmpeg -re -i save_vlc.ts -c copy -f mpegts udp://127.0.0.1:9999
to get one channel
but again if I try to send everything :ffmpeg -re -i ./save_file.ts -map 0 -map_metadata 0 -copy_unknown -c copy -f rtp_mpegts rtp://127.0.0.1:9999
then :
vlc rtp://127.0.0.1:9999
opens a window for each and every channel.
Q2 How do I fix this ?
Q3 What would the equivalent gstreamer commands be to send and recieve ts files ?
The relevance of the final question is that one of the options being considered for implementing the MPEG_TS reader is gstreamer. Though, it probably warrants a question of its own.
-
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.