Recherche avancée

Médias (91)

Autres articles (65)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (12372)

  • Recording a webpage stream with multiple requests using PhantomJS & ffmpeg to /dev/stdout leads to ffmpeg error

    2 septembre 2016, par Allisson Ferreira

    First of all, sorry for my english.

    I’m in a quest for days. I’ve researched everywhere and I couldn’t find an answer to my problem.

    I’m using Nodejs, Phantomjs and ffmpeg in this scenary :

    • An user enters the site, login with facebook and he can ask for a video with his name and some random photos (gathered by /me/ & sent via JSON POST) ;
    • Node receive the user data, creates a child process (PhantomJS + ffmpeg) and awaits for a response to send the video URL to the user.

    When I run a single instance of this request, everything is working fine. BUT, when two or more users make the request, only one video is sent and the others process end up in a ffmpeg stream error.

    I think the reason is that all the ffmpeg processes are using the same place (/dev/stdout). Since one process is already using it, the others enters in a "can’t access" error. But it is a assumption, I don’t know how /dev/stdout really works.

    Here are my codes. (I have removed some lines and renamed some variables for better understanding, sorry for any mistake)

    index.js :

    var generateVideo = 'phantomjs phantom.js '+videoID+' '+userID+' | ffmpeg -vcodec png -f image2pipe -r 30 -i - -pix_fmt yuv420p public/videos/'+userID+'/'+videoID+'.mp4 -y';

    childProcess.exec(generateVideo, function(err, stdout, stderr) {
       var json    = {};
       json.video  = '/videos/'+userID+'/'+videoID+'.mp4';
       res.send(json);
    });

    phantom.js :

    var page            = require('webpage').create();
    page.viewportSize   = { width: 1366, height: 768 };
    page.settings.resourceTimeout = 10000;

    var args            = require('system').args;
    var videoID         = args[1];
    var userID          = args[2];

    page.open('http://localhost:3000/recordvideo/'+videoID, 'post', function(status){
       var frame       = 0;
       var target_fps  = 30;
       var maxframes   = page.evaluate(function () {
                           return getTotalDurationInSeconds();
                       }) * target_fps;

       setInterval(function(){
           page.render('/dev/stdout', { format: "png" });
           if( frame >= maxframes ){
               phantom.exit();
           }
           frame++;
       }, (1000 / target_fps));
    });

    And the error :

    [Error: Command failed: /bin/sh -c phantomjs phantom.js XXXXXXXX XXXXXXXX | ffmpeg -vcodec png -f image2pipe -r 30 -i - -pix_fmt yuv420p public/videos/XXXXXXXX/XXXXXXXX.mp4 -y
    www-0 ffmpeg version N-80901-gfebc862 Copyright (c) 2000-2016 the FFmpeg developers
    www-0   built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
    www-0   configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
    www-0   libavutil      55. 28.100 / 55. 28.100
    www-0   libavcodec     57. 48.101 / 57. 48.101
    www-0   libavformat    57. 41.100 / 57. 41.100
    www-0   libavdevice    57.  0.102 / 57.  0.102
    www-0   libavfilter     6. 47.100 /  6. 47.100
    www-0   libavresample   3.  0.  0 /  3.  0.  0
    www-0   libswscale      4.  1.100 /  4.  1.100
    www-0   libswresample   2.  1.100 /  2.  1.100
    www-0   libpostproc    54.  0.100 / 54.  0.100
    www-0 [png @ 0x3d7c4a0] Invalid PNG signature 0x46726F6D20506861.
    www-0 [image2pipe @ 0x3d72780] decoding for stream 0 failed
    www-0 [image2pipe @ 0x3d72780] Could not find codec parameters for stream 0 (Video: png, none(pc)): unspecified size
    www-0 Consider increasing the value for the 'analyzeduration' and 'probesize' options
    www-0 Input #0, image2pipe, from 'pipe:':
    www-0   Duration: N/A, bitrate: N/A
    www-0     Stream #0:0: Video: png, none(pc), 30 tbr, 30 tbn, 30 tbc
    www-0 [buffer @ 0x3d81540] Unable to parse option value "0x0" as image size
    www-0 [buffer @ 0x3d81540] Unable to parse option value "-1" as pixel format
    www-0 [buffer @ 0x3d81540] Unable to parse option value "0x0" as image size
    www-0 [buffer @ 0x3d81540] Error setting option video_size to value 0x0.
    www-0 [graph 0 input from stream 0:0 @ 0x3d72600] Error applying options to the filter.
    www-0 Error opening filters!
    www-0 ]

    I really hope that I can find an answer here !
    And sorry if there already is an answer for this. But I researched for days.

    Thank you in advance !

  • Cannot use ffmpeg in qt on windows

    10 septembre 2016, par Johnnylin

    In my source file, I have the following include :

    #define __STDC_CONSTANT_MACROS

    extern "C" {
    #include "libavcodec/avcodec.h"
    #include "libavutil/imgutils.h"
    #include "libavutil/opt.h"
    #include "libswscale/swscale.h"
    }

    and in .pro file, I have :

    INCLUDEPATH += Z:\new_project\ffmpeg\include
    LIBS += -L"Z:/new_project/ffmpeg/lib" \
        -lavformat \
        -lavcodec \
        -lswscale \
        -lavutil

    In a function I call this :

       QImage YV12ToRGB24_FFmpeg(unsigned char* pYUV, int width, int height)
       {
           if (width < 1 || height < 1 || pYUV == NULL)
               return QImage();

           int length = height * width * 3;
           uchar* pRGB24 = new uchar[length];

           AVFrame pFrameYUV, pFrameRGB;
           av_image_fill_arrays(pFrameYUV.data, pFrameYUV.linesize, pYUV, AV_PIX_FMT_YUV420P, width, height, 1);
           //.......other operations.....//
      }

    when I run build in QtCreator, I got this error :

    undefined reference to 'av_image_fill_arrays'

    Can any one help ?

    BTW, I use ffmpeg-3.0-windows64-dev, and My qt use Qt5.7, QtCreator build use mingw32-make.

    EDIT :

    Compilation output :

    C:\Qt\Qt5.7.0\5.7\mingw53_32\bin\qmake.exe -spec win32-g++ -o Makefile ..\new_project.pro
    C:/Qt/Qt5.7.0/Tools/mingw530_32/bin/mingw32-make -f Makefile.Release
    mingw32-make[1]: Entering directory 'Z:/new_project/build'
    g++ -Wl,-s -Wl,-subsystem,windows -mthreads -o release\new_project.exe object_script.new_project.Release  -lmingw32 -LC:\Qt\Qt5.7.0\5.7\mingw53_32\lib C:\Qt\Qt5.7.0\5.7\mingw53_32\lib\libqtmain.a -LC:\utils\postgresql\pgsql\lib -LC:\utils\my_sql\my_sql\lib -lshell32 -LZ:\new_project\ffmpeg\lib -lavformat -lavcodec -lswscale -lavutil -LZ:\new_project\opencv_3.0\x86\mingw\bin -lopencv_core300 -lopencv_imgproc300 -lopencv_highgui300 -lopencv_imgcodecs300 C:\Qt\Qt5.7.0\5.7\mingw53_32\lib\libQt5Widgets.a C:\Qt\Qt5.7.0\5.7\mingw53_32\lib\libQt5Gui.a C:\Qt\Qt5.7.0\5.7\mingw53_32\lib\libQt5Core.a release\icon_res.o


    ./release\camera_node.o:camera_node.cpp:(.text+0x464): undefined reference to `av_image_fill_arrays'
    collect2.exe: error: ld returned 1 exit status
  • libavformat/mov : Accept known codepoints in ’colr’

    17 août 2016, par Steven Robertson
    libavformat/mov : Accept known codepoints in ’colr’
    

    This change relaxes the whitelist on reading color metadata in MOV/BMFF
    containers. The whitelist on writing values is still in place.

    As a consequence it also fixes an apparent bug in reading ’nclc’ values.
    The ’nclc’ spec [1] is in harmony with ISO 23001-8 for the values it
    lists, but the code getting removed was remapping 5->6 and 6->7 for
    primaries, which is incorrect, and was remapping 6->5 for color matrix
    ("colorspace" in the code), which is equivalent but an unnecessary
    inconsistency. This logic error doesn’t appear in movenc.

    Removing the whitelist allows proper conversion when the source codec
    relies on the container for proper signaling of newer codepoints, such
    as DNxHR and VP9. If converting to a codec or container that has updated
    its spec to include the new codepoints, the metadata will be preserved.
    If going back to MOV/BMFF, the output whitelist will still kick in, so
    this won’t result in out-of-spec files being created.

    [1] https://developer.apple.com/library/mac/technotes/tn2162/_index.html

    Signed-off-by : Steven Robertson <steven@strobe.cc>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/mov.c