
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (112)
-
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 ;
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (14628)
-
Why does fluent-ffmpeg only work when it throws the error Output stream closed
29 mars 2024, par volume oneI am using fluent-ffmpeg to process a video file (and then upload that to Amazon S3). The code is very straightforward but it only works if :


- 

- pipe option
{end: true}
is set in.output()
- which has a side-effect that causes the following console log output








Processing : 19.261847354642416% done Processing :
32.365144874807335% done Processing : 48.80978326261429% done Processing : 78.35771917058617%
Processing : 91.49377493455148% done Processing :
99.91264359125745% done An error occurred : Output stream closed




Despite that error, it seems the file is generated correctly and it gets uploaded to Amazon S3 fine.


This is the fluent-ffmpeg code :


import {PassThrough} from 'node:stream';
import FFMpeg from 'fluent-ffmpeg';

let PassThroughStream = new PassThrough();

 FFMpeg('/testvideo.mp4')
 .videoCodec('libx264')
 .audioCodec('libmp3lame')
 .size(`640x480`)
 // Stream output requires manually specifying output formats
 .format('mp4')
 .outputOptions('-movflags dash')
 .on('progress', function (progress) {
 console.log('Processing: ' + progress.percent + '% done');
 })
 .on('error', function (err) {
 console.log('An error occurred: ' + err.message);
 })
 .on('end', function () {
 console.log('FFMpeg Processing finished!');
 })
 .output(PassThroughStream, {end: true})
 .run();

 // Now upload to S3
 try {
 await s3Upload({
 AWSS3Client: 'mys3client',
 Bucket: 'publicbucket,
 ACL: "public-read",
 ContentType: 'video/mp4',
 Key: 'whoever/whatever.mp4',
 Body: PassThroughStream
 });
 } catch (error) {
 console.log(`s3Upload error`, error)
 }



If I set the pipe
output()
option to{end: false}
then there is no error from fluent-ffmpeg and I get"Processing: 100% done FFMpeg Processing finished!"
as the final console log.

BUT the problem is that the
s3Upload()
does not do anything. There are no errors. Just no activity.

I feel very uncomfortable letting
fluent-ffmpeg
end in an error even if the code itself does the job intended. It will also cause testing to fail. What could be the issue ?

The command line code is :
ffmpeg -i https:/xxxbucket.s3.amazonaws.com/14555/file-example.mp4 -acodec libmp3lame -vcodec libx264 -filter:v scale=w=trunc(oh*a/2)*2:h=480 -f mp4 -movflags dash pipe:1


- pipe option
-
ffmpeg-python lib's 'run' function works locally but doesn't work in server
27 décembre 2023, par Fire DeusI am using ffmpeg-python library to process video, specifically I had to add watermark to video. Code is very simple :


def set_watermark_to_video(
 video_url: str,
 directory: str,
 filename: str,
 extension: str,
):
 video_input = ffmpeg.input(video_url)
 output_path: str = f"/tmp/{filename}_watermarked.mp4"
 logo_input = ffmpeg.input(vid_mycar_logo_path)
 video_probe = ffmpeg.probe(video_url)
 video_stream = next(
 (
 stream
 for stream in video_probe["streams"]
 if stream["codec_type"] == "video"
 ),
 None,
 )

 logo_probe = ffmpeg.probe("my_logo_path")
 logo_stream = next(
 (stream for stream in logo_probe["streams"] if stream["codec_type"] == "video"),
 None,
 )
 ffmpeg.filter(
 [video_input, logo_input],
 "overlay",
 10,
 video_stream["height"] - logo_stream["height"] - 10,
 ).output(output_path).run(overwrite_output=True)



Exception occurs when
.run(overwrite_output=True)
function is called.

Exception looks like this : ffmpeg._run.Error : ffmpeg error (see stderr output for detail).

When I print exc.stderr the only warning I can see is "Unknown cover type : 0x1."


But this code works perfectly when I run it locally. I am using docker to build my service, so dependencies, versions, etc all the same in both environments.


The version of ffmpeg I'm using is
5.1.4-0+deb12u1


I tried to run code line by line in server and local machine to compare all parameters and values that have been generated. And still they are the same, so I don't understand why this error happens in server


-
lavc/libaribcaption : add MSZ character related options
17 octobre 2023, par TADANO Tokumeilavc/libaribcaption : add MSZ character related options
This patch adds two MSZ (Middle Size ; half width) character
related options, mapping against newly added upstream
functionality :* `replace_msz_japanese`, which was introduced in version 1.0.1
of libaribcaption.
* `replace_msz_glyph`, which was introduced in version 1.1.0
of libaribcaption.The latter option improves bitmap type rendering if specified
fonts contain half-width glyphs (e.g., BIZ UDGothic), even
if both ASCII and Japanese MSZ replacement options are set
to false.As these options require newer versions of libaribcaption, the
configure requirement has been bumped accordingly.Signed-off-by : TADANO Tokumei <aimingoff@pc.nifty.jp>