
Recherche avancée
Médias (1)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
Autres articles (62)
-
Publier sur MédiaSpip
13 juin 2013Puis-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, parMediaSPIP 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 2011Unfortunately 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 dRevert 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 PizzaPasNetteI 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

// Get the n-th image
QFile* imageFile = new QFile("Path/To/Image");

// Read the image inside a byte array
QByteArray * ba = new QByteArray();
imageFile->open(QIODevice::ReadOnly);
*ba = imageFile->readAll();

// Insert the byte array in the Dicom file
cond = jpegPixelItem->putUint8Array(reinterpret_cast<uint8>(ba->data()), ba->size());

// Rinse and repeat
</uint8>








It works well and can be displayed on most viewers but some complain about the Transfer Syntax being wrong.
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.


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.


Therefore, my 2 main questions are :


- 

- why do some viewers have no problems displaying the dicom file whereas some others can't ?
- is there any way to obtain lossless JPEG images from a ffmpeg command ?






-
-
Moving .wav files from S3 to /tmp folder in AWS Lambda
1er août 2019, par sleepyrobotI 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 :
- Retrieve the files from S3, and save it to the Lambda /tmp folder
- Merge the two audio files, and save the output to the /tmp folder
- 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 !