Recherche avancée

Médias (91)

Autres articles (79)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (9322)

  • building c++ code into a shared library

    11 avril 2016, par gaurav

    I have some c++ code which i use as shared library in a java application.My c++ code uses some libraries like ffmpeg and boost. and ffmpeg libraries in turn depend on libx264. my first question is - can i build my c++ into a "fat" shared library which contains all the symbols from all libraries used so that on a new machine if i just copy the fat .so file everything works.
    If thats not possible then can you help me fix my current build process. This is what i am doing currently -

    1)on a local VM(ubuntu 64) i compile ffmpeg code using -fPIC flag and install h264 and boost using apt-get commands.
    2) on the same VM i compile my code using make file which looks like this-

    INCLUDES =   -I/opt/ffmpeg/include -I/usr/lib/jvm/java-7-openjdk-   amd64/include -I/usr/lib/jvm/java-7-openjdk-amd64/include/linux

    LDFLAGS =   -L/home/ubuntu/ffmpeg_shared

    LIBRARIES = -lavformat -lavcodec -lswscale -lavutil -lpthread  -lx264 -lboost_system -lboost_thread -lboost_chrono

    CC = g++ -std=c++11 -fPIC

    all:clean final

    final:Api.o ImageSequence.o OverlayAnimation.o Utils.o ImageFrame.o
    $(CC)  -o final.so Api.o ImageSequence.o OverlayAnimation.o Utils.o  ImageFrame.o $(LDFLAGS) $(LIBRARIES) -shared

    3) on a new machine where java app will run. i install h264 and boost using apt-get commands and copy ffmpeg’s compiled library files to /usr/local/lib.

    4) copy the final.so file to this new machine. but when the java code tries to use the final.so file i see it tries to use wierdly named files. for example - it tries to find libavcodec.so.57 , libavformat.so.57 etc. to fix this i just created a copy of these files ie libavcodec.so copied to libavcodec.so.57.

    5)But these ffmpeg libraries in turn uses a differently named lib264.so file. on my new machine the apt-get command for x264 installed a file named libx264.so.148 but one of ffmpeg libraries is searching for file libx264.so.142 even if i rename this libx264.so file i get new errors where ffmpeg libraries tries to call libx264’s methods which has these numbers attached.

    6) at this time the only working option for me is to bring the c++ code on every new machine and build final.so file locally. this is something i want to avoid since i want to distribute the .so file along with jar file to my clients which they can easily use without having to build and install stuff.

  • FFMPEG Flutter : attaching captions to a video issue

    24 juillet 2024, par Aqib Javed

    I am working on an app where i first extract audio from a video, then transcribe it and then i wanna attach that transcribed captions or subtitles to the original video.

    


    Everything is working smooth except the subtitles attaching part
if im running the FFMPEG command directly in terminal, it works fine but not in flutter

    


    here is my code of attaching the subtitles to the video :

    


     Future<void> attachCaptionsToVideo(DeepGramResponse deepGramResponse) async {&#xA;    var tempDir = await getTemporaryDirectory();&#xA;&#xA;    final outputPath = "${tempDir.path}/outputWithCaptions.mp4";&#xA;    final String subtitlePath = deepGramResponse.captionsPath&#xA;        .replaceAll(&#x27;\\&#x27;, &#x27;\\\\&#x27;)&#xA;        .replaceAll(&#x27; &#x27;, &#x27;\\ &#x27;);&#xA;    final String command =&#xA;        &#x27;-y -i ${deepGramResponse.videoPath} -vf subtitles=$subtitlePath $outputPath&#x27;;&#xA;    await FFmpegKit.executeAsync(command, (session) async {&#xA;      final returnCode = await session.getReturnCode();&#xA;      final output = await session.getOutput();&#xA;      final error = await session.getFailStackTrace();&#xA;&#xA;      log(&#x27;FFmpeg command executed with return code: $returnCode&#x27;);&#xA;      if (ReturnCode.isSuccess(returnCode)) {&#xA;        log(&#x27;Captions attached successfully&#x27;);&#xA;        deepGramResponse.copyWith(&#xA;          videoPath: outputPath,&#xA;        );&#xA;        Get.to(() => VideoPlayerScreen(videoPath: outputPath));&#xA;      } else {&#xA;        log(&#x27;FFmpeg command failed&#x27;);&#xA;        log(&#x27;Error output: $output&#x27;);&#xA;        log(&#x27;Error details: $error&#x27;);&#xA;        Fluttertoast.showToast(&#xA;            msg: &#x27;Something went wrong, please try again later&#x27;);&#xA;      }&#xA;    });&#xA;  }&#xA;</void>

    &#xA;

    here is the error im getting :

    &#xA;

    &#xA;

    [AVFilterGraph @ 0x7b8a3f35f0] No option name near&#xA;'/data/user/0/com.example.blink/app_flutter/captions.srt'&#xA;[AVFilterGraph @ 0x7b8a3f35f0] Error parsing a filter description around :&#xA;[AVFilterGraph @ 0x7b8a3f35f0] Error parsing filterchain 'subtitles=/data/user/0/com.example.blink/app_flutter/captions.srt'&#xA;around :&#xA;Error reinitializing filters !&#xA;Failed to inject frame into filter network : Invalid argument&#xA;Error while processing the decoded data for stream #0:0&#xA;Conversion failed !

    &#xA;

    &#xA;

  • Overlaying video with ffmpeg

    11 novembre 2012, par elee

    I'm attempting to write a script that will merge 2 separate video files into 1 wider one, in which both videos play back simultaneously. I have it mostly figured out, but when I view the final output, the video that I'm overlaying is extremely slow.

    Here's what I'm doing :

    1. Expand the left video to the final video dimensions

      ffmpeg -i left.avi -vf "pad=640:240:0:0:black" left_wide.avi

    2. Overlay the right video on top of the left one

      ffmpeg -i left_wide.avi -vf "movie=right.avi [mv] ; [in][mv] overlay=320:0" combined_video.avi

    In the resulting video, the playback on the right video is about half the speed of the left video. Any idea how I can get these files to sync up ?