
Recherche avancée
Autres articles (102)
-
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 (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (9006)
-
Merging audio channels by FFmpeg libraries C++
13 juin 2023, par ElijaC/C++ project. There are several audio tracks with an individual number of channels. Each is processed using a avresampler. The avresampler converts all tracks to the same format. At the output of the avresampler, we get a set of channels from all audio tracks. Do the FFmpeg libraries have any standard means to merge all these audio channels into another set of audio channels using AVFrame::ch_layout to form a single audio track ? That is, no additional processing is required, except for copying channels buffers from several AVFrames of different audio tracks to new positions of one AVFrame according to the new layout and aligning the timestamps of different audio tracks, since different audio tracks can have audio frames of different sizes with different timestamps.


For example, 1 audio track with 2 channels and 2 audio tracks with 6 channels will be merged into 16 channels with silence in the "missing" channels. Or 4 audio tracks with 2 channels merged into 8 channels. Etc...


Is there a way to use a avresampler for this ? Or a avfilter ? Or something else ?


Any source code or any reading source that can help me is welcome.


-
ASP.NET MVC - Converting Video Format From Email Attachment Scanner
24 juillet 2018, par BenHaywardWe have a Quartz scheduler that scans the company email account every 60 seconds, and will process those emails accordingly. Any attachments are stored in a byte array.
Video attachments need to be converted to an MP4 and then back to a byte array to be stored in the DB ; I am trying to use FFMPEG (fflib) to complete this, however I’m having trouble figuring out how it can be done with a byte array as the source - the company have stated that this conversion must be done before it enters the database.
Is the conversion of a byte array possible using the Process Class to access the FFMPEG CLI ?
Here is the code I currently have, just using local file locations (using fflib ffmpeg library).
public IList<documentstoreattachment> AddDocumentsToDocumentStore(IList<fileattachment> documentsToStore, Guid personId, IList<documentattributedto> documentAttributes)
{
var storedDocuments = new List<documentstoreattachment>();
foreach (var documentToStore in documentsToStore)
{
try
{
if (IsExtensionAllowed(documentToStore.AttachmentName))
{
if (documentToStore.MimeType == "mpeg")
{
Job2Convert job = new Job2Convert()
{
pszSrcFile = @"..\..\Amigo Loans 2018 Advert MPG.mpg",
pszDstFile = @"C:\Users\ben.hayward\Desktop\Amigo Loans 2018 Advert MPG.mp4",
pszDstFormat = "mp4",
pszAudioCodec = "aac",
nAudioChannels = 2,
nAudioBitrate = -1,
nAudioRate = -1,
pszVideoCodec = "h264",
nVideoBitrate = -1,
nVideoFrameRate = -1,
nVideoFrameWidth = -1,
nVideoFrameHeight = -1
};
_sut.ConvertFile(job);
}
storedDocuments.Add(AddDocumentToDocumentStore(documentToStore.AttachmentName, documentToStore.ByteArray, documentToStore.MimeType, personId, documentAttributes));
}
else
{
Logger.WarnFormat("AddDocumentsToDocumentStore: File extension not allowed for file name: {0}, person id: {1}", documentToStore.AttachmentName, personId);
}
}
catch (Exception e)
{
#region Error
Logger.Error(String.Format("There was a problem saving the document to the document store. The file name was {0}, person id: {1}",
documentToStore.AttachmentName, personId), e);
#endregion
}
}
return storedDocuments;
}
</documentstoreattachment></documentattributedto></fileattachment></documentstoreattachment>Thank you in advance.
-
I need to create a streaming app Where videos store in aws S3
27 juillet 2023, par abuzar zaidiI need to create a video streaming app. where my videos will store in S3 and the video will stream from the backend. Right now I am trying to use ffmpeg in the backend but it does not work properly.


what am I doing wrong in this code ? And if ffmpeg not support streaming video that store in aws s3 please suggest other options.


Backend


const express = require('express');
const aws = require('aws-sdk');
const ffmpeg = require('fluent-ffmpeg');
const cors = require('cors'); 
const app = express();

// Set up AWS credentials
aws.config.update({
accessKeyId: '#######################',
secretAccessKey: '###############',
region: '###############3',
});

const s3 = new aws.S3();
app.use(cors());

app.get('/stream', (req, res) => {
const bucketName = '#######';
const key = '##############'; // Replace with the key/path of the video file in the S3 bucket
const params = { Bucket: bucketName, Key: key };
const videoStream = s3.getObject(params).createReadStream();

// Transcode to HLS format
 const hlsStream = ffmpeg(videoStream)
.format('hls')
.outputOptions([
 '-hls_time 10',
 '-hls_list_size 0',
 '-hls_segment_filename segments/segment%d.ts',
 ])
.pipe(res);

// Transcode to DASH format and pipe the output to the response
ffmpeg(videoStream)
.format('dash')
.outputOptions([
 '-init_seg_name init-stream$RepresentationID$.mp4',
 '-media_seg_name chunk-stream$RepresentationID$-$Number%05d$.mp4',
 ])
.output(res)
.run();
});

const port = 5000;
app.listen(port, () => {
console.log(`Server running on http://localhost:${port}`);
});



Frontend


import React from 'react';

 const App = () => {
 const videoUrl = 'http://localhost:3000/api/playlist/runPlaylist/6c3e7af45a3b8a5caf2fef17a42ef9a0'; // Replace with your backend URL
Please list down solution or option i can use here
 const videoUrl = 'http://localhost:5000/stream';
 return (
 <div>
 <h1>Video Streaming Example</h1>
 <video controls="controls">
 <source src="{videoUrl}" type="video/mp4"></source>
 Your browser does not support the video tag.
 </video>
 </div>
 );
 };

 export default App;