
Recherche avancée
Autres articles (87)
-
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...) -
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 ;
Sur d’autres sites (10095)
-
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;



-
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.
-
fftools/ffmpeg : Remove the micor like "#if 1"
9 novembre 2018, par Jun Zhao