Recherche avancée

Médias (1)

Mot : - Tags -/censure

Autres articles (112)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains 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, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP 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 one

    I 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

    


  • ffmpeg-python lib's 'run' function works locally but doesn't work in server

    27 décembre 2023, par Fire Deus

    I 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 Tokumei
    lavc/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>

    • [DH] configure
    • [DH] doc/decoders.texi
    • [DH] libavcodec/libaribcaption.c
    • [DH] libavcodec/version.h