Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP

Autres articles (62)

  • 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

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

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (4238)

  • Anomalie #3486 : abstract_sql pas chargé en 3.1

    28 juin 2015, par nico d

    Revert du commit précédent ... c’est à mettre dans les formulaires en ayant besoin

    Donc ce serait "normal", et au développeur de l’inclure au besoin ?
    Pourtant, en 3.0 abstract_sql est bien chargé.
    Ce qui me parait logique, un CVT a quand même de grandes chances de manipuler des données et de faire appel à l’API.
    Et ça peut éviter les mauvaises surprises (développer et tester un CVT en étant connecté, sans se rendre compte qu’il est pété pour les visiteurs non connectés).

  • Multiframe Dicom file not readable by some viewers

    12 mai 2023, par PizzaPasNette

    I have developed a program in C++ that works in 2 major steps :

    


      

    • extract frames from a video with ffmpeg and convert them to jpeg
ffmpeg -i videofile.mp4 -q:v 1 -r desired_framerate tmp_04%d.jpeg

      


    • 


    • create a multiframe Dicom file from those jpeg images via DCMTK

      


      //Example for one image&#xA;&#xA;// Get the n-th image&#xA;QFile* imageFile = new QFile("Path/To/Image");&#xA;&#xA;// Read the image inside a byte array&#xA;QByteArray * ba = new QByteArray();&#xA;imageFile->open(QIODevice::ReadOnly);&#xA;*ba = imageFile->readAll();&#xA;&#xA;// Insert the byte array in the Dicom file&#xA;cond = jpegPixelItem->putUint8Array(reinterpret_cast<uint8>(ba->data()), ba->size());&#xA;&#xA;// Rinse and repeat&#xA;</uint8>

      &#xA;

    • &#xA;

    &#xA;

    It works well and can be displayed on most viewers but some complain about the Transfer Syntax being wrong.&#xA;As of now, I'm using the "JPEGLossless:Non-hierarchical-1stOrderPrediction" but It seems some viewers can't read my Dicom file unless I change the Transfer Syntax to "JPEG Baseline (Process 1)" which is a lossy Transfer Syntax.

    &#xA;

    I assume the problem comes from the first step of the program with ffmpeg that might be creating lossy JPEG images but I'm not sure because I'm using the "best" q:v scale as I've seen in other posts on the subject.

    &#xA;

    Therefore, my 2 main questions are :

    &#xA;

      &#xA;
    • why do some viewers have no problems displaying the dicom file whereas some others can't ?
    • &#xA;

    • is there any way to obtain lossless JPEG images from a ffmpeg command ?
    • &#xA;

    &#xA;

  • Moving .wav files from S3 to /tmp folder in AWS Lambda

    1er août 2019, par sleepyrobot

    I am currently trying to overlay two .wav files from S3 in AWS Lambda using FFMPEG. I am using node.js to do this. Here’s my process :

    1. Retrieve the files from S3, and save it to the Lambda /tmp folder
    2. Merge the two audio files, and save the output to the /tmp folder
    3. Upload the output from /tmp folder to S3.

    However, I am encountering errors on the first part, since the .wav files being downloaded are corrupted and distorted.

    I have tried using streams for this. However, I am still grasping its concept. I would appreciate any help. For my first try, I tried to retrieve an object from S3 and reupload the same

    I have tried using function for getting the audio file from S3 :

    async function readIn(bucketName, inputFilename, transfer, local) {
       console.log('reading in locally?', local);
       console.log(`reading from ${inputFilename} to ${transfer}`);

    // inputFilename is the key name (object name)
    // transfer is the filepath to where the obj will be transferred to (example: /tmp/audio1.wav)

       const writeStream = fs.createWriteStream(transfer);
       var file;

       local? await new Promise((resolve, revoke) => {
           file = fs.createReadStream(inputFilename);
           writeStream.on('finish', () => {
               console.log('file finished reading');
               resolve();
           });
           writeStream.on('error', (err) => {
               console.log('things messed up');
               revoke();
           });
           file.pipe(writeStream);
       }) : await new Promise((resolve, revoke) => {
           writeStream.on('finish', () => {
               console.log('file finished reading');
               resolve();
           });
           writeStream.on('error', (err) => {
               console.log('things messed up');
               revoke();
           });
           s3.getObject({
               Bucket : bucketName,
               Key    : inputFilename
           }, function(err, data) {
               if (err) {
                   console.log(err, err.stack);
               } else {
                   console.log('data got!');
               }
           }).createReadStream().pipe(writeStream);
       });
       console.log('returning to main from reading');
       return;
    }

    For uploading the file to S3 :

    async function writeOut(bucketName, outFile, transfer, contentType) {

           console.log('uploading', bucketName, outFile, transfer);
           return s3.upload({
               Bucket: bucketName,
               Key: outFile,
               Body: fs.createReadStream(transfer),
               //ACL: 'private',
               ContentType: contentType
           }).promise();
    }

    For merging the files (I haven’t tried this yet) :

    async function mergeFile(transfer1, transfer2, output) {
       await new Promise((resolve, revoke) => {
           console.log('beginning merge');
           var outStream = fs.createWriteStream('/tmp/output.wav');

           childProcess.exec('cp /var/task/ffmpeg /tmp/.; chmod 755 /tmp/ffmpeg;',
           function (error, stdout, stderr) {
               if (error) {
                   console.log('[ERROR]: An error occured in altering FFMPEG permission: ', error);
               } else {
                  console.log("[SUCCESS]: Successfully altered FFMPEG permission!");
                  // merge audio files
                   ffmpeg('/tmp/audio1.wav')
                   .input('/tmp/audio2.wav')
                   .on('error', function(err) {
                   console.log('An error occurred with merging: ' + err.message);
                   })
                   .complexFilter(
                   {
                   filter: 'amix',
                   inputs: ['0:a','1:a']
                   })
                   .on('end', function() {
                   console.log('Merging finished!');
                   })
                   .pipe(outStream, { end: true });
                   //.save('/tmp/output.wav');
                   //////  
               }
           })
       });}

    However, the resulting file is corrupted. Is there any error in the functions ? Please help. Thanks !