Advanced search

Medias (3)

Tag: - Tags -/plugin

Other articles (74)

  • Automated installation script of MediaSPIP

    25 April 2011, by

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

  • Les formats acceptés

    28 January 2010, by

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • List of compatible distributions

    26 April 2011, by

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

On other websites (4677)

  • converting a "gif" to video using swift

    3 December 2019, by James Woodrow

    I’ve looked around and found a few things here and there, mainly that I should be using AVAssetWriter to do this but I have 0 experience with this and video editing/creation so it doesn’t help me much since I can’t seem to find anything that does something I can modify easily (or not at my level of knowledge at least) so that it works as I intend it to.

    I have an app which takes n photos every cft (capture frame time which I get from a backend server) seconds (it’s a double for obvious reasons) I then display these frames using a UIImageView and the frames change every dft (display frame time which I also get from a backend server and can be different from cft). Up until this point nothing complicated.

    now what is currently the workflow is that these frames are sent back to a server with any relevant information I want and then the server would use imagemagick to create a real gif file and ffmpeg to create a 15 seconds video using said gif.

    the issue is this makes it so that my heroku server bills aren’t as low as I would like because of the limited memory on the dynos and the time it takes to generate these videos is of about 5-10 seconds I believe (not sure but it’s longer than I’d like)

    So the idea I had was to make the app create the video since he already has all the information he needs for this, and then simply upload it with the rest of the frames and relevant data. Using bandwidth nowadays is much cheaper than buying extra processing power on a server.

    • he has n frames to loop over
    • he has a float value representing how long each frame should last dft
    • he has a gpu or at least a much better cpu than the dynos heroku have to offer

    I’ve also looked around to see if anyone made an extensive tutorial on how to use ffmpeg in swift but I still didn’t find anything at my level and I didn’t even find a tutorial per se, only some GitHub projects which were partially completed and/or without the original tutorial linked to understand the thought process.

    I would appreciate any tips/code sample/tutorials on the subject.

    I’m adding the ffmpeg command line equivalent to what I would love to be able to do (if I could use ffmpeg directly with iOS this could be nice too)

    ffmpeg -framerate 100/13 -loop 1 -i frame%02d.png -c:v libx264 -r 100/13 -pix_fmt yuv420p -t 0:15 instagram.mp4

    where basically I did 100 / (dft * 100) for the input frame rate and just output at the same fps for 15 seconds. by the way if there are any ways to optimise this command to make it run faster without losing quality I might be able to keep the current way of functioning with heroku although I would still prefer some iOS solution.

  • Want to send a video from desktop to Wowza using ffmpeg

    3 March 2018, by ST94

    I am trying to stream a local .mp4 video file from my laptop to Wowza Streaming Engine using ffmpeg. Both systems are able to ping each other. I give the following command on my laptop

    ffmpeg -re -i bunny_1080p_60fps_normal.mp4 -vcodec libx264 -acodec aac -ar 48000 -strict experimental -f flv "rtmp://192.168.1.22:1935/live/myStream"

    192.168.1.22 is the IP address of Wowza server residing on another system running Ubuntu 17.04.

    I see the following on the command prompt of my laptop when I give the above command,

    ffmpeg version N-89894-g18e2ac032e Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 7.2.0 (GCC)
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
     libavutil      56.  7.100 / 56.  7.100
     libavcodec     58.  9.100 / 58.  9.100
     libavformat    58.  5.101 / 58.  5.101
     libavdevice    58.  0.101 / 58.  0.101
     libavfilter     7. 11.101 /  7. 11.101
     libswscale      5.  0.101 /  5.  0.101
     libswresample   3.  0.101 /  3.  0.101
     libpostproc    55.  0.100 / 55.  0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bunny_1080p_60fps_normal.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 1
       compatible_brands: isomavc1
       creation_time   : 2013-12-16T17:59:32.000000Z
       title           : Big Buck Bunny, Sunflower version
       artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
       comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
       genre           : Animation
       composer        : Sacha Goedegebure
     Duration: 00:10:34.53, start: 0.000000, bitrate: 4486 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4001 kb/s, 60 fps, 60 tbr, 60k tbn, 120 tbc (default)
       Metadata:
         creation_time   : 2013-12-16T17:59:32.000000Z
         handler_name    : GPAC ISO Video Handler
       Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, s16p, 160 kb/s (default)
       Metadata:
         creation_time   : 2013-12-16T17:59:37.000000Z
         handler_name    : GPAC ISO Audio Handler
       Stream #0:2(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 320 kb/s (default)
       Metadata:
         creation_time   : 2013-12-16T17:59:37.000000Z
         handler_name    : GPAC ISO Audio Handler
       Side data:
         audio service type: main
    [rtmp @ 000001ed7c4108c0] No credentials set
    [rtmp @ 000001ed7c4108c0] Server error: [ AccessManager.Reject ] : [ code=403 need auth; authmod=adobe ] :
    rtmp://192.168.1.22:1935/live/myStream: Unknown error occurred

    Can anyone please tell me what the exact procedure is to stream a video file to Wowza .

    How will I be able to view the stream at Wowza ?

  • Splitting video file more then once

    18 May 2017, by Fearhunter

    I’m experimenting with this github repo for cutting video’s.

    https://github.com/vdaubry/html5-video-splitter

    This is the code of video-splitter.js

    var childProcess = require("child_process");
    childProcess.spawn = require('cross-spawn');

       var http = require('http');
       var path = require("path");
       var fs = require("fs");
       var exec = require('child_process').exec;

       http.createServer(function (req, res) {
         if (req.method === 'OPTIONS') {
             console.log('!OPTIONS');
             var headers = {};
             headers["Access-Control-Allow-Origin"] = "*";
             headers["Access-Control-Allow-Methods"] = "POST, GET, PUT, DELETE, OPTIONS";
             headers["Access-Control-Allow-Credentials"] = false;
             headers["Access-Control-Max-Age"] = '86400';
             headers["Access-Control-Allow-Headers"] = "X-reqed-With, X-HTTP-Method-Override, Content-Type, Accept";
             res.writeHead(200, headers);
             res.end();
         }
         else if (req.method == 'POST') {
           var body = '';
           req.on('data', function (data) {
               body += data;
           });
           req.on('end', function () {
               var data = JSON.parse(body);
               var localPath = __dirname;
               var inputFilePath = localPath+"/videos/"+data.inputFilePath;
               var outputFilePath = localPath+"/videos/output-"+data.inputFilePath
               var start = data.begin;
               var end = data.end;


               var command = "ffmpeg -y -ss "+start+" -t "+(end-start)+" -i "+inputFilePath+" -vcodec copy -acodec copy "+outputFilePath;
               exec(command, function(error, stdout, stderr) {
                 var msg = ""
                 if(error) {
                   console.log(error);
                   msg = error.toString();
                   res.writeHead(500, {'Content-Type': 'text/plain'});
                 }
                 else {
                   console.log(stdout);
                   res.writeHead(200, {'Content-Type': 'text/plain'});
                 }
                 res.end(msg);
               });
           });
         }
         else if (req.method == 'GET') {
           var filename = "index.html";
           if(req.url != "/") {
             filename = req.url
           }

           var ext = path.extname(filename);
           var localPath = __dirname;
           var validExtensions = {
             ".html" : "text/html",      
             ".js": "application/javascript",
             ".css": "text/css",
             ".txt": "text/plain",
             ".jpg": "image/jpeg",
             ".gif": "image/gif",
             ".png": "image/png",
             ".ico": "image/x-icon"
           };
           var mimeType = validExtensions[ext];

           if (mimeType) {
             localPath += "/interface/"+filename;
             fs.exists(localPath, function(exists) {
               if(exists) {
                 console.log("Serving file: " + localPath);
                 getFile(localPath, res, mimeType);
               } else {
                 console.log("File not found: " + localPath);
                 res.writeHead(404);
                 res.end();
               }
             });

           } else {
             console.log("Invalid file extension detected: " + ext)
           }
         }
       }).listen(1337, '127.0.0.1');
       console.log('Server running at http://127.0.0.1:1337/');

       function getFile(localPath, res, mimeType) {
         fs.readFile(localPath, function(err, contents) {
           if(!err) {
             res.setHeader("Content-Length", contents.length);
             res.setHeader("Content-Type", mimeType);
             res.statusCode = 200;
             res.end(contents);
           } else {
             res.writeHead(500);
             res.end();
           }
         });
       }

    He does exactly do the correct way for splitting the video. I am searching for a solution to cut more then only once. Because when I split again it overwrites the previous cut video. How can I change the code to split more then once?

    I have already FFMPEG installed and works correct.

    The output must be for example:

    output-1.mp4
    output-2.mp4
    output-3.mp4
    output-4.mp4