Recherche avancée

Médias (33)

Mot : - Tags -/creative commons

Autres articles (102)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

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

Sur d’autres sites (11099)

  • Revision 810b612c23 : Enable bit-stream support to 8x4 and 4x8 partition The recursive partition type

    16 mai 2013, par Jingning Han

    Changed Paths :
     Modify /vp9/common/vp9_blockd.h


     Modify /vp9/common/vp9_entropymode.c


     Modify /vp9/decoder/vp9_decodemv.c


     Modify /vp9/decoder/vp9_decodframe.c


     Modify /vp9/decoder/vp9_onyxd_if.c


     Modify /vp9/encoder/vp9_bitstream.c


     Modify /vp9/encoder/vp9_encodeframe.c


     Modify /vp9/encoder/vp9_encodemv.c


     Modify /vp9/encoder/vp9_rdopt.c



    Enable bit-stream support to 8x4 and 4x8 partition

    The recursive partition type search is enabled down to 4x4, 4x8 and
    8x4, followed by the corresponding rate-distortion optimization for
    the per-partition encoding mode decisions.

    The bit-stream writing/reading synchronized in supporting the
    rectangular partition of 8x8 block.

    This provides above 1% coding performance gains on derf.

    To do next :
    1. re-design the rate-distortion loop for inter prediction below 8x8.
    2. re-design the rate-distortion loop for intra prediction below 4x4.
    3. make the loop-filter aware of rectangular partition of 8x8 block.
    4. clean the unused probability models.
    5. update default probability values.

    Change-Id : Idd41a315b16879db08f045a322241f46f1d53f20

  • Upload screenshots to google cloud storage bucket with Fluent-ffmpeg

    2 janvier 2021, par aarpods

    I am currently using multer to upload videos to my google storage bucket, and fluent-ffmpeg to capture thumbnails of the videos. Videos are being uploaded into the buckets correctly, but not the thumbnails from ffmpeg. How can I change the location of the thumbnails to my google storage bucket ?

    


    Back-End Video upload

    


    require ('dotenv').config()
const express = require('express');
const router = express.Router();
const multer = require("multer");
var ffmpeg = require('fluent-ffmpeg');
const multerGoogleStorage = require('multer-google-storage');
const { Video } = require("../models/Video");
const {User} = require("../models/User")
const { auth } = require("../middleware/auth");


var storage = multer({
    destination: function (req, file, cb) {
        cb(null, 'videos/')
    },
    filename: function (req, file, cb) {
        cb(null, `${Date.now()}_${file.originalname}`)
    },
    fileFilter: (req, file, cb) => {
        const ext = path.extname(file.originalname)
        if (ext !== '.mp4' || ext !== '.mov' || ext !== '.m3u' || ext !== '.flv' || ext !== '.avi' || ext !== '.mkv') {
            return cb(res.status(400).end('Error only videos can be uploaded'), false);
        }
        cb(null,true)
    }
})
// Set location to google storage bucket
var upload = multer({ storage: multerGoogleStorage.storageEngine() }).single("file")

router.post("/uploadfiles", (req, res) => {

    upload(req, res, err => {
        if (err) {
            return res.json({sucess: false, err})
        }
        return res.json({ success: true, filePath: res.req.file.path, fileName: res.req.file.filename})
    })
});


    


    Back-end thumbnail upload

    


    router.post("/thumbnail", (req, res) => {

    let thumbsFilePath = "";
    let fileDuration = "";

    ffmpeg.ffprobe(req.body.filePath, function (err, metadata) {
        console.dir(metadata);
        console.log(metadata.format.duration);

        fileDuration = metadata.format.duration;
    })


    ffmpeg(req.body.filePath)
        .on('filenames', function (filenames) {
            console.log('Will generate ' + filenames.join(', '))
            thumbsFilePath = "thumbnails/" + filenames[0];
        })
        .on('end', function () {
            console.log('Screenshots taken');
            return res.json({ success: true, thumbsFilePath: thumbsFilePath, fileDuration: fileDuration })
        })
        //Can this be uploaded to google storage?
        .screenshots({
            // Will take 3 screenshots
            count: 3,
            folder: '/thumbnails/',
            size: '320x240',
            //Names file w/o extension
            filename:'thumbnail-%b.png'
        });
});


    


    Front-end video upload

    


     const onDrop = (files) => {
        let formData = new FormData();
        const config = {
            header: {'content-type': 'multipart/form-data'}
        }
        console.log(files)
        formData.append("file", files[0])

        axios.post('/api/video/uploadfiles', formData, config)
            .then(response => {
                if (response.data.success) {
                    let variable = {
                        filePath: response.data.filePath,
                        fileName: response.data.fileName
                    }
                    setFilePath(response.data.filePath)

                    //Thumbnail
                    axios.post('/api/video/thumbnail', variable)
                        .then(response => {
                            if (response.data.success) {
                                setDuration(response.data.fileDuration)
                                setThumbnail(response.data.thumbsFilePath)
                            } else {
                                alert("Failed to generate a thumbnail");
                            }
                        })

                } else {
                    alert('Failed to save video to the server')
                }
            })
    }


    


  • How to properly parse the H.265 RTSP stream from the Bosch DINION IP 3000iIR (CPP7.3) camera

    5 août 2024, par Pirlo Zhang

    Description :

    


    I am trying to parse the H.265 RTSP stream from two Bosch cameras :

    


    DINION IP 3000iIR (CPP7.3), commercial model NBE-3502-AL
DINION IP 4000i IR (CPP7.3), commercial model NBE-4502-AL
These cameras are configured in the BVMS management software to stream via RTSP on port 554 with H.265 video encoding.

    


    Despite extensive testing, I am unable to properly parse the stream using :

    


    VLC software
FFmpeg software
Custom programs

    


    None of these methods seem to work. The stream does not parse correctly or is not displayed at all.

    


    We have tried various stream URLs including :

    


    rtsp ://user:password@10.177.100.xxx:554/h265/ch1/main/av_stream
rtsp ://user:password@10.177.100.xxx:554/h264/ch1/main/av_stream
rtsp ://user:password@10.177.100.xxx:554/h265/ch1/sub/av_stream
rtsp ://user:password@10.177.100.xxx:554/h264/ch1/sub/av_stream

    


    Additionally, when testing other models with BVMS configured to use H.264, we can successfully retrieve the video stream.

    


    Has anyone experienced similar issues or have any insights on how to resolve this ? Any help would be greatly appreciated.