Recherche avancée

Médias (1)

Mot : - Tags -/géodiversité

Autres articles (32)

  • 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

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

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

Sur d’autres sites (5683)

  • FFmpeg c api create encoder for AV_CODEC_ID_H264 crash on Windows

    30 avril 2023, par Guanyuming He

    I'm using ffmpeg (version 5.1.2) to clip a mp4 video per frame so I need to decode and encode it. However, when I'm creating the encoder for its video stream, the program always crashes at the call to avio_open2(), after H264 gives this error message :

    


    [h264_mf @ 0000025C1EBC1900] could not set output type (80004005)


    


    enter image description here

    


    The configuration (time_base, pix_fmt, width, height) of the codec context of the encoder is copied from the decoder, and I checked if the pixel format is supported by finding if it's in codec->pix_fmts.

    


    I find that the problem does not involve all my other pieces of code, because this minimal program can duplicate the same problem :

    


    extern "C"&#xA;{&#xA;#include <libavcodec></libavcodec>avcodec.h>&#xA;}&#xA;&#xA;int main()&#xA;{&#xA;    auto codec = avcodec_find_encoder(AV_CODEC_ID_H264);&#xA;    auto codec_ctx = avcodec_alloc_context3(codec);&#xA;&#xA;    codec_ctx->pix_fmt = AV_PIX_FMT_YUV420P;&#xA;    codec_ctx->width = 2560;&#xA;    codec_ctx->height = 1440;&#xA;    codec_ctx->time_base.num = 1; codec_ctx->time_base.den = 180000;&#xA;&#xA;    avcodec_open2(codec_ctx, codec, NULL);&#xA;&#xA;    return 0;&#xA;}&#xA;

    &#xA;

    Then I suspect if it's a bug of ffmpeg. My environment is Windows 11 64-bit, Visual Studio 2022. The ffmpeg library is obtained from vcpkg, as shown in the following image :

    &#xA;

    enter image description here

    &#xA;

  • When performing an overlay operation with ffmpeg, the video at the top becomes blurry

    28 mars 2023, par Lance

    I have encountered a strange problem. When using ffmpeg provided in javacpp-presets to perform an overlay operation on two videos, if the video at the bottom is in motion, the video at the top becomes blurry. However, when I use locally compiled ffmpeg to execute the same command, there is no such problem. I have tried presets 5.x and 6.x, and the same problem occurs. Who can help me ?

    &#xA;

    command :

    &#xA;

    .javacpp/cache/ffmpeg-5.0-1.5.7-macosx-x86_64.jar/org/bytedeco/ffmpeg/macosx-x86_64/ffmpeg  -y -f lavfi -i color=c=black:s=1920x1080 -i a.mp4 -i b.mp4 -i c.mp4 -filter_complex "[2:v][3:v]alphamerge[alphamerge0];[1:v]scale=1920x1080[out0];[0:v][out0]overlay=enable=&#x27;between(t,0.0,40.141)&#x27;:x=0.0:y=0.0[overlay0];[overlay0][alphamerge0]overlay=enable=&#x27;between(t,0.0,40.141)&#x27;:x=0.0:y=0.0[out]" -preset medium -t 00:00:40.141 -crf 20 -vcodec h264 -map "[out]" -profile:v high -force_key_frames "expr:gte(t,n_forced*8)" out.mp4

    &#xA;

    I have tried to change preset,crf,codec,profile and so on, nothing works.

    &#xA;

    blurry ffmpeg version :

    &#xA;

    .javacpp/cache/ffmpeg-5.0-1.5.7-macosx-x86_64.jar/org/bytedeco/ffmpeg/macosx-x86_64/ffmpeg -version&#xA;ffmpeg version 5.0 Copyright (c) 2000-2022 the FFmpeg developers&#xA;built with Apple clang version 12.0.0 (clang-1200.0.32.29)&#xA;configuration: --prefix=.. --disable-iconv --disable-opencl --disable-sdl2 --disable-bzlib --disable-lzma --disable-linux-perf --disable-xlib --enable-shared --enable-version3 --enable-runtime-cpudetect --enable-zlib --enable-libmp3lame --enable-libspeex --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-openssl --enable-libopenh264 --enable-libvpx --enable-libfreetype --enable-libopus --enable-libxml2 --enable-libsrt --enable-libwebp --enable-pthreads --enable-indev=avfoundation --disable-libxcb --extra-cflags=&#x27;-I../include/ -I../include/libxml2&#x27; --extra-ldflags=-L../lib/ --extra-libs=&#x27;-lstdc&#x2B;&#x2B; -ldl -lz -lm&#x27;&#xA;libavutil      57. 17.100 / 57. 17.100&#xA;libavcodec     59. 18.100 / 59. 18.100&#xA;libavformat    59. 16.100 / 59. 16.100&#xA;libavdevice    59.  4.100 / 59.  4.100&#xA;libavfilter     8. 24.100 /  8. 24.100&#xA;libswscale      6.  4.100 /  6.  4.100&#xA;libswresample   4.  3.100 /  4.  3.100&#xA;

    &#xA;

    normal local version :

    &#xA;

    ffmpeg -version&#xA;ffmpeg version 5.0.1 Copyright (c) 2000-2022 the FFmpeg developers&#xA;built with Apple clang version 13.1.6 (clang-1316.0.21.2.5)&#xA;configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/5.0.1_3 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-neon&#xA;libavutil      57. 17.100 / 57. 17.100&#xA;libavcodec     59. 18.100 / 59. 18.100&#xA;libavformat    59. 16.100 / 59. 16.100&#xA;libavdevice    59.  4.100 / 59.  4.100&#xA;libavfilter     8. 24.100 /  8. 24.100&#xA;libswscale      6.  4.100 /  6.  4.100&#xA;libswresample   4.  3.100 /  4.  3.100&#xA;libpostproc    56.  3.100 / 56.  3.100&#xA;

    &#xA;

  • Layout Video Recording Like Instgram/ Ticktok Feature

    21 mars 2023, par Amarchand K

    I'm try to do record video inn different layouts like Instagram in Flutter. For this feature I used ffmpeg_kit_flutter package. I refers this solution to do this. but output video is blank, any one helps me to solve this.&#xA;the video input and output path is valid, also show the bellow error while printing,

    &#xA;

    `ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg developers&#xA;    built with Android (7155654, based on r399163b1) clang version 11.0.5 (https://android.googlesource.com/toolchain/llvm-project 87f1315dfbea7c137aa2e6d362dbb457e388158d)&#xA;    configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --target-os=android --enable-neon --enable-asm --enable-inline-asm --ar=aarch64-linux-android-ar --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang&#x2B;&#x2B; --ranlib=aarch64-linux-android-ranlib --strip=aarch64-linux-android-strip --nm=aarch64-linux-android-nm --extra-libs=&#x27;-L/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64/cpu-features/lib -lndk_compat&#x27; --disable-autodetect --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --disable-static --enable-shared --enable-pthreads --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --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-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-gmp --enable-gnutls --enable-iconv --disable-sdl2 --disable-openssl --enable-zlib --enable-mediacodec&#xA;    libavutil      57. 28.100 / 57. 28.100&#xA;    libavcodec     59. 37.100 / 59. 37.100&#xA;    libavformat    59. 27.100 / 59. 27.100&#xA;    libavdevice    59.  7.100 / 59.  7.100&#xA;    libavfilter     8. 44.100 /  8. 44.100&#xA;    libswscale      6.  7.100 /  6.  7.100&#xA;    libswresample   4.  7.100 /  4.  7.100&#xA;  -vsync is deprecated. Use -fps_mode&#xA;  Passing a number to -vsync is deprecated, use a string argument as described in the manual.&#xA;  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;/data/user/0/com.example.tuki_taki/cache/REC1453994379216336834.mp4&#x27;:&#xA;    Metadata:&#xA;      major_brand     : mp42&#xA;      minor_version   : 0&#xA;      compatible_brands: isommp42&#xA;      creation_time   : 2023-03-21T07:15:58.000000Z&#xA;      com.android.version: 12&#xA;    Duration: 00:00:03.77, start: 0.000000, bitrate: 2204 kb/s&#xA;    Stream #0:0[0x1](eng): Video: h264, 1 reference frame (avc1 / 0x31637661), yuv420p(tv, bt470bg/smpte170m/bt709, progressive, left), 640x480, 2199 kb/s, 29.61 fps, 29.58 tbr, 90k tbn (default)&#xA;      Metadata:&#xA;        creation_time   : 2023-03-21T07:15:58.000000Z&#xA;        handler_name    : VideoHandle&#xA;        vendor_id       : [0][0][0][0]&#xA;      Side data:&#xA;        displaymatrix: rotation of -90.00 degrees&#xA;    Stream #0:1[0x2](eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 128 kb/s (default)&#xA;      Metadata:&#xA;        creation_time   : 2023-03-21T07:15:58.000000Z&#xA;        handler_name    : SoundHandle&#xA;        vendor_id       : [0][0][0][0]&#xA;  Input #1, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;/data/user/0/com.example.tuki_taki/cache/REC5972384708251368209.mp4&#x27;:&#xA;    Metadata:&#xA;      major_brand     : mp42&#xA;      minor_version   : 0&#xA;      compatible_brands: isommp42&#xA;      creation_time   : 2023-03-21T07:16:05.000000Z&#xA;      com.android.version: 12&#xA;    Duration: 00:00:02.84, start: 0.000000, bitrate: 2703 kb/s&#xA;    Stream #1:0[0x1](eng): Video: h264, 1 reference frame (avc1 / 0x31637661), yuv420p(tv, bt470bg/smpte170m/bt709, progressive, left), 640x480, 2801 kb/s, 29.61 fps, 29.58 tbr, 90k tbn (default)&#xA;      Metadata:&#xA;        creation_time   : 2023-03-21T07:16:05.000000Z&#xA;        handler_name    : VideoHandle&#xA;        vendor_id       : [0][0][0][0]&#xA;      Side data:&#xA;        displaymatrix: rotation of -90.00 degrees&#xA;    Stream #1:1[0x2](eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 128 kb/s (default)&#xA;      Metadata:&#xA;        creation_time   : 2023-03-21T07:16:05.000000Z&#xA;        handler_name    : SoundHandle&#xA;        vendor_id       : [0][0][0][0]&#xA;  Stream mapping:&#xA;    Stream #0:0 (h264) -> scale:default&#xA;    Stream #0:1 (aac) -> amix&#xA;    Stream #1:0 (h264) -> scale:default&#xA;    Stream #1:1 (aac) -> amix&#xA;    hstack:default -> Stream #0:0 (mpeg4)&#xA;    amix:default -> Stream #0:1 (aac)&#xA;  Press [q] to stop, [?] for help&#xA;  Output #0, mp4, to &#x27;/data/user/0/com.example.tuki_taki/cache/output.mp4&#x27;:&#xA;    Metadata:&#xA;      major_brand     : mp42&#xA;      minor_version   : 0&#xA;      compatible_brands: isommp42&#xA;      com.android.version: 12&#xA;      encoder         : Lavf59.27.100&#xA;    Stream #0:0: Video: mpeg4, 1 reference frame (mp4v / 0x7634706D), yuv420p(progressive), 960x640 (0x0) [SAR 1:1 DAR 3:2], q=2-31, 200 kb/s, 29.58 fps, 11360 tbn&#xA;      Metadata:&#xA;        encoder         : Lavc59.37.100 mpeg4&#xA;      Side data:&#xA;        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A&#xA;    Stream #0:1: Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, delay 1024, 69 kb/s&#xA;      Metadata:&#xA;        encoder         : Lavc59.37.100 aac&#xA;  frame=    1 fps=0.0 q=4.3 size=       0kB time=00:00:00.23 bitrate=   1.5kbits/s speed=3.49x    &#xA;

    &#xA;

    [mpeg4 @ 0xb400007122ebac50] Invalid pts (8) <= last (8)&#xA;Error submitting video frame to the encoder&#xA;[aac @ 0xb4000071232208c0] Qavg : 9911.349&#xA;[aac @ 0xb4000071232208c0] 2 frames left in the queue on closing&#xA;Conversion failed`

    &#xA;

    I'm tried

    &#xA;

      `Future<void> onLayoutDone() async {&#xA;try {&#xA;  final String outputPath = await _getTempPath();   &#xA;  const String filter =&#xA;      "[0:v]scale=480:640,setsar=1[l];[1:v]scale=480:640,setsar=1[r];[l][r]hstack;[0][1]amix -vsync 0 ";    &#xA;  log("left path: ${layoutVideoPathList[0]} right : ${layoutVideoPathList[1]} $outputPath");     &#xA;  final String command =" -y -i ${layoutVideoPathList[0]} -i ${layoutVideoPathList[1]} -filter_complex$filter$outputPath -loglevel verbose"; `these paths are valid`    &#xA;     &#xA;  await FFmpegKit.execute(command).then((value) async {      &#xA;    String? error = await value.getAllLogsAsString();    &#xA;    log(error!);    &#xA;    final ReturnCode? returnCode = await value.getReturnCode();    &#xA;    if (returnCode != null) {&#xA;      setVideo(videoPath: outputPath);    &#xA;      layoutVideoPathList.clear();    &#xA;    }&#xA;  });&#xA;} catch (e) {&#xA;  log("error while  combine -========-=-=-=-=-=-=-=-=- $e");    &#xA;}`&#xA;</void>

    &#xA;