
Recherche avancée
Autres articles (77)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
L’espace de configuration de MediaSPIP
29 novembre 2010, parL’espace de configuration de MediaSPIP est réservé aux administrateurs. Un lien de menu "administrer" est généralement affiché en haut de la page [1].
Il permet de configurer finement votre site.
La navigation de cet espace de configuration est divisé en trois parties : la configuration générale du site qui permet notamment de modifier : les informations principales concernant le site (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
Sur d’autres sites (11869)
-
how to make any filter's value that accept integer value be a function of the timestamp in ffmpeg ? [closed]
30 novembre 2023, par rosner altamiraFor example, i am trying to apply blur effect to video in ffmpeg using gblur filter, i want the blur strength to gradually increase from 0 to 50 in 2 secs starting at 5 secs and fade back from 50 to 0 in 3 secs thus finishing at 15 secs. In summary the blur is between 5 and 15 secs but from 5 to 7, the effect will gradually grow from 0 to 50 and from 12 to 15 it will fade from 50 back to 0.


here is what i tried :




ffmpeg -i test-video.mp4 -loop 1 -t 5 -i test-image.jpg -filter_complex "[0:v]gblur=sigma='if( lte(t,5) + gte(t, 15), 0, if( between(t, 7, 12), 50, min( max(25t - 125, 0), max(-16.67t + 250, 0) ) ) )':enable='between(t,5,15)'[bg] ;[1:v]fade=in:0:30[ol] ;[ol]fps=fps=15[ol] ;[bg][ol]overlay=(W-w)/2 :(H-h)/2:enable='between(t,5,15)'[out]" -map "[out]" -map 0:a output_video.mp4




Expectations :




[0:v]gblur=sigma='if( lte(t,5) + gte(t, 15), 0, if( between(t, 7, 12), 50, min( max(25t - 125, 0), max(-16.67t + 250, 0) ) ) )':enable='between(t,5,15)'[bg] :




The blur strength depends dynamically on the time (t) as described above, controlled by the expression.
The enable parameter ensures that this filter is only applied between 5 and 15 seconds.




[1:v]fade=in:0:30[ol] :
[ol]fps=fps=15[ol] :
[bg][ol]overlay=(W-w)/2 :(H-h)/2:enable='between(t,5,15)'[out] :




The overlay input should be faded in for 2 secs starting from 5secs and will last 10secs (same time for the blur)


As result, i am getting Invalid char error. Seems like sigma does not accept the "t" timestamp variable.


-
Extracting CEA-708 closed captions from MPEG-TS stream with FFmpeg
20 août 2021, par BradI have an MPEG-TS stream delivered over HTTP from an ATSC 1.0 receiver :


Input #0, mpegts, from 'http://example.com/stream':
 Duration: N/A, start: 33532.329189, bitrate: N/A
 Program 3
 Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
 Side data:
 cpb: bitrate max/min/avg: 15836400/0/0 buffer size: 7995392 vbv_delay: N/A
 Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
 Stream #0:2[0x35](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 128 kb/s (visual impaired)



How can I extract its closed caption data ?


I've read that for files, I can use lavfi :


ffmpeg -f lavfi -i movie=input.ts[out+subcc] ...



However, this doesn't work for streams over HTTP. At least, I can't figure out how to properly escape/quote the URL for use in the lavfi input syntax.


Any suggestions ?


-
"Output stream closed" when streaming PassThrough stream to AWS using @aws-sdk/lib-storage
5 avril 2023, par cjdI am attempting to stream a PassThrough stream directly to S3 using
@aws-sdk/lib-storage
.

My upload function is :


const uploadStreamToS3 = () => {
 const Key = 'test.mp4';
 const Bucket = 'bucket-name';
 const stream = new PassThrough();
 const upload = new Upload({
 client: s3Client,
 params: { Bucket, Key, Body: stream },
 tags: [], // optional tags
 queueSize: 4, // optional concurrency configuration
 partSize: 1024 * 1024 * 5, // optional size of each part, in bytes, at least 5MB
 leavePartsOnError: false // optional manually handle dropped parts
 });
 return {
 stream,
 uploadComplete: upload.done(),
 upload
 };
};



I am piping from
ffmpeg
directly to the PassThrough stream :

ffmpegInstance
 .addOutputOptions(
 '-movflags +frag_keyframe+separate_moof+omit_tfhd_offset+empty_moov'
 )
 .format('mp4')
 .pipe(stream, { end: true });



When I run this locally, everything works.


I am using a container lambda function with Docker.


If I run the Docker container locally, everything works as expected. If I run the same code on Lambda, I get the following error
Output stream is closed
.

One work around is to write the file to the Lambda
tmp
folder using a writeStream and once the file is written I can stream the file to S3 using a readStream as theBody
ofnew Upload
. However, I would like to stream directly to S3 and not create this temporary file in Lambda.

Is this possible ? Is the issue with using a PassThrough stream in the Body for S3 ?