Recherche avancée

Médias (91)

Autres articles (83)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    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 (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (14857)

  • can I set a filter on by default within ffmpeg ?

    13 septembre 2013, par user195789

    For example, the default filter for video encoding in FFMPEG is libx264... I would like to either configure via an environment variable, a build/compile option, or something else that unless I specify otherwise the yadif de-interlace filter is always turned on when encoding.

    Anyone know if this is possible, short of significantly modifying the source code (which is almost certainly beyond my abilities)

  • FFmpeg massive data loss when writing large data and swapping segments

    25 avril 2023, par Bohdan Petrenko

    I have an ffmpeg process running which continiously writes audio data to two 30 seconds (for testing, I'm actually planning to use 5 minutes) segments. The problem is that when I write some audio data with length more than size of two segments (60 seconds), 8-17 seconds of audio is lost. Here is how I run FFmpeg and write data :

    


        _ffmpeg = Process.Start(new ProcessStartInfo
    {
        FileName = "ffmpeg",
        Arguments = 
            $"-y -f s16le -ar 48000 -ac {Channels} -i pipe:0 -c:a libmp3lame -f segment -segment_time {BufferDuration} -segment_format mp3 -segment_wrap 2 -reset_timestamps 1 -segment_list \"{_segmentListPath}\" \"{segmentName}\"",
        UseShellExecute = false,
        RedirectStandardInput = true
    })!;
    // Channels is usually 1, BufferDuration is 30


    


    And here is how I write data :

    


    public async Task WriteSilenceAsync(int amount)
{
    if (amount > _size) amount = _size; // _size is 48000 * 1 * 2 * 30 * 2 = 5760000 (size of 1 minute of audio)
    
    var silence = _silenceBuffer.AsMemory(0, amount);
    await _ffmpeg.StandardInput.BaseStream.WriteAsync(silence);
}


    


    I tried to change the ffmpeg parameters and ways I write data. But I haven't found the solution.

    


    I'm sure that the problem is caused by ffmpeg segments, because if I disable segmenting and write audio to a single file, there are no problems with data loss or audio missmatch. I also sure that amount of silence to add in WriteSilenceAsync() method is calculated right. I'm not sure if the problem appears with data length more than 30 seconds but less then 1 minute, but I think it doesn't.

    


    I don't know how to solve this problem and would be glad to see any suggestions or solutions.

    


  • Batch merge audio files by specific timestamp without reencoding

    8 mai, par Saccarab

    I want to batch merge mp3 audio files where every single file has a specific start time. So below is the fluent-ffmpeg spawn I use right now to merge 3 files with each starting at respectively 200, 7400 and 10600.

    



    ffmpeg -i firstFile.mp3 -i secondFile.mp3 -i thirdFile.mp3 -filter_complex 
[0]adelay=200[a0];[1]adelay=7400[a1];[2]adelay=10600[a2];[a0][a1] 
[a2]amix=inputs=3:dropout_transition=1000,volume=3 -f mp3 pipe:1


    



    This works pretty good, except for longer files re-encoding makes the process take real long. So I wanted to do the same thing using concat demuxer. Since I already know how long each audio file is, I've put in silent audio files between them to create a delay until next audio file so it actually starts on the time position it is supposed to.

    



    #concatfile.txt

file silence.mp3
outpoint 200
file firstFile.mp3
file silence.mp3
outpoint 1500
file secondFile.mp3
file silence.mp3
outpoint 2000
file thirdFile.mp3

ffmpeg -f concat -safe 0 -i concatfile.txt -c copy output.mp3


    



    This solution also works okay when merging few files but when I merge higher count of files like 30 or 40 result file will have a slowly increasing synchronization problem where audio files actually start later than the start timestamps they are supposed to have.

    



    Looks like an issue similar to this post

    



    I'm open for any suggestion on solving the issue.