
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (65)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)
Sur d’autres sites (6376)
-
doc/filters : add [] labels for the graph of the opening paragraph example
22 septembre 2013, par Timothy Gu -
movenc : Use null buffers for measuring the amount of data to be written
18 septembre 2013, par Martin Storsjö -
FFmpeg.AutoGen C# library Can't open Codec G726
8 septembre 2024, par Rushdi EskandarI am stuck with FFmpeg.AutoGen G726 Audio codec, it always shows error invalid argument.
Note that I Tried other codecs such as G722, G711 and it is working fine except for G726 codec. I also confirm that my binaries does support G726 codec using this command ffmpeg -formats. Please tell me what could be the reason, and if you know any other library for decoding G726 that would be better


public unsafe class AudioDecoder : IDisposable
 {
 private AVCodecContext* _codecContext;
 private AVCodec* _codec;
 private AVFrame* _frame;
 private AVPacket* _packet;

 public AudioDecoder()
 {
 // Find the G726 decoder
 _codec = ffmpeg.avcodec_find_decoder(AVCodecID.AV_CODEC_ID_ADPCM_G726);
 if (_codec == null)
 {
 throw new Exception("G726 codec not found.");
 }

 // Allocate codec context
 _codecContext = ffmpeg.avcodec_alloc_context3(_codec);
 if (_codecContext == null)
 {
 throw new Exception("Failed to allocate codec context.");
 }

 // Print supported sample formats
 Console.WriteLine("Supported sample formats for G726 codec:");
 AVSampleFormat* sample_fmts = _codec->sample_fmts;
 if (sample_fmts != null)
 {
 while (*sample_fmts != AVSampleFormat.AV_SAMPLE_FMT_NONE)
 {
 Console.WriteLine($"Sample format: {*sample_fmts}");
 sample_fmts++;
 }
 }

 // Set codec parameters
 _codecContext->sample_rate = 8000; // G726 typically uses 8000Hz
 if (_codec->sample_fmts != null)
 {
 _codecContext->sample_fmt = *_codec->sample_fmts; // Use the first supported sample format
 }
 else
 {
 _codecContext->sample_fmt = AVSampleFormat.AV_SAMPLE_FMT_S16; // Fallback to a common format
 }
 _codecContext->bit_rate = 32000; // Example bitrate for G726

 // Attempt to open the codec with detailed error logging
 int ret = ffmpeg.avcodec_open2(_codecContext, _codec, null);
 if (ret < 0)
 {
 byte[] errBuf = new byte[1024];
 fixed (byte* errPtr = errBuf)
 {
 ffmpeg.av_strerror(ret, errPtr, (ulong)errBuf.Length);
 }
 string errMessage = System.Text.Encoding.UTF8.GetString(errBuf);
 throw new Exception($"Failed to open codec (Error code: {ret}): {errMessage}");
 }

 // Allocate packet and frame
 _packet = ffmpeg.av_packet_alloc();
 _frame = ffmpeg.av_frame_alloc();
 if (_packet == null || _frame == null)
 {
 throw new Exception("Failed to allocate packet or frame.");
 }
 }
}