Recherche avancée

Médias (91)

Autres articles (49)

  • Librairies et logiciels spécifiques aux médias

    10 décembre 2010, par

    Pour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
    Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-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

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (7521)

  • How to combine multiple videos in android using ffmpeg ?

    23 mai 2023, par Haeiny

    I added dependency to use ffmpeg on Android.

    


    implementation "com.arthenica:mobile-ffmpeg-full:4.4"


    


    And I wanted to combine the videos from the gallery, so I temporarily saved the imported video in the cache directory in the app.

    


    After that, I wrote the following function to take the saved images and merge them using ffmpeg :

    


    
fun mergeVideos(videoPaths: List\): Int {
        val cacheDirectory = this.externalCacheDir
        mergedVideoFile = File(cacheDirectory, "merged_video.mp4").absolutePath

        val command = StringBuilder()
        command.append("ffmpeg")
        for (videoPath in videoPaths) {
            command.append(" -i ").append(videoPath)
        }

        command.append(" -filter_complex ").append("\"")
        for (i in videoPaths.indices) {
            command.append("[$i:v] ").append("[$i:a] ")
        }

        command.append("concat=n=").append(videoPaths.size).append(":v=1:a=1 [v] [a]").append("\"")
        command.append(" -map \"[v]\" -map \"[a]\" ").append(mergedVideoFile)
    
        return FFmpeg.execute(command.toString())
    }


    


    I wanted to temporarily save the merged video in the "mergedVideoFile" so that I could save them in the cache directory, and videoPaths would get the Urls of the videos I wanted to merge into the list.

    


    The command verified through Log.d :

    


    
ffmpeg -i /storage/emulated/0/Android/data/"project name"/files/Movies/VIDEO1.mp4 -i /storage/emulated/0/Android/data/"project name"/files/Movies/VIDEO2.mp4 -filter_complex "\[0:v\] \[0:a\] \[1:v\] \[1:a\] concat=n=2:v=1:a=1 \[v\] \[a\]" -map "\[v\]" -map "\[a\]" /storage/emulated/0/Android/data/"project name"/cache/merged_video.mp4


    


    result of mergeVideos execution :

    


    
Loading mobile-ffmpeg.
Loaded mobile-ffmpeg-full-arm64-v8a-4.4-20210207.
Callback thread started.
ffmpeg version v4.4-dev-416
Copyright (c) 2000-2020 the FFmpeg developers
built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)

configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec

libavutil      56. 55.100 / 56. 55.100
libavcodec     58. 96.100 / 58. 96.100
libavformat    58. 48.100 / 58. 48.100
libavdevice    58. 11.101 / 58. 11.101
libavfilter     7. 87.100 /  7. 87.100
libswscale      5.  8.100 /  5.  8.100
libswresample   3.  8.100 /  3.  8.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/"project name"/files/Movies/VIDEO1.mp4':

Metadata:
major_brand     :   mp42
minor_version   :   0
compatible_brands:  isommp42
creation_time   :   2023-05-02T12:22:45.000000Z
com.android.version:  11
com.android.capture.fps:  30.000000
Duration:  00:00:02.51  , start:   0.000000  , bitrate:  14232 kb/s

      Stream #0:0

(eng)
: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 14022 kb/s
, SAR 1:1 DAR 16:9 ,  30 fps, 30 tbr,  90k tbn,  180k tbc   (default)

Metadata:
rotate          :  90
creation_time   : 2023-05-02T12:22:45.000000Z
handler_name    :  VideoHandle
Side data:
displaymatrix: rotation of -90.00 degrees

      Stream #0:1

(eng)
: Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s   (default)

     Metadata:
        creation_time   :   2023-05-02T12:22:45.000000Z
        handler_name    :   SoundHandle

Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/"project name"/files/Movies/VIDEO2.mp4':

... Input #1's video metadatas ...

\[NULL @ 0x78367662e0\] Unable to find a suitable output format for 'ffmpeg'
ffmpeg: Invalid argument


    


    I don't know what is the problem in my code.
Please help me.

    


  • FFMPEG S3 AWS Laravel Unable to check existence

    18 avril 2023, par Moomen Aldahdouh

    the error in logs laravel file
[2023-04-18 14:11:22] production.ERROR : Unable to check existence for : videos/643ea50862566/643ea50862566_0_300_%05d.ts "exception" :"[object] (League\Flysystem\UnableToCheckFileExistence(code : 0) : Unable to check existence for : videos/643ea50862566/643ea50862566_0_300_%05d.ts at C :\inetpub\mysite\vendor\league\flysystem\src\UnableToCheckExistence.php:19)
[stacktrace]

    


    I'm trying to upload a video on S3 service using Laravel FFMPEG and convert the video to multi-resolution after adding Frames, the error appears on the server, but on localhost not appear, and working very well locally.

    


    `FFMpeg::fromDisk('s3')//uploads
    ->open($this->data["storage_path_full"])
        ->exportForHLS()
        ->addFormat($lowBitrate, function ($media) {
            $media->addFilter('scale=256:144'); 
        })
        ->addFormat($superLowBitrate, function ($media) {
            $media->addFilter('scale=426:240'); 
        })
        ->addFormat($midBitrate, function ($media) {
            $media->addFilter('scale=480:360'); 
        })
        ->addFormat($superMidBitrate, function ($media) {
            $media->addFilter('scale=640:480'); 
        })
        ->addFormat($highBitrate, function ($media) {
            $media->addFilter('scale=1280:720'); 
        })
        ->addFormat($superHighBitrate, function ($media) {
            $media->addFilter('scale=1920:1080'); 
        })
        ->toDisk('s3')
        ->save($this->data["storage_path_video"]);`


    


  • Python : FFmpeg Input/output error using discord.py

    29 mai 2023, par PeeblYweeb

    here is my code :

    


       async def direct(self, interaction: discord.Interaction, link: str):
        voice_client = get(self.bot.voice_clients, guild=interaction.guild)
        if voice_client is None:
            return await interaction.response.send_message("❌ Connect to a channel first.")

        await interaction.response.send_message("Using direct link.")
        voice_client.play(discord.FFmpegPCMAudio(link))
        return


    


    here is my error :

    


    [tls @ 0x557c73a19d00] Error in the pull function.
https://cdn.discordapp.com/attachments/1109998398150545410/1112473248505004142/portradio-_1_.ogg: Input/output error
2023-05-28 13:29:11 INFO     discord.player ffmpeg process 1458408 successfully terminated with return code of 0.


    


    this happens usually around half-way through whatever im playing consistently

    


    i've tried setting arguments like :

    


    ffmpeg_options = {'options': '-vn -dn -sn -ignore_unknown -fflags +discardcorrupt'}


    


    from this other post
’corrupt input packet in stream 1’ error in FFMPEG
which fixed the error corrupt input packet but im still having trouble any ideas ?

    


    goal is to get the audio playing to discord without having to store the file locally then playing it from there then discarding it after.