
Recherche avancée
Médias (1)
-
SWFUpload Process
6 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (111)
-
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 -
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation"
Sur d’autres sites (6943)
-
Convert video into mp3 format using ffmpeg in nodejs and angular and then save converted audio into the database(mongodb)
6 septembre 2021, par Amir ShahzadThis is nodejs server side file


const express = require('express');
const ffmpeg = require('fluent-ffmpeg');
const fileUpload = require('express-fileupload');
const mongoose = require('mongoose');
const cors = require('cors')
const app = express();
const Video = require('./models/video');
mongoose.connect('mongodb://localhost:27017/YoutubeApp', {
 useNewUrlParser: true,
 useUnifiedTopology: true,
});
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error'));
db.once('open', () => {
 console.log('Data Base Connected Successfully!');
});

app.use(fileUpload({
 useTempFiles: true,
 tempFileDir: 'temp/'
}));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cors({ origin: 'http://localhost:4200' }));


ffmpeg.setFfmpegPath('/usr/bin/ffmpeg');

app.post('/mp4tomp3', (req, res) => {
 convertdata = req.body;
 console.log('path of innput is', req.body);
 function convert(input, output, callback) {
 ffmpeg(input)
 .output(output)
 .on('end', function() { 
 console.log('conversion ended');
 callback(null);
 }).on('error', function(err){
 console.log('error: ', err.code, err.msg);
 callback(err);
 }).run();
 }
 convert(convertdata, './temp/output.mp3', function(err){
 if(!err) {
 console.log('conversion complete');

 
 }
 })

 app.listen(3000, () => {
 console.log('Server Start On Port 3000')
 })



In Convert function i not know how i can get input by the user i'm new in angular Please anyone can solve this out thanks in advance


This is video model file


const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const videoSchema = new Schema({
 mp4: String,
});
module.exports = mongoose.model("Videos", videoSchema);



**This is Typescript code in angular client side that handle user input and select video **


import { ThrowStmt } from '@angular/compiler';
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { VideoConversionService } from 'src/services/video-conversion.service';

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {

 submitted =false;
 form! : FormGroup
 data:any

 constructor(private formBuilder: FormBuilder,
 private videoService: VideoConversionService){}

 creatForm(){
 this.form = this.formBuilder.group({
 mp4: ['', Validators.required],
 });
 }
 ngOnInit(): void {
 this.creatForm();

 }


 convertVideo(){
 this.submitted = true
 this.videoService.conversion(this.form.value).subscribe(res => {
 this.data = res;
 })
 }

 }



I do not know how to create logic to do that (convert video into audio using angular framework)


This is app.component.html file where i want to get video from the user using input field


<div class="container">
 <h1>Video Proccessing App</h1>
 <form>
 <input type="file" formcontrolname="mp4" />
 <input type="submit" value="Convert" />
 </form>
</div>





But my code is not working and video is not converting into audio


This is my video service file where i calling nodejs api to perform the task


import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
 providedIn: 'root'
})
export class VideoConversionService {

constructor(private httpClient: HttpClient) { }

conversion(data: any){
 return this.httpClient.post('http://localhost:3000/mp4tomp3', data)
}
}



Please anyone can solve my problem Thanks in advance


-
pyav - cannot save stream as mono
3 août 2022, par ZvikaI'm trying to use
pyav
to convert arbitrary audio file to a low quality, mono, wave file.

I almost managed to do it, but it's stereo, and I couldn't find how to make it mono. Furthermore, I think I made some mistake here, as I had to repeat the
rate
in theoutput_container.add_stream
and in theAudioResampler
- it seems redundant, and I can't understand what would happen if those numbers won't match.

My code is :


import av
 
 input_file = 'some.mp3'
 output_file = 'new.wav'
 
 rate = 22000
 
 output_container = av.open(output_file, 'w')

 # can I tell `output_stream` to just use `resampler`'s info?
 # or, if not, how can I tell it to have only 1 channel?
 output_stream = output_container.add_stream('pcm_u8', rate) 
 
 resampler = av.audio.resampler.AudioResampler('u8p', 'mono', rate)
 
 input_container = av.open(input_file)
 for frame in input_container.decode(audio=0):
 out_frames = resampler.resample(frame)
 for out_frame in out_frames:
 for packet in output_stream.encode(out_frame):
 output_container.mux(packet)
 output_container.close()



And not related to my main question, but any comments regarding my code, or pointing out mistakes, are welcomed. I hardly could find usage examples to use a reference, and PyAV API documentation isn't very detailed...


-
In my django app, celery task converts uploaded video w/ ffmpeg, but converted video won't save to s3 ?
29 janvier 2013, par GetItDoneI use Heroku to host my website, and Amazon s3 to store my static and media files. I have a celery task that converts the video file to flv, but the flv doesn't store anywhere. There isn't any error, just there is no file uploaded to my s3 bucket. How can I force the file to save to my s3 bucket after the conversion ? I'm still pretty new web development in general, and I have been stuck trying to get my video conversion working properly for weeks. To be honest, I'm not even sure that I'm doing the right thing with my task. Here is the code in my celery task :
@task(name='celeryfiles.tasks.convert_flv')
def convert_flv(video_id):
video = VideoUpload.objects.get(pk=video_id)
filename = video.video_upload
sourcefile = "%s%s" % (settings.MEDIA_URL, filename)
vidfilename = "%s.flv" % video.id
targetfile = "%svideos/flv/%s" % (settings.MEDIA_URL, vidfilename)
ffmpeg = "ffmpeg -i %s -ar 22050 -f flv -s 320x240 %s" % (sourcefile, targetfile)
#The next lines are code that I couldn't get to work in place of the line above, and are left commented out.
#I am open to suggestions or alternatives for this also.
#ffmpeg = "ffmpeg -i %s -acodec libmp3lame -ar 22050 -f flv -s 320x240 %s" % (sourcefile, targetfile)
#ffmpeg = "ffmpeg -i %s -acodec mp3 -ar 22050 -f flv -s 320x240 %s" % (sourcefile, targetfile)
try:
ffmpegresult = commands.getoutput(ffmpeg)
print "---------------FFMPEG---------------"
print "FFMPEGRESULT: %s" % ffmpegresult
except Exception as e:
ffmpegresult = None
print("Failed to convert video file %s to %s" % (sourcefile, targetfile))
print(traceback.format_exc())
video.flvfilename = vidfilename
video.save()My view :
def upload_video(request):
if request.method == 'POST':
form = VideoUploadForm(request.POST, request.FILES)
if form.is_valid():
video_upload=form.save()
video_id=video_upload.id
video_conversion = convert_flv.delay(video_id)
return HttpResponseRedirect('/current_classes/')
else:
...Any advice, insight, or ideas in general would be greatly appreciated. Obviously I am missing something, but I can't figure out what. I have been stuck with different aspects of getting my video conversion to work with ffmpeg using a celery task for weeks. Thanks in advance.