Recherche avancée

Médias (17)

Mot : - Tags -/wired

Autres articles (67)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Emballe Médias : Mettre en ligne simplement des documents

    29 octobre 2010, par

    Le plugin emballe médias a été développé principalement pour la distribution mediaSPIP mais est également utilisé dans d’autres projets proches comme géodiversité par exemple. Plugins nécessaires et compatibles
    Pour fonctionner ce plugin nécessite que d’autres plugins soient installés : CFG Saisies SPIP Bonux Diogène swfupload jqueryui
    D’autres plugins peuvent être utilisés en complément afin d’améliorer ses capacités : Ancres douces Légendes photo_infos spipmotion (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

Sur d’autres sites (4892)

  • why mpd file contain same resolution AdaptationSet

    18 mars, par Jahid Hasan Antor

    this is the code that i used. this code create a minifest.mpd file, with the same resolution AdaptationSet set

    


    const createCourse = async (req: Request, res: Response, next: NextFunction) => {
    try {
        const VIDEO_STORAGE_PATH = path.join(__dirname, "../../public/uploads").replace(/\\/g, "/");
        const videoId = req.body.videoId;
        const inputPath = path.join(VIDEO_STORAGE_PATH, "original", `${videoId}.mp4`).replace(/\\/g, "/");
        const outputDir = path.join(VIDEO_STORAGE_PATH, "dash", videoId).replace(/\\/g, "/");

        if (!fs.existsSync(outputDir)) {
            fs.mkdirSync(outputDir, { recursive: true });
        }

        if (!ffmpegStatic) {
            return next(new Error("❌ ffmpegStatic path is null"));
        }

        ffmpeg.setFfmpegPath(ffmpegStatic);

        const qualities = [
            { resolution: "1280x720", bitrate: "1800k" },
            { resolution: "854x480", bitrate: "1200k" },
            { resolution: "640x360", bitrate: "800k" },
            { resolution: "426x240", bitrate: "400k" }
        ];

        const outputMpd = path.join(outputDir, "manifest.mpd").replace(/\\/g, "/");

        // Create FFmpeg command
        let command = ffmpeg(inputPath)
            .output(outputMpd)
            .outputOptions([
                '-f dash', // Output format
                '-seg_duration 4', // Segment duration in seconds
                '-window_size 10', // Number of segments in the manifest
                '-init_seg_name init-stream$RepresentationID$.webm', // Name for initialization segments
                '-media_seg_name chunk-stream$RepresentationID$-$Number%05d$.webm', // Name for media segments
            ]);

        // Add multiple resolutions
        qualities.forEach(({ resolution, bitrate }) => {
            console.log('esolution, bitrate :>> ', resolution, bitrate);
            command
                .outputOptions([
                    `-map 0:v`, // Map the video stream
                    `-s ${resolution}`, // Set resolution
                    `-b:v ${bitrate}`, // Set bitrate
                    `-c:v libvpx-vp9`, // Use VP9 codec
                    `-c:a libopus`, // Use Opus codec
                ]);
        });

        command
            .on("end", () => {
                console.log(`🚀 Video processing complete: ${outputMpd}`);
            })
            .on("error", (err) => {
                console.error("❌ ffmpeg error:", err);
                next(err);
            })
            .run();


    


  • avfilter/scale_amf : Add AMF VPP & super resolution filters

    15 octobre 2024, par Evgeny Pavlov
    avfilter/scale_amf : Add AMF VPP & super resolution filters
    

    This commit adds two AMF filters : vpp_amf & sr_amf.
    Both filters are using AMF hardware acceleration.
    vpp_amf supports simple scaling algorithms & color conversion.
    sr_amf supports advanced scaling algorithms such as FSR & can
    be used for upscaling only.

    • [DH] configure
    • [DH] libavfilter/Makefile
    • [DH] libavfilter/allfilters.c
    • [DH] libavfilter/vf_amf_common.c
    • [DH] libavfilter/vf_amf_common.h
    • [DH] libavfilter/vf_sr_amf.c
    • [DH] libavfilter/vf_vpp_amf.c
  • avcodec/mpegvideo_enc : Check FLV1 resolution limits

    8 janvier, par Michael Niedermayer
    avcodec/mpegvideo_enc : Check FLV1 resolution limits
    

    Found-by : Elias Myllymäki <elias.myllymaki04p@gmail.com>
    Reviewed-by : Alexander Strasser <eclipse7@gmx.net>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/mpegvideo_enc.c