Recherche avancée

Médias (91)

Autres articles (65)

  • Formulaire personnalisable

    21 juin 2013, par

    Cette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
    Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire. (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

Sur d’autres sites (9186)

  • 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
  • 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();


    


  • avcodec/dvbsubdec : Fix conditions for fallback to default resolution

    3 décembre 2021, par softworkz
    avcodec/dvbsubdec : Fix conditions for fallback to default resolution
    

    The previous code expected a segment of type CLUT definition to exist
    in order to accept a set of segments to be complete.
    This was an incorrect assumption as the presence of a CLUT segment
    is not mandatory.
    (version 1.6.1 of the spec is probably a bit more clear about this
    than earlier versions : https://www.etsi.org/deliver/etsi_en/
    300700_300799/300743/01.06.01_20/en_300743v010601a.pdf)

    The incorrect condition prevented proper fallback to using the default
    resolution for the decoding context.

    This also adds variables and moves the fallback check to the outside
    for better clarity.

    Signed-off-by : softworkz <softworkz@hotmail.com>

    • [DH] libavcodec/dvbsubdec.c