Recherche avancée

Médias (5)

Mot : - Tags -/open film making

Autres articles (77)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip 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 2013

    Puis-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 (7990)

  • How do I use a fetch response object with fluent-ffmpeg ?

    5 août 2024, par chovy

    The following code throws an error :

    


    async start(url, user = null, pass = null) {
            console.log('Transcoding:', url);
            const headers = {};

            try {
                if (user && pass) {
                    const encodedCredentials = Buffer.from(`${user}:${pass}`).toString('base64');
                    headers['Authorization'] = `Basic ${encodedCredentials}`;
                }

                // Fetch the video from the URL
                const response = await fetch(url, { headers, redirect: 'follow' });

                if (!response.ok) {
                    throw new Error(`Failed to fetch video: ${response.statusText}`);
                }

                // Create a readable stream from the response
                // const videoStream = response.body;
                const videoStream = response.body;

                console.log(videoStream);

                // Ensure videoStream is a valid readable stream
                if (!videoStream) {
                    throw new Error('Failed to get video stream from response');
                }

                // Create a pass-through stream to handle ffmpeg output
                const outputStream = new PassThrough();

                // Pipe the video stream through ffmpeg to transcode it to mp4
                ffmpeg(videoStream)
                    .format('mp4')
                    // .output(outputStream)
                    .videoCodec('libx264')
                    .audioCodec('aac')
                    .on('start', (commandLine) => {
                        console.log('Spawned Ffmpeg with command: ' + commandLine);
                    })
                    .on('error', (err) => {
                        console.error('Error:', err.message);
                        console.error(err);
                        outputStream.destroy(err); // destroy the stream in case of error
                    })
                    .on('progress', (progress) => {
                        console.log(JSON.stringify(progress, null, 2));
                        console.log('Processing: ' + progress.percent + '% done');
                    })
                    .on('end', () => {
                        console.log('Transcoding finished');
                    })
                    .pipe(outputStream);

                return outputStream;
            } catch (err) {
                throw err;
            }
        }


    


    Here's the error message :

    


    Spawned Ffmpeg with command: ffmpeg -i pipe:0 -acodec aac -vcodec libx264 -f mp4 pipe:1&#xA;{&#xA;  "frames": 0,&#xA;  "currentFps": 0,&#xA;  "currentKbps": null,&#xA;  "targetSize": 0,&#xA;  "timemark": "N/A"&#xA;}&#xA;Processing: undefined% done&#xA;Error: ffmpeg exited with code 234: Conversion failed!&#xA;&#xA;Error: ffmpeg exited with code 234: Conversion failed!&#xA;&#xA;    at ChildProcess.<anonymous> (/home/ettinger/src/watch.theater/watchtheater-web/node_modules/.pnpm/fluent-ffmpeg@2.1.3/node_modules/fluent-ffmpeg/lib/processor.js:180:22)&#xA;    at ChildProcess.emit (node:events:518:28)&#xA;    at ChildProcess._handle.onexit (node:internal/child_process:294:12)&#xA;</anonymous>

    &#xA;

    I'm trying to stream the output in real-time without having to download the entire video file first.

    &#xA;

  • How to manage hls in Nginx RTMP module

    27 mars, par syrkandonut

    I would like to manage the hls broadcast on request, like stop/start or some other way in Nginx RMTP module.&#xA;My rtmp server needs to support many cameras, however, when it does ffmpeg exec for 200-300 rtmp streams, this is very difficult for the processor, so I would like to execute the ffmpeg command in parallel only on request, how could this be done ?

    &#xA;

    Rtmp Server

    &#xA;

    rtmp {&#xA;    server {&#xA;        listen 1935;&#xA;        chunk_size 8192;&#xA;&#xA;        application live {&#xA;            live on;&#xA;            record off;&#xA;            drop_idle_publisher 10s;&#xA;            allow publish all;&#xA;&#xA;            on_publish rtmp-router:8082/on_publish;&#xA;&#xA;              exec ffmpeg -i rtmp://localhost:1935/live/$name&#xA;              -f lavfi -i anullsrc -c:v copy -c:a aac -shortest -f flv rtmp://localhost:1935/hls/$name_main;&#xA;        }&#xA;&#xA;&#xA;        application hls {&#xA;            live on;&#xA;            hls on;&#xA;            hls_fragment_naming system;&#xA;            hls_fragment 2;&#xA;            hls_playlist_length 4;&#xA;            hls_path /opt/data/hls;&#xA;            hls_nested on;&#xA;&#xA;            hls_variant _main BANDWIDTH=878000,RESOLUTION=640x360;&#xA;        }&#xA;    }&#xA;}&#xA;

    &#xA;

    I would like to solve this through nginx or python itself, since the server running with threads is written in FastAPI.

    &#xA;

  • swscale/output : Implement yuv2nv12cx neon assembly

    11 août, par Dash Santosh
    swscale/output : Implement yuv2nv12cx neon assembly
    

    yuv2nv12cX_2_512_accurate_c : 3540.1 ( 1.00x)
    yuv2nv12cX_2_512_accurate_neon : 408.0 ( 8.68x)
    yuv2nv12cX_2_512_approximate_c : 3521.4 ( 1.00x)
    yuv2nv12cX_2_512_approximate_neon : 409.2 ( 8.61x)
    yuv2nv12cX_4_512_accurate_c : 4740.0 ( 1.00x)
    yuv2nv12cX_4_512_accurate_neon : 604.4 ( 7.84x)
    yuv2nv12cX_4_512_approximate_c : 4681.9 ( 1.00x)
    yuv2nv12cX_4_512_approximate_neon : 603.3 ( 7.76x)
    yuv2nv12cX_8_512_accurate_c : 7273.1 ( 1.00x)
    yuv2nv12cX_8_512_accurate_neon : 1012.2 ( 7.19x)
    yuv2nv12cX_8_512_approximate_c : 7223.0 ( 1.00x)
    yuv2nv12cX_8_512_approximate_neon : 1015.8 ( 7.11x)
    yuv2nv12cX_16_512_accurate_c : 13762.0 ( 1.00x)
    yuv2nv12cX_16_512_accurate_neon : 1761.4 ( 7.81x)
    yuv2nv12cX_16_512_approximate_c : 13884.0 ( 1.00x)
    yuv2nv12cX_16_512_approximate_neon : 1766.8 ( 7.86x)

    Benchmarked on :
    Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) CPU
    3417 Mhz, 12 Core(s), 12 Logical Processor(s)

    • [DH] libswscale/aarch64/output.S
    • [DH] libswscale/aarch64/swscale.c