
Recherche avancée
Autres articles (61)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...) -
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)
Sur d’autres sites (11106)
-
Build FFMPEG with x264 for Android
26 mai 2023, par KageI am trying to build FFMPEG with libx264 for Android.



I can successfully build and use FFMPEG for Android but I realized that I need the ability to encode, therefore I am trying to build FFMPEG with x264.



I am using this tutorial to build FFmpeg for Android http://www.roman10.net/how-to-build-ffmpeg-for-android/



When trying to build FFMPEG I get an error :





"ERROR : libx264 not found"





And in my log it says :





"/usr/local/lib/libx264.a : could not read symbols : Archive has no
 index ; run ranlib to add one..."





I have the latest versions of both FFMPEG and x264.
I understand that FFMPEG looks for the header and libraries in usr/lib and usr/include, so in order to make it find x264 I use the cflags and ldflags :



- 

- —extra-cflags = " -I/usr/local/include "
- —extra-ldflags = " -L/usr/local/lib "







I have tried building x264 with many different options that other people on the internet have said that i need. eg. —enable-shared, —enable-static, —disable-pthreads etc.
Some forums say enable this, others say no disable that.



Any help would be much appreciated,
Thanks



EDIT :



If I build FFmpeg with the simplest commands to include libx264 then it works.
ie.



./configure --enable-gpl --enable-libx264 --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib" --enable-static --enable-shared




However I need it to work for Android. The script I am using is :



NDK=~/Desktop/android-ndk-r7
PLATFORM=$NDK/platforms/android-8/arch-arm/
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86
function build_one
{
./configure --target-os=linux \
 --prefix=$PREFIX \
 --enable-cross-compile \
 --enable-shared \
 --enable-static \
 --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 -I/usr/local/include" \
 --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L $PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog -L/usr/local/lib " \
 --enable-gpl \
 --enable-libx264 \
 --disable-everything \
 --enable-demuxer=mov \
 --enable-demuxer=h264 \
 --disable-ffplay \
 --enable-protocol=file \
 --enable-avformat \
 --enable-avcodec \
 --enable-decoder=rawvideo \
 --enable-decoder=mjpeg \
 --enable-decoder=h263 \
 --enable-decoder=mpeg4 \
 --enable-decoder=h264 \
 --enable-encoder=mjpeg \
 --enable-encoder=h263 \
 --enable-encoder=mpeg4 \
 --enable-encoder=h264 \
 --enable-parser=h264 \
 --disable-network \
 --enable-zlib \
 --disable-avfilter \
 --disable-avdevice \
 $ADDITIONAL_CONFIGURE_FLAG

make clean
make -j4 install
$PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
$PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg.so -shared -nostdlib -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
}

CPU=armv7-a
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
PREFIX=./android/$CPU
ADDITIONAL_CONFIGURE_FLAG=
build_one




I am guessing that some option in my configure command is conflicting with enabling libx264



NOTE : If I remove —enable-libx264 then it works


-
avcodec_find_encoder(AV_CODEC_ID_H264) returns null
25 mai, par Monjura RumiI am building an android application which will encode image captured from camera preview and later decode it. I am using ffmpeg library to encode and decode. To build static library with x264 I have used this tutorial. http://dl.dropbox.com/u/22605641/ffmpeg_android/main.html. As a source code of ffmpeg if I use the one downloaded from the link given in tutorial I can built it but can't build library if i use source code downloaded from here git clone git ://source.ffmpeg.org/ffmpeg.git ffmpeg. I have built library in ubuntu and using it in windows 7 in Eclipse. As I need only h264 encoder and decoder I have used following code for ffmpeg, slightly modified from tutorial.



#!/bin/bash

NDK=~/Documents/android-ndk-r8e
PLATFORM=$NDK/platforms/android-8/arch-arm
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86
PREFIX=/home/android-ffmpeg

function build_one
{
 ./configure --target-os=linux --prefix=$PREFIX \
 --enable-cross-compile \
 --enable-runtime-cpudetect \
 --disable-asm \
 --arch=arm \
 --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
 --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
 --disable-stripping \
 --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
 --sysroot=$PLATFORM \
 --enable-nonfree \
 --enable-version3 \
 --disable-everything \
 --enable-gpl \
 --disable-doc \
 --enable-avresample \
 --disable-ffplay \
 --disable-ffserver \
 --enable-ffmpeg \
 --disable-ffprobe \
 --enable-avcodec \
 --enable-libx264 \
 --enable-encoder=libx264 \
 --enable-encoder=libx264rgb \
 --enable-decoder=h263 \
 --enable-decoder=h264 \
 --enable-decoder=svq3 \ 
 --enable-zlib \
 --enable-gpl \
 --enable-pic \
 --disable-devices \
 --disable-avdevice \
 --extra-cflags="-I/home/android-ffmpeg/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a" \
 --extra-ldflags="-L/home/android-ffmpeg/lib"
make -j4 install
$PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
$PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib -soname libffmpeg.so -shared -nostdlib -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libavresample/libavresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog -lx264 --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
}

build_one




After building library I have been able to build android ndk. A little part of my JNI code is here.



JNIEXPORT jint JNICALL Java_com_example_testjava_TestjniActivity_initencoder(JNIEnv* env,jobject obj){

 av_register_all();
 avcodec_register_all();
 codec = avcodec_find_encoder(AV_CODEC_ID_H264);
 if (!codec) {
 __android_log_write(ANDROID_LOG_INFO, "debug", "not found"); 
 return -1;
 }
.
.
.
}




When I run my java source code that calls initencoder() I get -1 as return value and logcat prints "not found". That means avcodec_find_encoder() returns null and if condition is being ok. I don't know what's wrong. Why this function is returning null ? I have searched a lot but did not find any solution that could guide me to right direction. some says to use avcodec_init(). But ndk-build command fails and shows error saying undefined reference to 'avcodec_init()'. I have started with library build because I thought may be I am doing wrong from the first stage. Did I make any mistake in library building like not enabling things that I should ? Please help me here. This is kind of urgent for me.


-
How to reduce conversion/compression time in FFmpeg and How to merge command ?
18 mai 2017, par Patel PinkalI want to reduce time taken to create new video after adding text in original video using FFmpeg
I had tried to search and I found this code given below for reducing time.-y -i /sdcard/videokit/in.mp4 -strict experimental -vcodec libx264 -preset ultrafast -crf 24 -acodec aac -ar 44100 -ac 2 -b 36000k -s 1280x720 -aspect 16:9 -metadata:s:v:0 rotate=0 /sdcard/videokit/out3.mp4
Now, I want to add text in video and it is done in FFmpeg, by this command and its 100% working.
String[] addTextCommand = {
"-i",
"" + realFilePath,
"-vf",
"drawtext=fontsize=50:fontfile=/storage/emulated/0/Download/Cerbetica-regular.ttf:fontcolor=red:text='"
+ strText +
"':x=0:y=0: box=1: boxcolor=black@0.5:boxborderw=10: x=0: y=(h-text_h)/2",
"-strict",
"-2",
outputFilePath};Now my problem is how do I merge this two code and make one single command to make an edited video and also take less time to create a new video. In this, I have tried this command but it’s not working.
String[] addTextCommand = {
"-i",
"" + realVideoPath,
"-vf",
"-c:v", "libx264",
"-preset", "ultrafast",
"-crf", "24",
"-acodec", "aac",
"-ar", "44100",
"-ac", "2",
"-b", "36000k",
"-s", "1280x720",
"-aspect", "16:9",
"-metadata:s:v:0 rotate=0",
"drawtext=fontsize=50:fontfile=/storage/emulated/0/Download/Cerbetica-regular.ttf:fontcolor=red:text='"
+ strText +
"':x=0:y=0: box=1: boxcolor=black@0.5:boxborderw=10: x=0: y=(h-text_h)/2",
"-strict",
"-2",
outputFilePath};If anyone has an idea how to make command of FFmpeg please describe it and explain how to use it.
Using command of @Mulvya I got this in the console.
D/MainActivity: FAILED with output : WARNING: linker: /data/user/0/com.inheritx.videoprocessing/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix.
ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (GCC)
configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/i686-linux-android- --arch=x86 --cpu=i686 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/x86 --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -march=i686' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Unrecognized option '2'.
Error splitting the argument list: Option not found
D/MainActivity: Finished command : ffmpeg -i
D/MainActivity: Finished command : ffmpeg /storage/emulated/0/Download/spacetestSMALL_512kb.mp4
D/MainActivity: Finished command : ffmpeg -vf
D/MainActivity: Finished command : ffmpeg drawtext=fontsize=50:fontfile=/system/fonts/DroidSans.ttf:fontcolor=red:text='Hello':x=0:y=0: box=1: boxcolor=black@0.5:boxborderw=10: x=0: y=(h-text_h)/2
D/MainActivity: Finished command : ffmpeg -c:v
D/MainActivity: Finished command : ffmpeg libx264
D/MainActivity: Finished command : ffmpeg -preset
D/MainActivity: Finished command : ffmpeg ultrafast
D/MainActivity: Finished command : ffmpeg -crf
D/MainActivity: Finished command : ffmpeg 24
D/MainActivity: Finished command : ffmpeg -acodec
D/MainActivity: Finished command : ffmpeg aac
D/MainActivity: Finished command : ffmpeg -ar
D/MainActivity: Finished command : ffmpeg 44100
D/MainActivity: Finished command : ffmpeg -s
D/MainActivity: Finished command : ffmpeg 1280x720
D/MainActivity: Finished command : ffmpeg -aspect
D/MainActivity: Finished command : ffmpeg 16:9
D/MainActivity: Finished command : ffmpeg -metadata:s:v:0 rotate=0
D/MainActivity: Finished command : ffmpeg -strict
D/MainActivity: Finished command : ffmpeg -2
D/MainActivity: Finished command : ffmpeg /storage/emulated/0/Movies/add_text25.mp4