
Recherche avancée
Autres articles (66)
-
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 -
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 (9861)
-
What causes "double free or corruption" and "invalid pointer" in javacpp - ffmpeg ?
7 septembre 2016, par Jiro MatchonsonI use https://github.com/bytedeco/javacpp-presets/tree/master/ffmpeg
<dependency>
<groupid>org.bytedeco.javacpp-presets</groupid>
<artifactid>ffmpeg</artifactid>
<version>3.1.2-1.2</version>
</dependency>When i am calling avformat_open_input/avformat_close_input i randomly (never at first call) get those errors :
Error in `/usr/lib/jvm/java-8-oracle/bin/java': double free or corruption (out): 0x00007fe79c194aa0
or
Error in `/usr/lib/jvm/java-8-oracle/bin/java': double free or corruption (!prev): 0x00007fe51c3ffb60
or
Error in `/usr/lib/jvm/java-8-oracle/bin/java': double free or corruption (fasttop): 0x00007fcdc40fe4a0
I cant find out how to solve this, please help.
There is my implementation :
private static void registerComponents() {
if (!componentsRegistered) {
componentsRegistered = true;
av_register_all();
}
}
public static void decodeFrame(ByteBuffer frameData) {
registerComponents();
AVFormatContext pFormatCtx = avformat_alloc_context();
int i, videoStream;
AVCodecContext pCodecCtx = null;
AVCodec pCodec = null;
AVFrame pFrame = null;
AVFrame pFrameRGB = null;
int[] frameFinished = new int[1];
int numBytes;
BytePointer buffer = null;
AVDictionary optionsDict = null;
SwsContext sws_ctx = null;
AVIOContext ioContext = avio_alloc_context(new BytePointer(frameData), frameData.capacity(), 0, null, null, null, null);
pFormatCtx.pb(ioContext);
if (avformat_open_input(pFormatCtx, "", null, null) < 0) {
logger.error(MarkerFactory.getMarker("ffmpeg"), "Problem with load video from memory.");
return;
}
avformat_close_input(pFormatCtx);
} -
libavdevice.so.57 : failed to map segment from shared object : Permission denied"
10 septembre 2016, par user3579130I have successfully installed ffmpeg ver. 4.4.7 on centos, with shared enabled as such :
[root@localhost ~]# ffmpeg
ffmpeg version N-81555-g496d97f Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)
configuration: --prefix=/usr/local/ffmpeg_build --extra-cflags=-I/usr/local/ffmpeg_build/include --extra-ldflags=-L/usr/local/ffmpeg_build/lib --bindir=/usr/local/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-shared
libavutil 55. 29.100 / 55. 29.100
libavcodec 57. 54.102 / 57. 54.102
libavformat 57. 48.102 / 57. 48.102
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 60.100 / 6. 60.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...However, when I run in php, through exec I get
"/usr/local/bin/ffmpeg : error while loading shared libraries :
libavdevice.so.57 : failed to map segment from shared object :
Permission denied"I know the web server executes the command as user ’apache’ and not root, but I installed ffmpeg in /usr/local/ffmpeg_build for that specific reason, so that the regular users can use ffmpeg.
What did I miss ? What does this error mean ?
-
Compiling FFmpeg on OSX - "speex not found using pkg-config"
19 septembre 2016, par n4zArhI recently had few problems with FFmpeg and compiling it to get library. I managed to get through all of them, however recently I found out I need to add Speex decoder (and possibly encoder) to my project. I got Speex by sources,
./configure
andmake;make install
(later - as I had problems - I also used Brew to download Speex). I added--enable-libspeex
to my configure script and every time I try to use it I get "Speex not found using pkg-config
" error.I am sure that there’s Speex files at
/usr/local/include
andlib
directories, I also added those two as CFLAGS and LDFLAGS, I tried building Speex with or without using--prefix
(both pointing to/usr/
and/usr/local/
), I tried modifying FFmpeg’s configure file (require_pkg_config
with Speex call), but no matter what I try to do I fail to build it - every time with same error.Long story short - how to build FFmpeg with Speex decoder on OSX ? I read somewhere that libspeex-dev might be needed, but it’s available through apt-get and not Brew (unless I screwed something up).
My build script :
#!/bin/bash
if [ "$NDK" = "" ]; then
echo NDK variable not set, assuming ${HOME}/android-ndk
export NDK=${HOME}/Library/Android/sdk/ndk-bundle
fi
SYSROOT=$NDK/platforms/android-16/arch-arm
# Expand the prebuilt/* path into the correct one
TOOLCHAIN=`echo $NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64`
export PATH=$TOOLCHAIN/bin:$PATH
rm -rf build/ffmpeg
mkdir -p build/ffmpeg
cd ffmpeg
# Don't build any neon version for now
for version in armv5te armv7a; do
DEST=../build/ffmpeg
FLAGS="--target-os=linux --cross-prefix=arm-linux-androideabi- --arch=arm"
FLAGS="$FLAGS --sysroot=$SYSROOT"
FLAGS="$FLAGS --enable-shared --disable-symver"
FLAGS="$FLAGS --enable-small"
FLAGS="$FLAGS --disable-everything"
FLAGS="$FLAGS --enable-decoder=h264 --enable-decoder=adpcm_ima_oki --enable-decoder=adpcm_ima_ws"
FLAGS="$FLAGS --enable-encoder=adpcm_ima_qt --enable-encoder=adpcm_ima_wav --enable-encoder=adpcm_g726"
FLAGS="$FLAGS --enable-encoder=adpcm_g722 --enable-libspeex"
case "$version" in
neon)
EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon"
EXTRA_LDFLAGS="-Wl,--fix-cortex-a8"
# Runtime choosing neon vs non-neon requires
# renamed files
ABI="armeabi-v7a"
;;
armv7a)
EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp"
EXTRA_LDFLAGS=""
ABI="armeabi-v7a"
;;
*)
EXTRA_CFLAGS=""
EXTRA_LDFLAGS=""
ABI="armeabi"
;;
esac
DEST="$DEST/$ABI"
FLAGS="$FLAGS --prefix=$DEST"
EXTRA_CFLAGS="$EXTRA_CFLAGS -I/usr/local/include/"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L/usr/local/lib"
PKT_CONFIG_PATH="/usr/lib/pkgconfig/"
mkdir -p $DEST
echo $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" > $DEST/info.txt
./configure $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" | tee $DEST/configuration.txt
[ $PIPESTATUS == 0 ] || exit 1
rm compat/strtod.o
rm compat/strtod.d
make clean
make -j4 || exit 1
make install || exit 1
doneTail of config.log :
BEGIN /tmp/ffconf.QcYgKHFW.c
1 #include
2 #include
3 float foo(complex float f, complex float g) { return cabs(f * I); }
4 int main(void){ return (int) foo; }
END /tmp/ffconf.QcYgKHFW.c
arm-linux-androideabi-gcc --sysroot=/Users/mgriszbacher/Library/Android/sdk/ndk-bundle/platforms/android-16/arch-arm -isysroot /Users/mgriszbacher/Library/Android/sdk/ndk-bundle/platforms/android-16/arch-arm -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Dstrtod=avpriv_strtod -DPIC -I/usr/local/include/ -march=armv5te -std=c99 -fomit-frame-pointer -fPIC -marm -pthread -c -o /tmp/ffconf.vfjjuG7b.o /tmp/ffconf.QcYgKHFW.c
/tmp/ffconf.QcYgKHFW.c:1:21: fatal error: complex.h: No such file or directory
#include
^
compilation terminated.
check_complexfunc cexp 1
check_ld cc
check_cc
BEGIN /tmp/ffconf.QcYgKHFW.c
1 #include
2 #include
3 float foo(complex float f, complex float g) { return cexp(f * I); }
4 int main(void){ return (int) foo; }
END /tmp/ffconf.QcYgKHFW.c
arm-linux-androideabi-gcc --sysroot=/Users/mgriszbacher/Library/Android/sdk/ndk-bundle/platforms/android-16/arch-arm -isysroot /Users/mgriszbacher/Library/Android/sdk/ndk-bundle/platforms/android-16/arch-arm -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Dstrtod=avpriv_strtod -DPIC -I/usr/local/include/ -march=armv5te -std=c99 -fomit-frame-pointer -fPIC -marm -pthread -c -o /tmp/ffconf.vfjjuG7b.o /tmp/ffconf.QcYgKHFW.c
/tmp/ffconf.QcYgKHFW.c:1:21: fatal error: complex.h: No such file or directory
#include
^
compilation terminated.
check_pkg_config speex speex/speex.h speex_decoder_init -lspeex
false --exists --print-errors speex
ERROR: speex not found using pkg-config