Recherche avancée

Médias (0)

Mot : - Tags -/interaction

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (18)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (3458)

  • FFmpegKit : "Operation not permitted" in many android devices [closed]

    26 août 2023, par Mrm

    I'm using FFmpegKit 5.1.LTS in my application. A lot of my users have reported that they cannot edit videos (10%). When I tried to obtain their logs, I noticed that many of them are encountering an 'Operation not permitted' error. My users have granted all the necessary storage permissions (READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE).

    


    Here is an example :

    


    User device :

    


    Manufacturer : Sony
    
Model : SOG05
    
ABI : [arm64-v8a, armeabi-v7a, armeabi]
    
Android SDK : 33

    


    Command :
ffmpeg -y -ss 12.789 -to 32.654  -i "/storage/emulated/0/Movies/lts/lts_20230824_100739.mp4" -filter_complex "[0:v:0] scale=1080:2520,setsar=1/1[v0];[0:a:0]atempo=1.0,volume=1.0[a0]; [v0] [a0] concat=n=1:v=1:a=1[conv][cona];[conv] drawtext=fontfile=/system/fonts/Roboto-Regular.ttf:text=lts edit:x=(w-text_w-69.55932):y=(h-text_h-36.61017):fontsize=84:fontcolor=white:shadowcolor=black:shadowx=5.4915257:shadowy=5.4915257[conv]" -map "[conv]" -map "[cona]"  -c:v libx264 -force_key_frames 'expr:gte(t,n_forced*1)' -preset ultrafast  -r 30  -shortest /storage/emulated/0/Movies/lts/lts_20230826_092915_edited.mp4

    


    And the full log :

    


    ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with Android (7155654, based on r399163b1) clang version 11.0.5 (https://android.googlesource.com/toolchain/llvm-project 87f1315dfbea7c137aa2e6d362dbb457e388158d)

  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-lts/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-android21-clang --cxx=aarch64-linux-android21-clang++ --ranlib=aarch64-linux-android-ranlib --strip=aarch64-linux-android-strip --nm=aarch64-linux-android-nm --extra-libs='-L/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64-lts/cpu-features/lib -lndk_compat' --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-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-libdav1d --enable-libkvazaar --enable-libx264 --enable-libxvid --enable-libx265 --enable-libvidstab --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-libzimg --disable-openssl --enable-zlib --enable-mediacodec --enable-gpl

  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Movies/lts/lts_20230824_100739.mp4':

  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2023-08-24T01:08:17.000000Z
    com.android.version: 13
  Duration: 00:00:34.27, start: 0.000000, bitrate: 16316 kb/s
  Stream #0:0[0x1](eng): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt470bg/bt470bg/smpte170m, progressive), 1080x2520, 16181 kb/s, 59.11 fps, 90k tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2023-08-24T01:08:17.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]

  Stream #0:1[0x2](eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2023-08-24T01:08:17.000000Z
      handler_name    : SoundHandle
      vendor_id       : [0][0][0][0]

/storage/emulated/0/Movies/lts/lts_20230826_092915_edited.mp4: Operation not permitted


    


  • FFmpeg 6.0 won't work because the header files can't connect or interact with each other. How do I fix the files ?

    11 septembre 2023, par Señor Tonto

    I am creating a win32 API C++ application with Microsoft Visual Studio 2022 in a .sln file. I've got quite far in basic functionalities & decided to try out video decoding & playing ; I've practiced this before but not with C++. So, I looked to see good libraries & found FFmpeg. Of course, I thought this would be quite straightforward - just import the headers & code, right ? No. Firstly, the FFmpeg I'm using is one of the pre-built binaries. The 'ffmpeg-master-latest-win64-gpl-shared.zip' From the BtbN Github repository. I decompressed it with WinRar & placed the files in Program Files (x86). Later on, I realised my mistake of placing it with 32-bit programs since it's a 64-bit build. So I transferred it to Program Files. Even after this though my issue persists. The issue being that the .h files of FFmpeg cannot communicate with each other. For some reason, they can't navigate to where the header files are. I am quite sure the reason for this may have something to do with where I save the files, the directory. Nowhere on the FFmpeg website can I see where you're expected to have the file directory at. I am sure there's a preset file path that is expected. Maybe I've named the FFmpeg folder incorrectly ? Or maybe it's not meant to go in Program Files ? The current directory for the FFmpeg folder for me is : C :\Program Files\FFmpeg. Below I will provide pictures of the errors I get where the code can't connect to other .h files as well as the file path. I'll also provide my code.

    


    #include  //imports the main win32 API library&#xA;#include  //imports macros for handling Unicode &amp; ASCII char sets&#xA;#include  //defines the common control classes&#xA;#include  //imports the standard C library&#xA;#include &#xA;#include &#xA;#include <iostream>&#xA;#include <fstream>&#xA;#include <string>&#xA;&#xA;extern "C"&#xA;{&#xA;#include &#xA;#include &#xA;#include &#xA;#include &#xA;}&#xA;&#xA;#pragma comment(lib, "Comctl32.lib") //tells the linker to include Comctl32.lib in the .exe&#xA;#pragma comment(lib, "C:\\Program Files\\FFmpeg\\lib\\avcodec.lib")&#xA;#pragma comment(lib, "C:\\Program Files\\FFmpeg\\lib\\avformat.lib")&#xA;#pragma comment(lib, "C:\\Program Files\\FFmpeg\\lib\\avutil.lib")&#xA;#pragma comment(lib, "C:\\Program Files\\FFmpeg\\lib\\swscale.lib")&#xA;&#xA;#define EDIT_CONTROL 1&#xA;#define OPEN_FILE_BTN 2&#xA;#define SAVE_FILE_BTN 3&#xA;#define EMBOLDEN_BTN 4&#xA;#define ITALICISE_BTN 5&#xA;#define SCROLL_CONTAINER 6&#xA;#define FILEMENU_OPEN_FILE_BTN 7&#xA;#define ADD_ROW_BTN 8&#xA;#define CELL_1_ID 9&#xA;#define CELL_2_ID 10&#xA;#define CELL_3_ID 11&#xA;#define SCROLL_CONTAINER_TBL 12&#xA;// 946 0759 0609 | 163 739&#xA;&#xA;HINSTANCE g_hInstance;&#xA;HWND g_hWndMain, g_hWndTabs, openFileBtn, saveFileBtn, hOpenFileEdit, hScrollContainer, hEditControl, tabHandle, emboldenBtn, italiciseBtn, FilemenuOpenFileBtn, tableContainer, tblHeaderOne,&#xA;tblHeaderTwo, tblHeaderThree, addRowBtn, hAddRowDialogue, hWnd, hWndCell1Label, hWndCell1Edit, hWndCell2Label, hWndCell2Edit, hWndCell3Label, hWndCell3Edit, hWndOkButton, hWndCancelButton, hRow, hCell1, hCell2, hCell3,&#xA;hWMP, OpenMp4Btn, hWMPContainer, hPlayBtn;&#xA;HMENU  hMenu, hSubMenu;&#xA;bool isBold = false, isItalic = false;&#xA;&#xA;&#xA;const int startX = 0;&#xA;const int startY = 60;&#xA;const int ROW_HEIGHT = 20;&#xA;const int CELL_WIDTH = 110;&#xA;static int numRows = 1;&#xA;static int numCols = 3;&#xA;&#xA;LRESULT CALLBACK WindowProcessMessages(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);&#xA;INT_PTR CALLBACK AddRowDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);&#xA;&#xA;int WINAPI wWinMain(&#xA;    _In_ HINSTANCE currentInstance,&#xA;    _In_opt_ HINSTANCE previousInstance,&#xA;    _In_ LPWSTR cmdLine,&#xA;    _In_ int cmdCount)&#xA;{&#xA;    const wchar_t* CLASS_NAME = L"Windows App";&#xA;    WNDCLASS wc{};&#xA;    wc.hInstance = currentInstance;&#xA;    wc.lpszClassName = CLASS_NAME;&#xA;    wc.hCursor = LoadCursor(nullptr, IDC_ARROW);&#xA;    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;&#xA;    wc.lpfnWndProc = WindowProcessMessages;&#xA;    RegisterClass(&amp;wc);&#xA;&#xA;    g_hWndMain = CreateWindow(CLASS_NAME, L"Windows App",&#xA;        WS_OVERLAPPEDWINDOW,&#xA;        CW_USEDEFAULT, CW_USEDEFAULT,&#xA;        800, 600,&#xA;        nullptr, nullptr, nullptr, nullptr);&#xA;&#xA;    if (g_hWndMain == NULL) {&#xA;        return 0;&#xA;    }&#xA;&#xA;    // Initialize common controls&#xA;    INITCOMMONCONTROLSEX icex;&#xA;    icex.dwSize = sizeof(INITCOMMONCONTROLSEX);&#xA;    icex.dwICC = ICC_TAB_CLASSES;&#xA;    InitCommonControlsEx(&amp;icex);&#xA;&#xA;    // Create tab control&#xA;    g_hWndTabs = CreateWindow(WC_TABCONTROL, L"",&#xA;        WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE | TCS_SINGLELINE,&#xA;        0, 0, 800, 600,&#xA;        g_hWndMain, nullptr, currentInstance, nullptr);&#xA;&#xA;    if (g_hWndTabs == NULL) {&#xA;        return 0;&#xA;    }&#xA;&#xA;    // Add tabs to tab control, seperate tab later&#xA;    TCITEM tcitem;&#xA;    tcitem.mask = TCIF_TEXT;&#xA;&#xA;    wchar_t buf1[] = L"Table View";&#xA;    tcitem.pszText = buf1;&#xA;    TabCtrl_InsertItem(g_hWndTabs, 0, &amp;tcitem);&#xA;&#xA;    wchar_t buf2[] = L"Text Files";&#xA;    tcitem.pszText = buf2;&#xA;    TabCtrl_InsertItem(g_hWndTabs, 1, &amp;tcitem);&#xA;&#xA;    wchar_t buf3[] = L"mp4 Files";&#xA;    tcitem.pszText = buf3;&#xA;    TabCtrl_InsertItem(g_hWndTabs, 2, &amp;tcitem);&#xA;&#xA;&#xA;&#xA;    //original location of button intitialisation&#xA;&#xA;&#xA;    ShowWindow(g_hWndMain, SW_SHOWDEFAULT);&#xA;    UpdateWindow(g_hWndMain);&#xA;&#xA;    MSG msg{};&#xA;    while (GetMessage(&amp;msg, nullptr, 0, 0)) {&#xA;        TranslateMessage(&amp;msg);&#xA;        DispatchMessage(&amp;msg);&#xA;    }&#xA;    return 0;&#xA;}&#xA;&#xA;</string></fstream></iostream>

    &#xA;

    I severely doubt my code has anything to do with the issue though. It's probably directory-based. I just placed wWinmain here to keep with the character limit.

    &#xA;

    The .h files can't find each other&#xA;The file path for the FFmpeg files

    &#xA;

  • How to save srt file with a video to be part of the video ?

    14 septembre 2023, par abdallah mostafa

    I've an application that generate srt file for a video with AI but I want to save the video to user's storage with the srt subtitle burned on the video not just embedded.

    &#xA;

    this is the response form the API

    &#xA;

    "fotmated_subtitle": [&#xA;        {&#xA;            "display_text": "You know those cat are memes that everybody uses in their videos and the TV movie clips that people use.",&#xA;            "interval": [&#xA;                "0:00:00.000",&#xA;                "0:00:04.000"&#xA;            ]&#xA;        },&#xA;        {&#xA;            "display_text": "Well, who are the four best free websites to find a move?",&#xA;            "interval": [&#xA;                "0:00:04.000",&#xA;                "0:00:06.240"&#xA;            ]&#xA;        }&#xA;    ]&#xA;

    &#xA;

    I could add this as a widget over the video that would change accourding to intervals.&#xA;I want to know How to save that video with the subtitle

    &#xA;

     Future<void> saveSubtitle() async {&#xA;    emit(ExportSubtitleLoading());&#xA;    String subtitleFilter = "";&#xA;    for (var subtitle in subtitles!.fotmatedSubtitle!) {&#xA;      String startTime = subtitle.interval![0];&#xA;      String endTime = subtitle.interval![1];&#xA;      String text = subtitle.displayText!;&#xA;      subtitleFilter &#x2B;=&#xA;          "drawtext=text=&#x27;$text&#x27;:enable=&#x27;between(t,$startTime,$endTime)&#x27;:x=(w-text_w)/2:y=h-30:fontsize=24:fontcolor=white,";&#xA;    }&#xA;&#xA;    final dir = await getTemporaryDirectory();&#xA;    String outputPath = &#x27;${dir.path}/ex_vid.mp4&#x27;;&#xA;    final arguments = [&#xA;      &#x27;-i&#x27;,&#xA;      inputFile,&#xA;      &#x27;-vf&#x27;,&#xA;      subtitleFilter,&#xA;      &#x27;-c:v&#x27;,&#xA;      &#x27;libx264&#x27;,&#xA;      &#x27;-c:a&#x27;,&#xA;      &#x27;copy&#x27;,&#xA;      outputPath&#xA;    ];&#xA;    (arguments.join(&#x27; &#x27;)).logger;&#xA;    &#x27;==============&#x27;.logger;&#xA;    await FFmpegKit.execute(arguments.join(&#x27; &#x27;)).then((session) async {&#xA;      final returnCode = await session.getReturnCode();&#xA;&#xA;      if (ReturnCode.isSuccess(returnCode)) {&#xA;        (&#x27;The Converstion is Success&#x27;).logger;&#xA;        emit(ExportSubtitleSuccess());&#xA;      } else if (ReturnCode.isCancel(returnCode)) {&#xA;        // CANCEL&#xA;        (&#x27;The Converstion is Cancelled&#x27;).logger;&#xA;      } else {&#xA;        emit(ExportSubtitleerror());&#xA;        (&#x27;The Converstion Have an Error&#x27;).logger;&#xA;      }&#xA;    });&#xA;  }&#xA;</void>

    &#xA;

    I've tested this method but still does not worked

    &#xA;

    here is the full command

    &#xA;

        String command =&#xA;        "-y -i /data/user/0/com.amaa.aistudio/cache/file_picker/Blink-96bdc94a-17df-4f64-b560-90811a44c4f8-Original.mp4 -vf \"drawtext=text=&#x27;You know those cat are memes that everybody uses in their videos and the TV movie clips that people use.&#x27;:enable=&#x27;between(t,0,4.000)&#x27;:x=(w-text_w)/2:y=h-30:fontsize=24:fontcolor=white,drawtext=text=&#x27;Well, who are the four best free websites to find a move?&#x27;:enable=&#x27;between(t,4.000,6.240)&#x27;:x=(w-text_w)/2:y=h-30:fontsize=24:fontcolor=white\" -c:v libx264 -c:a copy /data/user/0/com.amaa.aistudio/cache/ex_vid.mp4";&#xA;

    &#xA;

    also here is the logs

    &#xA;

     FFmpegKit log message: isom&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     minor_version   :&#xA;[log] FFmpegKit log message: 512&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     compatible_brands:&#xA;[log] FFmpegKit log message: isomiso2avc1mp41&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     comment         :&#xA;[log] FFmpegKit log message: vid:v0f044gc0000cj6mnmrc77u1oq5pn100&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     aigc_info       :&#xA;[log] FFmpegKit log message: {"aigc_label_type": 0}&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     encoder         :&#xA;[log] FFmpegKit log message: Lavf58.76.100&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:   Duration:&#xA;[log] FFmpegKit log message: 00:00:35.66&#xA;[log] FFmpegKit log message: , start:&#xA;[log] FFmpegKit log message: 0.000000&#xA;[log] FFmpegKit log message: , bitrate:&#xA;[log] FFmpegKit log message: 1239 kb/s&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:   Stream #0:0&#xA;[log] FFmpegKit log message: [0x1]&#xA;[log] FFmpegKit log message: (und)&#xA;[log] FFmpegKit log message: : Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 576x1024 [SAR 1:1 DAR 9:16], 1102 kb/s&#xA;[log] FFmpegKit log message: ,&#xA;[log] FFmpegKit log message: 47.78 fps,&#xA;[log] FFmpegKit log message: 50 tbr,&#xA;[log] FFmpegKit log message: 12800 tbn&#xA;[log] FFmpegKit log message:  (default)&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     Metadata:&#xA;[log] FFmpegKit log message:       handler_name    :&#xA;[log] FFmpegKit log message: VideoHandler&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:       vendor_id       :&#xA;[log] FFmpegKit log message: [0][0][0][0]&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:   Stream #0:1&#xA;[log] FFmpegKit log message: [0x2]&#xA;[log] FFmpegKit log message: (und)&#xA;[log] FFmpegKit log message: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s&#xA;[log] FFmpegKit log message:  (default)&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     Metadata:&#xA;[log] FFmpegKit log message:       handler_name    :&#xA;[log] FFmpegKit log message: SoundHandler&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:       vendor_id       :&#xA;[log] FFmpegKit log message: [0][0][0][0]&#xA;[log] FFmpegKit log message:&#xA;FFmpegKit log message: [Parsed_drawtext_0 @ 0xb4000077140d5380] Cannot find a valid font for the family Sans&#xA;[log] FFmpegKit log message: [AVFilterGraph @ 0xb4000077a5e0afe0] Error initializing filters&#xA;[log] FFmpegKit log message: Error reinitializing filters!&#xA;[log] FFmpegKit log message: Failed to inject frame into filter network: No such file or directory&#xA;[log] FFmpegKit log message: Error while processing the decoded data for stream #0:0&#xA;[log] FFmpegKit log message: Conversion failed!&#xA;

    &#xA;