Recherche avancée

Médias (91)

Autres articles (17)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike 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 (...)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

Sur d’autres sites (3380)

  • ffmpeg fast seek not working for MP4 over HTTP

    27 juillet 2024, par Gmanicus

    I'm attempting to download snapshots from a video provided by the U.S House of Representatives :

    


    https://houseliveprod-f9h4cpb9dyb8gegg.a01.azurefd.net/east/2024-04-11T08-55-12_Download/video_3000000_1.mp4


    


    I am using fluent-ffmpeg in Node to execute this command :

    


    ffmpeg('https://houseliveprod-f9h4cpb9dyb8gegg.a01.azurefd.net/east/2024-04-11T08-55-12_Download/video_3000000_1.mp4')
  .inputOption(`-ss 03:33:33`)
  .outputOptions([
     '-vframes 1'
  ])
  .output('test.png')

// Effectively:
// ffmpeg -ss 03:33:33 -i  -y -vframes 1 test.png


    


    My intention is to fast-seek to the desired timestamp and take a snapshot over HTTP. However, when doing so, the performance is not great. A snapshot takes about 10s per 3hrs of video and seems to increase fairly linearly at that rate.

    


    However, when using ffmpeg on the same video locally, it's super fast ! Sub-500ms regardless of the desired timestamp.

    


    Is there some magic that could be done via ffmpeg options or perhaps some sort of technique with manual requests to get a snapshot at the desired segment of video more efficiently ?

    


  • How to set min, max and avg bitrate or vbv delay using FFMPEG for livestream in Python ? [closed]

    10 mai 2024, par Tebyy

    I'm trying to set the minimum, maximum, and average bitrate or vbv delay for a WebM livestream in Python using FFMPEG, but it still shows "0" or "N/A". I've checked the documentation, and everything seems correct. I've also searched for solutions online, but none of them have solved my problem. Does anyone know what I might be doing wrong and how it should be done correctly ?

    


    FFMPEG Command :

    


    ffmpeg_command = [
        'ffmpeg', '-f', 'rawvideo', '-pix_fmt', 'bgr24',
        '-s:v', '1920x1080', '-r', '60',
        '-i', '-',
        # '-an',  # Turn off the audio track
        '-c:v', 'libvpx-vp9', '-g', '60', '-keyint_min', '60',
        '-b:v', '6M', '-minrate', '4M', '-maxrate', '12M', '-bufsize', '8M',
        '-crf', '0', '-deadline', 'realtime', '-tune', 'psnr', '-quality', 'good',
        '-tile-columns', '6', '-threads', '16', '-lag-in-frames', '16',
        '-f', 'webm', '-'
    ]


    


    PyCharm Console Logs :

    


    ffmpeg version N-115112-g39ce8a9695-20240507 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.2.0 (crosstool-NG 1.26.0.65_ecc5e41)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra-ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20240507
  libavutil      59. 17.100 / 59. 17.100
  libavcodec     61.  5.103 / 61.  5.103
  libavformat    61.  3.103 / 61.  3.103
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.101 / 10.  2.101
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
Input #0, rawvideo, from 'fd:':
  Duration: N/A, start: 0.000000, bitrate: 2985984 kb/s
  Stream #0:0: Video: rawvideo (BGR[24] / 0x18524742), bgr24, 1920x1080, 2985984 kb/s, 60 tbr, 60 tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> vp9 (libvpx-vp9))
[libvpx-vp9 @ 000002972f387100] v1.14.0
Output #0, webm, to 'pipe:':
  Metadata:
    encoder         : Lavf61.3.103
  Stream #0:0: Video: vp9, gbrp(pc, gbr/unknown/unknown, progressive), 1920x1080, q=2-31, 6000 kb/s, 60 fps, 1k tbn
      Metadata:
        encoder         : Lavc61.5.103 libvpx-vp9
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 8000000 vbv_delay: N/A


    


  • Unable find an ffmpeg binary for your Android system

    22 juillet 2024, par Ayush Thakur

    Working on a project where I need to use FFmpeg library in Kotlin to work on some audio files. However I'm unable to initialize the ffmpeg library itself.

    


    this is the error I'm getting

    


    Could not find an ffmpeg binary for your Android system. Did you forget calling: 'new AndroidFFMPEGLocator(this);' ?
2024-07-22 18:48:33.910 11800-11800 PipeDecoder             com.example.sangeet                  E  Tried to unpack a statically compiled ffmpeg binary for your architecture to: /data/user/0/com.example.sangeet/cache/ffmpeg
2024-07-22 18:48:33.923 11800-11800 AndroidRuntime          com.example.sangeet                  E  FATAL EXCEPTION: main (Ask Gemini)
                                                                                                    Process: com.example.sangeet, PID: 11800
                                                                                                    java.lang.Error: Decoding via a pipe will not work: Could not find an ffmpeg binary for your system


    


    @HiltAndroidApp
class Sangeet: Application(){
    override fun onCreate() {
        super.onCreate()
        provideFirebaseApp(this)
        FFmpegKitConfig.setLogLevel(Level.AV_LOG_INFO)
        FFmpegKitConfig.enableLogCallback { Log.d("ffmpeg",it.message) }
        initializeFFmpegKit()
    }
    private fun initializeFFmpegKit() {
        // This method should be sufficient to ensure FFmpegKit is ready to use
        val ffmpegSession = FFmpegKit.execute("ffmpeg -version")
        if (ReturnCode.isSuccess(ffmpegSession.returnCode)) {
            Log.d("FFmpeg", "FFmpeg is ready to use.")
        } else {
            Log.e("FFmpeg", "Failed to initialize FFmpeg: ${ffmpegSession.failStackTrace}")
            initializeFFmpegBinary()
        }
    }
    private fun initializeFFmpegBinary() {
        val ffmpegBinaryPath = filesDir.absolutePath + "/ffmpeg"
        val binaryFile = File(ffmpegBinaryPath)
        if (!binaryFile.exists()) {
            Log.e("FFmpeg", "FFmpeg binary not found at $ffmpegBinaryPath")
            // Copy or download the FFmpeg binary to this path
        } else {
            Log.d("FFmpeg", "FFmpeg binary found at $ffmpegBinaryPath")
        }
    }
}


    


    Tried using AndroidFFMPEGLocator(this) ; as suggested by the compiler in my code but unknown reference error is coming for the above line of code.

    


    Also tried using FFmpegKit.init(this) function but init is also not being recognised by the compiler