
Recherche avancée
Autres articles (40)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...)
Sur d’autres sites (5416)
-
What Is Data Ethics & Why Is It Important in Business ?
9 mai 2024, par Erin -
Revision 33458 : retablir le pied de la dist
1er décembre 2009, par cedric@… — Logretablir le pied de la dist
-
FFmpeg C API WMAV2 AVCodecParserContext not found even though CLI can parse WMAs on MacOS
3 octobre 2023, par grendellI am following the decode_audio.c example from FFmpeg, but I am unable to initialize a parser for
AV_CODEC_ID_WMAV2
.

Test code :


#include 
#include <libavcodec></libavcodec>avcodec.h>

int main() {
 // codec is found successfully
 const AVCodec * codec = avcodec_find_decoder(AV_CODEC_ID_WMAV2);
 if (!codec) {
 fprintf(stderr, "codec not found\n");
 return 1;
 }

 // parser is always NULL
 AVCodecParserContext * parser = av_parser_init(codec->id);
 if (!parser) {
 fprintf(stderr, "parser not found\n");
 return 1;
 }

 av_parser_close(parser);
 return 0;
}



Build commands :


clang -c -I/opt/homebrew/Cellar/ffmpeg/6.0_1/include wma2mp3.c -o obj/wma2mp3.o
clang -L/opt/homebrew/Cellar/ffmpeg/6.0_1/lib -lavcodec obj/wma2mp3.o -o wma2mp3



I'm surprised by the fact that the FFmpeg CLI can perform this operation on the same machine :


% ffmpeg -i test.wma test.mp3
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
 built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0_1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 58. 2.100 / 58. 2.100
 libavcodec 60. 3.100 / 60. 3.100
 libavformat 60. 3.100 / 60. 3.100
 libavdevice 60. 1.100 / 60. 1.100
 libavfilter 9. 3.100 / 9. 3.100
 libswscale 7. 1.100 / 7. 1.100
 libswresample 4. 10.100 / 4. 10.100
 libpostproc 57. 1.100 / 57. 1.100
Guessed Channel Layout for Input Stream #0.0 : mono
Input #0, asf, from 'test.wma':
 Metadata:
 ToolName : Windows Media Encoding Utility
 ToolVersion : 8.00.00.0343
 Duration: 00:00:00.74, start: 0.000000, bitrate: 80 kb/s
 Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 1 channels, fltp, 48 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (wmav2 (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'test.mp3':
 Metadata:
 ToolName : Windows Media Encoding Utility
 ToolVersion : 8.00.00.0343
 TSSE : Lavf60.3.100
 Stream #0:0: Audio: mp3, 44100 Hz, mono, fltp
 Metadata:
 encoder : Lavc60.3.100 libmp3lame
[libmp3lame @ 0x130706320] Queue input is backward in timeed=N/A 
[mp3 @ 0x1307056e0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 15668 >= 14764
size= 8kB time=00:00:00.97 bitrate= 65.8kbits/s speed= 103x 
video:0kB audio:8kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.048112%



I am using an Apple M1 machine running MacOS 13.5.2 (22G91).


Is the CLI using a different mechanism than
av_parser_parse2
to perform this conversion, and is there a better way to accomplish this via the C API ?