Recherche avancée

Médias (2)

Mot : - Tags -/kml

Autres articles (78)

  • Utilisation et configuration du script

    19 janvier 2011, par

    Informations spécifiques à la distribution Debian
    Si vous utilisez cette distribution, vous devrez activer les dépôts "debian-multimedia" comme expliqué ici :
    Depuis la version 0.3.1 du script, le dépôt peut être automatiquement activé à la suite d’une question.
    Récupération du script
    Le script d’installation peut être récupéré de deux manières différentes.
    Via svn en utilisant la commande pour récupérer le code source à jour :
    svn co (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (5852)

  • Compiling FFMPEG with x265 has ERROR : x265 not found using pkg-config

    23 mars 2023, par timweiliu

    At first, I have a project with ffmpeg build support x264 for android in Mac OS.

    



    Now, I want to add x265 support.

    



    I have compiled the x265 with make & make install like this :

    



    [ 81%] Built target x265-static
[100%] Built target cli
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/lib/libx265.a
-- Up-to-date: /usr/local/include/x265.h
-- Up-to-date: /usr/local/include/x265_config.h
-- Up-to-date: /usr/local/lib/pkgconfig/x265.pc
-- Up-to-date: /usr/local/bin/x265


    



    and then, I run this shell script :

    



    make distclean 

NDK_PATH=$NDK_HOME
NDK_ARM_PATH=${NDK_PATH}/platforms/android-9/arch-arm
NDK_ARM_BIN_PATH=${NDK_PATH}/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin

CC=${NDK_ARM_BIN_PATH}/arm-linux-androideabi-gcc

chmod +x configure
chmod +x version.sh

if [ $APP_ABI = "armeabi-v7a" ]; then
LOCAL_CFLAGS="-O3 -DANDROID -fpic -I/usr/local/include -march=armv7-a -mfloat-abi=softfp -mfpu=neon"
ABLES="--enable-asm --enable-thumb --enable-hwaccels --cpu=armv7-a --enable-neon"
elif [ $APP_ABI = "armeabi" ]; then
LOCAL_CFLAGS="-O3 -DANDROID -fpic -I/usr/local/include"
ABLES="--disable-neon"
fi
echo $LOCAL_CFLAGS
echo $ABLES
echo $PKG_CONFIG_PATH

echo "开始configure"
./configure \
--disable-yasm \
--disable-debug \
--disable-doc \
--disable-ffmpeg \
--disable-ffprobe \
--disable-ffplay \
--disable-ffserver \
--disable-stripping \
--disable-avdevice \
--disable-postproc \
--disable-network \
--enable-pthreads \
--enable-small \
--disable-encoders \
--enable-encoder=libx264 \
--enable-encoder=libfdk_aac \
--enable-libx265 \
--pkg-config-flags="--static" \
...

echo "开始make"
make -j4

echo "开始install"
sudo make install


    



    It results in an error :

    



    -O3 -DANDROID -fpic -I/usr/local/include -march=armv7-a -mfloat-abi=softfp -mfpu=neon
--enable-asm --enable-thumb --enable-hwaccels --cpu=armv7-a --enable-neon
/usr/local/lib/pkgconfig
开始configure
ERROR: x265 not found using pkg-config


    



    I looked at the config.log :

    



    use_pkg_config x265 x265.h x265_api_get
check_pkg_config x265 x265.h x265_api_get
false --exists --print-errors x265
ERROR: x265 not found using pkg-config


    



    but, the file of x265.pc is existing on the path. Its content is :

    



    prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: x265
Description: H.265/HEVC video encoder
Version: 0.0
Libs: -L${libdir} -lx265
Libs.private: -lstdc++ -lm -lgcc -ldl -lgcc -ldl
Cflags: -I${includedir}


    



    and the x265.h is in include path too.

    



    I run

    



    pkg-config --list-all


    



    It also finds x265 :

    



    TIMWEILIU-MC0:libSrc timweiliu$ pkg-config --list-all
libecpg_compat libecpg_compat - PostgreSQL libecpg_compat library
fdk-aac        Fraunhofer FDK AAC Codec Library - AAC codec library
apr-1          APR - The Apache Portable Runtime library
apr-util-1     APR Utils - Companion library for APR
libpq          libpq - PostgreSQL libpq library
libpcre        libpcre - PCRE - Perl compatible regular expressions C library with 8 bit character support
libpgtypes     libpgtypes - PostgreSQL libpgtypes library
libecpg        libecpg - PostgreSQL libecpg library
x264           x264 - H.264 (MPEG4 AVC) encoder library
x265           x265 - H.265/HEVC video encoder
libpcreposix   libpcreposix - PCREPosix - Posix compatible interface to libpcre
libiodbc       iODBC - iODBC Driver Manager


    



    Now, I don’t know why it does not work.
Why does pkg-config still not find the x265 ?

    


  • I can't use immediately converted video with FFmpeg (Android)

    26 juin 2019, par Jose Q

    I’m using this lib to turn a video with a watermark into a corner : https://github.com/WritingMinds/ffmpeg-android-java

    To detect when the video conversion is ready I’m using this :

    try {
           ffmpeg.execute(command, new ExecuteBinaryResponseHandler() {
               @Override
               public void onFailure(String s) {
               }

               @Override
               public void onSuccess(String s) {
               }

               @Override
               public void onProgress(String s) {
               }

               @Override
               public void onStart() {
               }

               @Override
               public void onFinish() {

                   //outpath is: /storage/emulated/0/drawable/share1561561063811.mp4
                   Uri u = Uri.parse(outpath);

               }
           });
       } catch (FFmpegCommandAlreadyRunningException e) {
           // do nothing for now
       }

    Well, everything goes perfect so far, I can find the video through the file manager, but what I can’t do is use it immediately after onFinish() in my app.

    I can’t play the video or upload it. I’ve tried using outpath directly and also tried this method that works for other videos and I get null. :

    private String getRealPathFromURI(Uri contentUri) {
       String[] proj = { MediaStore.Images.Media.DATA };
       CursorLoader loader = new CursorLoader(this, contentUri, proj, null, null, null);
       Cursor cursor = loader.loadInBackground();
       int column_index = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
       cursor.moveToFirst();
       String result = cursor.getString(column_index);
       cursor.close();
       return result;
    }
  • Video Processing in background using ffmpeg

    20 juin 2019, par Mehran

    The problem comes when during the video processing user closes the application himself from the task manager then its processing stops.

    I am working on video file processing in android using FFMpeg, which is working perfectly but when I do close the application during processing from task manager then video processing has stopped working even I added all the work in work manager.

    @Override
    public Result doWork() {
       shellCommand = new ShellCommand();
       ffmpegBinary = new String[] {
           FileUtils.getFFmpeg(context).getAbsolutePath()
       };
       command = concatenate(ffmpegBinary, command);
       CommandResult commandResult = getCommandResult(command);
       if (command`enter code here`Result.success) {
           onSuccess(videoPath);
       } else {
           onFailure(videoPath);
       }
    }
    //getCommandResult
    private CommandResult getCommandResult(String[] command) {
       try {
           process = shellCommand.run(command, null);

           if (process == null) {
               return CommandResult.getDummyFailureResponse();
           }
           checkAndUpdateProcess();
           return CommandResult.getOutputFromProcess(process);
       } catch(Exception e) {} finally {
           Util.destroyProcess(process);
       }`enter code here`
       return CommandResult.getDummyFailureResponse();
    }

    As far as I can tell, when the application closes from the background then the parent process destroys it and is destroying all of its sub-process too, FFMpeg is using the android process to execute the command and check the video file status during video processing.