Recherche avancée

Médias (1)

Mot : - Tags -/géodiversité

Autres articles (43)

  • 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

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (4788)

  • 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;

  • MP4 file starts from a non-key frame [closed]

    1er octobre 2023, par userDtrm

    I have used the following ffprobe command to analyse a .mp4 file.

    &#xA;

    &#xA;

    ffprobe -i <input /> -show_frames - select_streams v:0 -print_format flat &amp;> save_to_file.text

    &#xA;

    &#xA;

    It produces the following output.

    &#xA;

    &#xA;&#xA;    ffprobe version 5.1.3 Copyright (c) 2007-2022 the FFmpeg developers&#xA;      built with gcc 13 (GCC)&#xA;      configuration : —prefix=/home/thanuja/ffmpeg_build —pkg-config-flags=—static —extra-cflags=-I/home/thanuja/ffmpeg_build/include —extra-ldflags=-L/home/thanuja/ffmpeg_build/lib —extra-libs=-lpthread —extra-libs=-lm —bindir=/home/thanuja/bin —enable-gpl —enable-libfdk_aac —enable-libfreetype —enable-libmp3lame —enable-libopus —enable-libvpx —enable-libx264 —enable-libx265 —enable-nonfree —enable-openssl —enable-demuxer=spdif —enable-decoder=dolby_e —enable-decoder=ac3 —enable-decoder=eac3 —enable-indev=alsa —enable-outdev=alsa —enable-shared&#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;      libpostproc    56.  6.100 / 56.  6.100&#xA;    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'FTV267StoS.mp4' :&#xA;      Metadata :&#xA;        major_brand : mp42&#xA;        minor_version : 1&#xA;        compatible_brands : isommp41mp42&#xA;        creation_time : 2023-04-02T23:52:12.000000Z&#xA;      Duration : 00:04:47.84, start : 0.000000, bitrate : 7374 kb/s&#xA;      Stream #0:0[0x1](und) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/unknown/bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 7198 kb/s, 59.94 fps, 59.94 tbr, 90k tbn (default)&#xA;        Metadata :&#xA;          creation_time : 2023-04-02T23:52:12.000000Z&#xA;          handler_name : Core Media Video&#xA;          vendor_id : [0][0][0][0]&#xA;      Stream #0:1[0x2](eng) : Audio : aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)&#xA;        Metadata :&#xA;          creation_time : 2023-04-02T23:52:12.000000Z&#xA;          handler_name : Core Media Audio&#xA;          vendor_id : [0][0][0][0]&#xA;    frames.frame.0.media_type="video"&#xA;    frames.frame.0.stream_index=0&#xA;    frames.frame.0.key_frame=0&#xA;    frames.frame.0.pts=34536&#xA;    frames.frame.0.pts_time="0.383733"&#xA;    frames.frame.0.pkt_dts=34536&#xA;    frames.frame.0.pkt_dts_time="0.383733"&#xA;    frames.frame.0.best_effort_timestamp=34536&#xA;    frames.frame.0.best_effort_timestamp_time="0.383733"&#xA;    frames.frame.0.pkt_duration=1501&#xA;    frames.frame.0.pkt_duration_time="0.016678"&#xA;    frames.frame.0.pkt_pos="1834827"&#xA;    frames.frame.0.pkt_size="14917"&#xA;    frames.frame.0.width=1920&#xA;    frames.frame.0.height=1080&#xA;    frames.frame.0.pix_fmt="yuv420p"&#xA;    frames.frame.0.sample_aspect_ratio="1:1"&#xA;    frames.frame.0.pict_type="P"&#xA;    frames.frame.0.coded_picture_number=120&#xA;    frames.frame.0.display_picture_number=0&#xA;    frames.frame.0.interlaced_frame=0&#xA;    frames.frame.0.top_field_first=0&#xA;    frames.frame.0.repeat_pict=0&#xA;    frames.frame.0.color_range="tv"&#xA;    frames.frame.0.color_space="bt709"&#xA;    frames.frame.0.color_primaries="unknown"&#xA;    frames.frame.0.color_transfer="bt709"&#xA;    frames.frame.0.chroma_location="left"&#xA;    frames.frame.0.tags.timecode="20:18:26:50"&#xA;    frames.frame.0.side_data_list.side_data.0.side_data_type="H.26[45] User Data Unregistered SEI message"&#xA;    frames.frame.0.side_data_list.side_data.1.side_data_type="H.26[45] User Data Unregistered SEI message"&#xA;    frames.frame.0.side_data_list.side_data.2.side_data_type="SMPTE 12-1 timecode"&#xA;    frames.frame.0.side_data_list.side_data.2.timecodes.timecode.0.value="20:18:26:50"&#xA;    frames.frame.1.media_type="video"&#xA;    frames.frame.1.stream_index=0&#xA;    frames.frame.1.key_frame=0&#xA;    frames.frame.1.pts=36036&#xA;    frames.frame.1.pts_time="0.400400"&#xA;    frames.frame.1.pkt_dts=36036&#xA;    frames.frame.1.pkt_dts_time="0.400400"&#xA;    frames.frame.1.best_effort_timestamp=36036&#xA;    frames.frame.1.best_effort_timestamp_time="0.400400"&#xA;    frames.frame.1.pkt_duration=1501&#xA;    frames.frame.1.pkt_duration_time="0.016678"&#xA;    frames.frame.1.pkt_pos="1857434"&#xA;    frames.frame.1.pkt_size="14472"&#xA;    frames.frame.1.width=1920&#xA;    frames.frame.1.height=1080&#xA;    frames.frame.1.pix_fmt="yuv420p"&#xA;    frames.frame.1.sample_aspect_ratio="1:1"&#xA;    frames.frame.1.pict_type="P"&#xA;&#xA;

    &#xA;

    As seen in this output, the 1st frame appears to be a P frame. I'm curious as to how will the decoder decode this frame without a preceding I frame (key frame) ? The P frame will not have enough information to reconstruct the image from its residual data without the key frame.

    &#xA;