
Recherche avancée
Autres articles (60)
-
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
Problèmes fréquents
10 mars 2010, parPHP et safe_mode activé
Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (6570)
-
How does C language use ffmpeg to send the H.264 network stream packed by RTP to RTMP server ?
21 décembre 2020, par yanzhang.guoMy requirement is : listen to the socket, and the monitored data is H.264 video data encapsulated by RTP. I want to push the monitored data from socket to RTMP server directly. What should I do ? Whether can provide a general idea, I use C language to realize.
I found the following two methods on the Internet. Are there corresponding APIs ? In addition, are there other methods ?


Method 1: unpack RTP package, extract H264 data, and push it out with 
ffmpeg API;
Method 2: call ffmpeg API directly to push the data encapsulated by RTP.



-
How to seamlessly concatenate multiple Opus files together without popping sound ?
16 février, par Gurdie DerilusI have a large PCM file that I've split into N chunks (N being the # of threads), and I encode them in parallel into Opus files with FFmpeg.


Note : All PCM files are 16-bit Little Endian, 2 channels, 48000 sample rate.


I then concatenate the Opus files using FFmpeg's demuxer, but I can hear an audible pop sound between each segment.


Opening this sample file in Audacity reveals the issue :
Notice the introduced pops in opus


I created a simple and short Golang project on Github with a sample PCM file for easy testing. Note, not production code, so obviously not following any best practices here.


#1, I suspected the pops might've been introduced while parallel encoding each PCM file to Opus files. This, however, wasn't the case.
Concatted Opus files vs Separate Opus files image.


#2, using the concat filter works, however it reencodes the files, which is not doable in my case as it's too slow (these files can & do reach up to an hour). I know Opus files are chainable, so I can't imagine why they don't work flawlessly.


#3, I heard that Opus has a 20ms frame size, so I split the file against that frame size, but this made no difference.


chunkSize := largePcmFileStat.Size() / int64(runtime.GOMAXPROCS(0))
chunkSize = int64(roundUpToNearestMultiple(float64(chunkSize), 4))



The entire sample looks like this :


package main

import (
 "context"
 "fmt"
 "io"
 "log"
 "os"
)

func main() {
 // Grab large PCM file
 largePcmFile, err := os.Open("files/full_raw.pcm")
 if err != nil {
 log.Fatalln(err)
 }

 // Split into 2 chunks
 ByteRate := 2
 SampleRate := 48000
 Channels := 2
 Seconds := 20
 chunkSize := Seconds * Channels * SampleRate * ByteRate

 file1, err := encodePcmToOpus(context.TODO(), io.LimitReader(largePcmFile, int64(chunkSize)))
 if err != nil {
 log.Fatalln(err)
 }

 file2, err := encodePcmToOpus(context.TODO(), io.LimitReader(largePcmFile, int64(chunkSize)))
 if err != nil {
 log.Fatalln(err)
 }

 fmt.Println("Check if these play with no defects:", file1)
 fmt.Println("file1:", file1)
 fmt.Println("file2:", file2)
 fmt.Println()

 concatFile, err := concatOpusFiles(context.TODO(), []string{file1, file2})
 if err != nil {
 log.Fatalln(err)
 }

 fmt.Println("concatted file:", concatFile.Name())
}



-
Adding background audio in FFMPEG, but quieting it if there is sound in another channel
9 septembre 2021, par Connor BellI'm appending several videos together with FFMPEG. Some of these videos have accompanying audio, and some do not.


I'd like to add music in the background, and have found out how to do so from here. However, I'd like the background music to be (let's say 80%) quieter if there is already audio in that video. Note that all videos have a null audio track, so just checking for the existence of an audio track isn't sufficient.


My current process is :


- 

- Take source videos, add a null audio source and upscale (The null audio source is required for ffmpeg-concat to work due to a bug, I think)
- Combine the videos using ffmpeg-concat






Preferably, adding the background music should be the third step, as splitting the background music prior to combining the videos sounds more complex, but I may be wrong.