
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (65)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, 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 (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)
Sur d’autres sites (8842)
-
Rendering video streaming in android
16 avril 2013, par user1568549I've successfully cross-compiled a c++ streaming library to the ICS platform
This library contains a sample player that uses sdl library to render the resulting decoded streams and libav for decoding that i've also succeeded to cross compile(libav ... classes) .Then, i 've made the necessary jni classes and tested it log tags it seems that everything is fine but now i want to show the result on the screen(show the real streaming not just log messages)
I am searching for the easiest way to render my video-stream (just to be sure that everything works fine)
Am i obliged to cross-compile the SDL library too ? Is it possible ? If yes is there any good tutorial ?
Is there any other solution to render directly FFmpeg decoded frames ?
-
ffmpeg + x264 in Android, undefined reference to several functions
13 avril 2013, par user1914692I was trying to use the halfninja's tutorial to get the library for Android.
However, it has error :
error: ERROR: libx264 not found
After painful searching, I found that Panayiotis Karabassis's configuration works.
for x264 configuration, we need to add :
--enable-static \
for ffmpeg configuration,
--ld=arm-linux-androideabi-gcc \
--extra-libs="-lgcc"I do not know why we should use ld=arm-linux-androideabi-gcc, rather than ld=arm-linux-androideabi-ld.
But if we use ld=arm-linux-androideabi-ld, the compiling will not work.Anyway, now I get libvideokit.so
I put it in the jni project folder.
I include the header files.
So snippet in Android.mk is :LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_LDLIBS += -L$(NDK_PLATFORMS_ROOT)/$(TARGET_PLATFORM)/arch-arm/usr/lib -L$(LOCAL_PATH)
LOCAL_LDLIBS += -lvideokit
LOCAL_LDLIBS += -llog -ldl
LOCAL_LDLIBS += -ljnigraphicsThe related ffmpeg configuration are :
featureflags="--disable-everything \
--enable-decoder=mjpeg --enable-demuxer=mjpeg --enable-parser=mjpeg \
--enable-demuxer=image2 --enable-muxer=mp4 --enable-encoder=libx264 --enable-libx264 \
--enable-decoder=rawvideo \
--enable-protocol=file \
--enable-hwaccels"
./configure --enable-cross-compile \
--arch=arm5te \
--enable-armv5te \
--target-os=linux \
--disable-stripping \
--prefix=../output \
--disable-neon \
--enable-version3 \
--enable-shared \
--enable-static \
--enable-gpl \
--enable-memalign-hack \
--cc=arm-linux-androideabi-gcc \
--ld=arm-linux-androideabi-gcc \
--extra-cflags="-fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated" \
$featureflags \
--disable-everything \
--enable-decoders \
--enable-demuxers \
--enable-muxer=mp4 \
--enable-encoders \
--enable-libx264 \
--enable-protocols \
--enable-parsers \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--enable-network \
--enable-filter=buffer \
--enable-filter=buffersink \
--enable-filter=scale \
--enable-bsfs \
--enable-swscale \
--enable-asm \
--disable-demuxer=v4l \
--disable-demuxer=v4l2 \
--disable-indev=v4l \
--disable-indev=v4l2 \
--extra-cflags="-I../x264" \
--extra-ldflags="-L../x264" \
--extra-libs="-lgcc"In my jni c file jni_part.cpp, it
Here is one snippet :static int open_input_file(const char *filename, structForInVFile& inVStruct) {
int ret;
// static AVCodecContext *inCodecContext;
inVStruct.video_stream_index = -1;
AVCodec* inCodec;
if ((ret = avformat_open_input(&(inVStruct.inFormatContext), filename, NULL, NULL)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot open input file\n");
return ret;
}
if ((ret = avformat_find_stream_info(inVStruct.inFormatContext, NULL)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot find stream information\n");
return ret;
}
/* select the video stream */
ret = av_find_best_stream(inVStruct.inFormatContext, AVMEDIA_TYPE_VIDEO, -1, -1, &(inVStruct.inCodec), 0);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot find a video stream in the input file\n");
return ret;
}
inVStruct.video_stream_index = ret;
inVStruct.inCodecContext = inVStruct.inFormatContext->streams[inVStruct.video_stream_index]->codec;
inVStruct.inFrameRate = inVStruct.inFormatContext->streams[inVStruct.video_stream_index]->r_frame_rate.num;
/* init the video decoder */
if ((ret = avcodec_open2(inVStruct.inCodecContext, inVStruct.inCodec, NULL)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot open video decoder\n");
return ret;
}
if (ret == 0) {
// Allocate AVFrame, AVPacekt for the input video file: inFormatContext
inVStruct.inFrame = avcodec_alloc_frame();
if (!inVStruct.inFrame) {
perror("Could not allocate inFrame");
exit(1);
}
}
return 0;
}After building, the console information is :
./obj/local/armeabi-v7a/objs/native_sample/jni_part.o: In function `open_input_file':
/AndrVideo/jni/jni_part.cpp:82: undefined reference to `avformat_find_stream_info'
/AndrVideo/jni/jni_part.cpp:99: undefined reference to `avcodec_open2'(and other undefined reference information in the remaining : such as :
av_opt_set, av_frame_get_best_effort_timestamp, avcodec_free_frame, avformat_close_input, avcodec_encode_video2 etc.)You could see that :
function "avformat_open_input" can be resolved.
But the next function "avformat_find_stream_info", is not undefined.
Both functions are in the utils.c file.
So the difference might be in the enable options. But I have no clue to find out the solution.Help !! I have been stuck here for quite a while... BTW, the original cpp file in C++ environment works well.
[Update 1] I found the reason. The grabbed ffmpeg in halfninja is an old one. The old one does not have the function avformat_find_stream_info.
I grab latest version of ffmpeg and x264. But there are still errors. Let me try to figure it out.[Update 2] There are many versions for compiling ffmpeg+libx264 on Android. I want to use the latest version of ffmpeg and libx264. And I found combination of halfninja and vitamio can make compilation work. However, wait...
Now I get the -lavdevice -lavformat -lavfilter -lavcodec -lswscale -lavutil -lx264
I include them in the jni in the Android app.
Building the app is fine.
However, running is not good.
Error information is :04-12 18:50:49.303: D/dalvikvm(8149): Trying to load lib /data/data/com.example.andrvideoprocess/lib/libnative_sample.so 0x4051def8
04-12 18:50:49.303: D/AndroidRuntime(8149): Shutting down VM
04-12 18:50:49.313: W/dalvikvm(8149): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
04-12 18:50:49.313: E/AndroidRuntime(8149): FATAL EXCEPTION: main
04-12 18:50:49.313: E/AndroidRuntime(8149): java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1312]: 69 cannot locate '__aeabi_llsl'...
04-12 18:50:49.313: E/AndroidRuntime(8149): at java.lang.Runtime.loadLibrary(Runtime.java:434)I spend a lot of time solving issues one by one. And now I am still far away from success. Help !!!
-
Android ffmpeg lib has no runnable permission
30 mai 2014, par pelikenI have an app that works with
ffmpeg
library. There are free and full version. Both version
works fine, but after upload them to google play and then install from it full version begin says"java.io.IOException: Error running exec() Working Directory: null"
when I try to useffmpeg
.
I root my device to check libraries (libffmpeg.so
) in app folder and I found that in free version library has
-rwxr-xr-x
permission that is normal but full version library has-rw-r--r--
permission that is read only.
If I install app without google play from myapk
’s all works fine.