
Recherche avancée
Autres articles (53)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (10217)
-
Reading JPEG in ffmpeg
16 juillet 2021, par Paul LammertsmaI'm trying to get ffmpeg to encode several individual JPEG images into a video on Android. I've successfully built it for Android (see the configuration string at the end of this post).



I can encode an h.263+ video with randomly generated frame content, and ffmpeg otherwise appears to work well.



A similar question suggests that the following code should be sufficient to load an image into an
AvFrame
:


// Make sure we have the codecs
av_register_all();

AVFormatContext *pFormatCtx;
int ret = av_open_input_file(&pFormatCtx, imageFileName, NULL, 0, NULL);

if (ret != 0) {
 printf("Can't open image file '%s': code %d, %s",
 imageFileName, ret, strerror(AVERROR(ret)));
}




The above returns the correct absolute file path and error :





Failed '/sdcard/DCIM/Camera/IMG083.jpg' : code -1094995529, Unknown error : 1094995529





Incidentally, if I omit
av_register_all()
, it returns with error 2.


I've compiled ffmpeg with the following arguments :







./configure —target-os=linux 
 —prefix=$PREFIX 
 —enable-cross-compile 
 —extra-libs="-lgcc" 
 —arch=arm 
 —cc=$PREBUILT/bin/arm-linux-androideabi-gcc 
 —cross-prefix=$PREBUILT/bin/arm-linux-androideabi- 
 —nm=$PREBUILT/bin/arm-linux-androideabi-nm 
 —sysroot=$PLATFORM 
 —extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " 
 —enable-shared 
 —enable-static 
 —extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" 
 —disable-everything 
 —enable-demuxer=mov 
 —enable-demuxer=h264 
 —disable-ffplay 
 —enable-protocol=file 
 —enable-avformat 
 —enable-avcodec 
 —enable-decoder=mjpeg 
 —enable-decoder=png 
 —enable-parser=h264 
 —enable-encoder=h263 
 —enable-encoder=h263p 
 —disable-network 
 —enable-zlib 
 —disable-avfilter 
 —disable-avdevice







Any suggestions would be most welcome !


-
Reading JPEG in ffmpeg
23 octobre 2012, par Paul LammertsmaI'm trying to get ffmpeg to encode several individual JPEG images into a video on Android. I've successfully built it for Android (see the configuration string at the end of this post).
I can encode an h.263+ video with randomly generated frame content, and ffmpeg otherwise appears to work well.
A similar question suggests that the following code should be sufficient to load an image into an
AvFrame
:// Make sure we have the codecs
av_register_all();
AVFormatContext *pFormatCtx;
int ret = av_open_input_file(&pFormatCtx, imageFileName, NULL, 0, NULL);
if (ret != 0) {
printf("Can't open image file '%s': code %d, %s",
imageFileName, ret, strerror(AVERROR(ret)));
}The above returns the correct absolute file path and error :
Failed '/sdcard/DCIM/Camera/IMG083.jpg' : code -1094995529, Unknown error : 1094995529
Incidentally, if I omit
av_register_all()
, it returns with error 2.I've compiled ffmpeg with the following arguments :
./configure —target-os=linux
—prefix=$PREFIX
—enable-cross-compile
—extra-libs="-lgcc"
—arch=arm
—cc=$PREBUILT/bin/arm-linux-androideabi-gcc
—cross-prefix=$PREBUILT/bin/arm-linux-androideabi-
—nm=$PREBUILT/bin/arm-linux-androideabi-nm
—sysroot=$PLATFORM
—extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS "
—enable-shared
—enable-static
—extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog"
—disable-everything
—enable-demuxer=mov
—enable-demuxer=h264
—disable-ffplay
—enable-protocol=file
—enable-avformat
—enable-avcodec
—enable-decoder=mjpeg
—enable-decoder=png
—enable-parser=h264
—enable-encoder=h263
—enable-encoder=h263p
—disable-network
—enable-zlib
—disable-avfilter
—disable-avdeviceAny suggestions would be most welcome !
-
MPEG-2 AAC frame-by-frame audio decoding
3 mai 2018, par Jonathan MayI have individual audio frames encoded in MPEG-2 AAC. Each frame consists of 1024 16 bit PCM samples.
I notice that each AAC frame is a different size. I assume this is a result of the MPEG-2 AAC compression algorithm and perfectly normal.
I need a way to decode a single frame and get back the original 1024 PCM samples (with error from lossy compression, that’s fine).
I couldn’t find information about the MPEG-2 AAC algorithm ANYWHERE online. It’s kinda nuts.
I’ve been trying a crude work around using a library called
pydub
, which contains a few methods which use FFMPEG’s AAC decoder. Trying to load the audio frame as an AudioSegment using AAC encoding :audioData = BytesIO(frame)
sound = AudioSegment.from_file(audioData, format="aac")gives the following error :
[aac @ 000002d444c1aa00] Estimating duration from bitrate, this may be inaccurate\r\n
Input #0, aac, from 'C:\\Users\\jmk_m\\AppData\\Local\\Temp\\tmpjl3x0xao':\r\n
Duration: 00:00:00.19, bitrate: 23 kb/s\r\n
Stream #0:0: Audio: aac (LC), 22050 Hz, mono, fltp, 23 kb/s\r\nStream mapping:\r\n
Stream #0:0 -> #0:0 (aac (native) -> pcm_s16le (native))\r\n
Press [q] to stop, [?] for help\r\n
Output #0, wav, to 'C:\\Users\\jmk_m\\AppData\\Local\\Temp\\tmpxmp942e4':\r\n
Metadata:\r\n
ISFT : Lavf58.10.100\r\n
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, mono, s16, 352 kb/s\r\n
Metadata:\r\n encoder : Lavc58.13.100 pcm_s16le\r\n
[aac @ 000002d444cc7480] Reserved bit set.\r\n
[aac @ 000002d444cc7480] Prediction is not allowed in AAC-LC.\r\n
Error while decoding stream #0:0: Invalid data found when processing input\r\n
[aac @ 000002d444cc7480] Reserved bit set.\r\n
[aac @ 000002d444cc7480] Prediction is not allowed in AAC-LC.\r\n
Error while decoding stream #0:0: Invalid data found when processing input\r\n
[aac @ 000002d444cc7480] Prediction is not allowed in AAC-LC.\r\n
Error while decoding stream #0:0: Invalid data found when processing input\r\n
size= 2kB time=00:00:00.04 bitrate= 366.2kbits/s speed=5.45x \r\n
video:0kB audio:2kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.808594%\r\n
Conversion failed!\r\n"If anyone has any insights as to what may be causing the error, or any alternative approaches, that’d be greatly appreciated !