
Recherche avancée
Autres articles (87)
-
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 ) (...) -
Submit enhancements and plugins
13 avril 2011If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.
Sur d’autres sites (12830)
-
ffmpeg incorrectly adds a fixed delay to the end of each video chunk
13 janvier 2023, par SkylerI am trying to combine audio a video data to output as an mp4 file using the command below, the videos are segmented to match the exact length of the audio file they are going to be merged with :


command = 'ffmpeg -y -i {} -i {} -strict -2 -q:v 1 {} -loglevel {} -c:v h264_nvenc'.format(
 audio_file, temp_result_avi, outfile, self.ffmpeg_loglevel
 )
 subprocess.call(command, shell=True)



however each video made by this is exactly 24 ms longer so this causes large delays as they get stitched back together. This doesnt work since the combined video needs to be combined back with another video and the desync gets worse as you get further in the combined videos.


How can I remedy this ?


-
H.264 - Identify Access Units of an image
7 décembre 2017, par ivan_filhoI need to parse a H.264 stream to collect only NAL’s needed to form a complete image, of only one frame. I’m reading the H.264 standard, but it’s confuse and hard to read. I made some experiments but, did not worked. For example, i extracted an access unit with primary_pic_type == 0 containing only slice_type == 7 (I-Slice), it should give me a frame, but i tried to extract from ffmpeg, it did not work. But, when i append the next access_unit, containing only slice_type == 5 (P-Slice) it worked. Maybe i need to extract POC information, but i think not, because i only need extract one frame, but i’m not sure. Someone have some tip of how get only NAL’s i need to form one complete image ?
-
How to Convert video into mp3 format using ffmpeg in nodejs and angular and then save converted audio into the database
2 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