Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP

Autres articles (52)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

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

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

Sur d’autres sites (6474)

  • how to capture html5 video programmatically (headless)

    25 octobre 2019, par ygk

    I am trying to capture html5 video with js/css effects on it programmatically. I tried a couple of methods ;

    1. First I find this great blog post and implemented it. Everything was perfect till I found that phantomjs is not supporting html5 video tag so can not capture the video.

    2. Second option was to use headless chrome to take continuous screenshots and feed these screenshots into ffmpeg to create the video. Although it worked to some level headless chromes screenshots was taking some time.. I couldn’t create a smooth video..

    3. On my third try I gave a chance to chrome’s Page.startScreencast api. It could get video capture but frame rates was really problematic. The reason is that..

    4. Now I am working on xvfb + chrome/firefox + ffmpeg combination for capturing video as mentioned on that comment. Theoretically it is promising but I couldn’t managed to capture a video. Instead I have black screen..

    My setup is below :

    • light-http server having a simple video (web) within html5 video tag ; on localhost
    • start xvfb with Firefox and navigate to localhost/index.html ( video is there )
      xvfb-run --listen-tcp --server-num 44 --auth-file /tmp/xvfb.auth -s "-ac -screen 0 1440x685x24" firefox --headless http://localhost
    • start ffmpeg with x11grab parameter to grab frames from xvfb

      ffmpeg -f x11grab -video_size 1440x685 -i :44 -codec:v libx264 -r 12 ./output.mp4
    • the result is black video :)

    what should be the problem, how can I debug the problem ?


    ps : there is one more possible solution which I didn’t tried yet. As phantomjs has capability to capture canvas ; it may be possible to

    It seems like a dirty workaround that is why not tried yet..


    UPDATE-1

    Tried to get screenshot with xwd -root -silent -display :44 -out screen.xwdand than convert to jpeg convert screen.xwd shot.jpg the result is black jpg..

  • Background version of uploaded video creation in Elixir with Arc and FFmpeg

    12 décembre 2017, par Levit

    I tried to make video uploading on Elixir phoenix project using Arc. I need to have different size versions of video. So I used FFmpeg to do this :

    def transform(:large, {file, scope}) do
     {:ffmpeg, fn(input, output) -> "-i #{input} -c:a copy -s 1920x1080 -f mp4 #{output}" end, :mp4}
    end

    However, it takes a lot of time to create this versions even to small videos. So, I decided to make version creation on background. I want Arc to upload video, then I give the response with uploaded original while other versions are creating.

    I was hoping to find such option at https://github.com/stavro/arc but I didn’t succed. I only found "To disable asynchronous processing, add @async false to your upload definition" but I don’t want to disable it, right ?

    I tried to use Exq https://github.com/akira/exq for background processing but I didn’t menage to use it in uploader.

    Could anybody tell me how it should be made in a proper way or give me some dirty hack advice to make it work. Thanks.

    I tried Task as was advised in comments, but I am not sure how to use them in this case. When I try

    {:ffmpeg, fn(input, output) -> Task.async(fn -> "-i #{input} -c:a copy -s 1920x1080 -f mp4 #{output}" end) end, :mp4}

    or

    {:ffmpeg, Task.async(fn -> fn(input, output) ->  "-i #{input} -c:a copy -s 1920x1080 -f mp4 #{output}" end end), :mp4}

    I got "protocol String.Chars not implemented for %Task".

    When I try

    {:ffmpeg, Task.async(fn(input, output) ->  "-i #{input} -c:a copy -s 1920x1080 -f mp4 #{output}" end), :mp4}

    I got "#Function<20.83953603/2 in MyWebSite.Content.transform/2> with arity 2 called with no arguments". I tried to pass function as an argument with "&" but it fails as well.

    My uploader :

    defmodule MyWebSite.Content do
    use Arc.Definition
    use Arc.Ecto.Definition

    @acl :public_read

    @versions [:original,  :huge]

    def transform(:huge, {file, scope}) do
     {:ffmpeg, Task.async(fn(input, output) ->  "-i #{input} -c:a copy -s 1920x1080 -f mp4 #{output}" end), :mp4}
    end

    def s3_object_headers(version, {file, scope}) do
     [timeout: 3_000_00, content_type: Plug.MIME.path(file.file_name)]
    end
    end
  • How to use scale filter in doc/examples/transcoding.c

    19 janvier 2018, par siods333333

    I tried to replace the "null" filter with the "scale=320x180" filter in the doc/examples/transcoding.c file, it only resulted into the this error message :

    [libx264 @ 03303ee0] Input picture width (640) is greater than stride (256)
    Error occurred: Generic error in an external library

    What is wrong ? Look that init_filters happens after open_output_file, the encoder is already set before it even knows the resolution of the output.

    How to do this properly ?

    Look at this piece of code, I don’t get what it’s talking about, fiters ain’t going to magically set the correct resolution :

           /* In this example, we transcode to same properties (picture size,
            * sample rate etc.). These properties can be changed for output
            * streams easily using filters */
           if (dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO) {
               enc_ctx->height = dec_ctx->height;
               enc_ctx->width = dec_ctx->width;

    Found this in the ffmpeg.c itself :

       enc_ctx->width  = av_buffersink_get_w(ost->filter->filter);
       enc_ctx->height = av_buffersink_get_h(ost->filter->filter);