Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (98)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    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 (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

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

  • extract subtitles from mp4 with ffmpeg [closed]

    15 février 2024, par Tom Tapas

    Can some one help me with this ?
Perhaps it's not even possible :
tom@Toms-MBP-50 SrtTest % ffmpeg -i Wraak.mp4
ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 15.0.0 (clang-1500.1.0.2.5)
configuration : —prefix=/opt/homebrew/Cellar/ffmpeg/6.1.1_3 —enable-shared —enable-pthreads —enable-version3 —cc=clang —host-cflags= —host-ldflags='-Wl,-ld_classic' —enable-ffplay —enable-gnutls —enable-gpl —enable-libaom —enable-libaribb24 —enable-libbluray —enable-libdav1d —enable-libharfbuzz —enable-libjxl —enable-libmp3lame —enable-libopus —enable-librav1e —enable-librist —enable-librubberband —enable-libsnappy —enable-libsrt —enable-libssh —enable-libsvtav1 —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-libopenvino —enable-libspeex —enable-libsoxr —enable-libzmq —enable-libzimg —disable-libjack —disable-indev=jack —enable-videotoolbox —enable-audiotoolbox —enable-neon
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Wraak.mp4' :
Metadata :
major_brand : mp42
minor_version : 0
compatible_brands : isommp42
creation_time : 2023-06-09T11:22:49.000000Z
Duration : 00:02:46.86, start : 0.000000, bitrate : 3494 kb/s
Stream #0:00x1 : Video : h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], 3366 kb/s, 25 fps, 25 tbr, 25k tbn (default)
Metadata :
creation_time : 2023-06-09T11:22:50.000000Z
handler_name : Mainconcept MP4 Video Media Handler
vendor_id : [0][0][0][0]
encoder : AVC Coding
Stream #0:10x2 : Audio : aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata :
creation_time : 2023-06-09T11:22:50.000000Z
handler_name : Mainconcept MP4 Sound Media Handler
vendor_id : [0][0][0][0]
At least one output file must be specified

    


    ffmpeg -i Wraak.mp4 -map 0:0 subtitles.srt

    


  • Flutter : How to use "ffmpeg_kit_flutter" to merge videos ?

    28 mai 2024, par Hani Kanakri

    i am using "ffmpeg_kit_flutter" to merge two videos with code

    


    &#xA;import &#x27;dart:io&#x27;;&#xA;&#xA;import &#x27;package:ffmpeg_kit_flutter/ffmpeg_kit.dart&#x27;;&#xA;import &#x27;package:ffmpeg_kit_flutter/abstract_session.dart&#x27;;&#xA;import &#x27;package:ffmpeg_kit_flutter/return_code.dart&#x27;;&#xA;import &#x27;package:flutter/material.dart&#x27;;&#xA;import &#x27;package:flutter_bloc/flutter_bloc.dart&#x27;;&#xA;import &#x27;package:wechat_assets_picker/wechat_assets_picker.dart&#x27;;&#xA;&#xA;import &#x27;/features/merge_videos/cubit/merge_videos_state.dart&#x27;;&#xA;&#xA;class MergeVideosCubit extends Cubit<mergevideosstate> {&#xA;  MergeVideosCubit(this.originalFile) : super(InitialMergeVideos());&#xA;  final File? originalFile;&#xA;&#xA;  Future<void> selectVideo(BuildContext context) async {&#xA;    final List<assetentity>? videos = await AssetPicker.pickAssets(&#xA;      context,&#xA;      pickerConfig: const AssetPickerConfig(requestType: RequestType.video),&#xA;    );&#xA;&#xA;    if (videos != null &amp;&amp; videos.isNotEmpty) {&#xA;      for (AssetEntity asset in videos) {&#xA;        File? videoFile = await asset.file;&#xA;        if (videoFile != null) {&#xA;          print(&#x27;Selected Asset Path: ${videoFile.path}&#x27;);&#xA;          mergeVideos(originalFile!.path, videoFile.path);&#xA;        }&#xA;      }&#xA;    }&#xA;  }&#xA;&#xA;  Future<void> mergeVideos(String inputPath1, String inputPath2) async {&#xA;    final String outputPath = "/storage/emulated/0/merged_video_${now()}.mp4";&#xA;    // final String command =&#xA;    //     &#x27;-i $inputPath1 -i $inputPath2 -filter_complex "[0:v][0:a][1:v][1:a] concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" -y $outputPath&#x27;;&#xA;    final String command =&#xA;        &#x27;-i $inputPath1 -i $inputPath2 -filter_complex "[0:v][1:v]concat=n=2:v=1:a=0[outv]" -map "[outv]" -y $outputPath&#x27;;&#xA;    print("FFmpeg process starting with command: $command");&#xA;    print(command);&#xA;    print("LOADING LOADING LOADING LOADING LOADING LOADING LOADING MERGE");&#xA;    emit(LoadMergeVideos());&#xA;    await FFmpegKit.execute(command).then((value) async {&#xA;      await value.getDuration();&#xA;      var id = await value.getSessionId();&#xA;&#xA;      print(value);&#xA;      print(id);&#xA;      print(await value.getDuration());&#xA;    });&#xA;    await FFmpegKit.executeAsync(command, (session) async {&#xA;      final returnCode = await session.getReturnCode();&#xA;      await session.getSessionId();&#xA;      print(await session.getSessionId());&#xA;&#xA;      if (ReturnCode.isSuccess(returnCode)) {&#xA;        print("SUCCESS: Video merged successfully at $outputPath");&#xA;        print("SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS MERGE");&#xA;        emit(SuccessMergeVideos());&#xA;&#xA;      } else if (ReturnCode.isCancel(returnCode)) {&#xA;        print("CANCELLED: Video merging was cancelled.");&#xA;        print("CANCEL CANCEL CANCEL CANCEL CANCEL CANCEL CANCEL MERGE");&#xA;        emit(CancelMergeVideos());&#xA;&#xA;      } else {&#xA;        print("ERROR: Failed to merge videos.");&#xA;        print("ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR MERGE");&#xA;        emit(ErrorMergeVideos());&#xA;&#xA;        final failLog = await session.getFailStackTrace();&#xA;&#xA;        print("FFmpeg Failure Log: $failLog");&#xA;      }&#xA;    });&#xA;  }&#xA;&#xA;  String now() {&#xA;    final DateTime now = DateTime.now();&#xA;    return "${now.year}${now.month}${now.day}_${now.hour}${now.minute}${now.second}";&#xA;  }&#xA;}&#xA;</void></assetentity></void></mergevideosstate>

    &#xA;

    The console when i run the code

    &#xA;

    &#xA;D/EGL_emulation(23858): app_time_stats: avg=2379.66ms min=5.87ms max=23160.09ms count=10&#xA;I/PhotoManager(23858): uri: content://media/external/file&#xA;I/PhotoManager(23858): projection: _display_name, _data, _id, title, bucket_id, bucket_display_name, width, height, orientation, date_added, date_modified, mime_type, datetaken, duration, media_type, relative_path&#xA;I/PhotoManager(23858): selection: _id = ?&#xA;I/PhotoManager(23858): selectionArgs: 1000000039&#xA;I/PhotoManager(23858): sortOrder: null&#xA;I/PhotoManager(23858): sql: _id = 1000000039&#xA;I/PhotoManager(23858): cursor count: 1&#xA;I/flutter (23858): Selected Asset Path: /storage/emulated/0/Movies/VID_20240512_115116.mp4&#xA;I/flutter (23858): FFmpeg process starting with command: -i /storage/emulated/0/Movies/VID_20240512_115128.mp4 -i /storage/emulated/0/Movies/VID_20240512_115116.mp4 -filter_complex "[0:v][1:v]concat=n=2:v=1:a=0[outv]" -map "[outv]" -y /storage/emulated/0/merged_video_2024513_122719.mp4&#xA;I/flutter (23858): -i /storage/emulated/0/Movies/VID_20240512_115128.mp4 -i /storage/emulated/0/Movies/VID_20240512_115116.mp4 -filter_complex "[0:v][1:v]concat=n=2:v=1:a=0[outv]" -map "[outv]" -y /storage/emulated/0/merged_video_2024513_122719.mp4&#xA;I/flutter (23858): LOADING LOADING LOADING LOADING LOADING LOADING LOADING MERGE&#xA;I/flutter (23858): Instance of &#x27;FFmpegSession&#x27;&#xA;I/flutter (23858): 1&#xA;I/flutter (23858): 246&#xA;I/flutter (23858): 2&#xA;I/flutter (23858): ERROR: Failed to merge videos.&#xA;I/flutter (23858): ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR MERGE&#xA;D/EGL_emulation(23858): app_time_stats: avg=87.27ms min=4.92ms max=319.92ms count=13&#xA;I/flutter (23858): FFmpeg Failure Log: null&#xA;

    &#xA;

    In "mergeVideos" function the "returnCode" it return value "1" when i look in the package code

    &#xA;

    getState() async {&#xA;    try {&#xA;      return _platform&#xA;          .abstractSessionGetState(this.getSessionId())&#xA;          .then((state) {&#xA;        switch (state) {&#xA;          case 0:&#xA;            return SessionState.created;&#xA;          case 1:&#xA;            return SessionState.running;&#xA;          case 2:&#xA;            return SessionState.failed;&#xA;          case 3:&#xA;          default:&#xA;            return SessionState.completed;&#xA;        }&#xA;      });&#xA;    } on PlatformException catch (e, stack) {&#xA;      print("Plugin getState error: ${e.message}");&#xA;      return Future.error("getState failed.", stack);&#xA;    }&#xA;}&#xA;

    &#xA;

    Which mean its keep running but in my code it does not wait until complete merging

    &#xA;

    how can i fix that ??!

    &#xA;

    but i think my problem is in command(concat)

    &#xA;

    &#xA;-i /storage/emulated/0/Movies/VID_20240512_115128.mp4 -i /storage/emulated/0/Movies/VID_20240512_115116.mp4 -filter_complex "[0:v][1:v]concat=n=2:v=1:a=0[outv]" -map "[outv]" -y /storage/emulated/0/merged_video_2024513_122719.mp4&#xA;

    &#xA;

    (This is my command when i run the code) ??

    &#xA;

  • What Every Programmer Should Know

    24 décembre 2012, par Multimedia Mike — General

    During my recent effort to force myself to understand Unicode and modern text encoding/processing, I was reminded that this is something that “every programmer should just know”, an idea that comes up every so often, usually in relation to a subject in which the speaker is already an expert. One of the most absurd examples I ever witnessed was a blog post along the lines of “What every working programmer ought to know about [some very specific niche of enterprise-level Java programming]“. I remember reading through the article and recognizing that I had almost no knowledge of the material. Disturbing, since I am demonstrably a “working programmer”.

    For fun, I queried the googles on the matter of what ever programmer ought to know.

    Specific Topics
    Here is what every programmer should know about : Unicode, time, memory (simple), memory (extremely in-depth), regular expressions, search engine optimization, floating point, security, basic number theory, race conditions, managed C++, VIM commands, distributed systems, object-oriented design, latency numbers, rate monotonic algorithm, merging branches in Mercurial, classes of algorithms, and human names.

    Broader Topics
    20 subjects every programmer should know, 97 things every programmer should know, 12 things every programmer should know, things every programmer should know (27 items), 10 papers every programmer should read at least twice, 10 things every programmer should know for their first job.

    Meanwhile, I remain fond of this xkcd comic whose mouseover text describes all that a person genuinely needs to know. Still, the new year is upon us, a time when people often make commitments to bettering themselves, and it couldn’t hurt (much) to at least skim some of the lists and find out what you never knew that you never knew.

    What About Multimedia ?
    Reading the foregoing (or the titles of the foregoing pieces), I naturally wonder if I should write something about what every programmer should know about multimedia. I think it would look something like a multimedia programming FAQ. These are some items that I can think of :

    1. YUV : The other colorspace (since most programmers are only familiar with RGB and have no idea what to make of the YUV that comes out of most video decoding APIs)
    2. Why you can’t easily seek randomly to any specific frame in a video file (keyframe/interframe discussion and their implications)
    3. Understand your platform before endeavoring to implement multimedia software (modern platforms, particularly mobile platforms, probably provide everything you need in the native APIs and there is likely little reason to compile libavcodec for the platform)
    4. Difference between containers and codecs (longstanding item, but I would argue it’s less relevant these days due to standardization on the MPEG — MP4/H.264/AAC — stack)
    5. What counts as a multimedia standard in this day and age (comparing the foregoing MPEG stack with the WebM/VP8/Vorbis stack)
    6. Trade-offs to consider when engineering a multimedia solution
    7. Optimization doesn’t always work the way you think it does (not everything touted as a massive speed-up in the world of computing — whether it be multithreaded CPUs, GPGPUs, new SIMD instruction sets — will necessarily be applicable to multimedia processing)
    8. A practical guide to legal issues would not be amiss
    9.  ???

    What other items count as “something multimedia-related that every programmer should know” ?