Recherche avancée

Médias (1)

Mot : - Tags -/iphone

Autres articles (63)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (12923)

  • 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 !

  • nginx RTMP to HLS : FFMPG error when trying multiple bitrate output [on hold]

    28 mai 2014, par user3685074

    I’m currently trying to convert my RTMP Livestream into a HLS with 3 quality-settings.

    I followed this guide

    I’ve compiled my own FFMPEG and it’s working if I just convert 1 file.
    It seems libx264 isn’t able to do multiple encodings at the same time ?

    I’m using these command :

           exec /usr/local/bin/ffmpeg -i rtmp://localhost/src/$name
           -c:a libfdk_aac -b:a 32k   -c:v libx264 -b:v 128K -f flv rtmp://localhost/hls/$name_low
           -c:a libfdk_aac -b:a 64k   -c:v libx264 -b:v 256K -f flv rtmp://localhost/hls/$name_mid
           -c:a libfdk_aac -b:a 128k  -c:v libx264 -b:v 512K -f flv rtmp://localhost/hls/$name_hi  2>>/tmp/ffmpeg.log;

    this is the output :

       ffmpeg version N-63519-g61917a1 Copyright (c) 2000-2014 the FFmpeg developers
         built on May 28 2014 18:06:42 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
         configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-x11grab --enable-libvpx --enable-libmp3lame --enable-librtmp --enable-libspeex --enable-libfdk_aac
         libavutil      52. 87.100 / 52. 87.100
         libavcodec     55. 65.100 / 55. 65.100
         libavformat    55. 41.100 / 55. 41.100
         libavdevice    55. 13.101 / 55. 13.101
         libavfilter     4.  5.100 /  4.  5.100
         libswscale      2.  6.100 /  2.  6.100
         libswresample   0. 19.100 /  0. 19.100
         libpostproc    52.  3.100 / 52.  3.100
       Metadata:
         Server                NGINX RTMP (github.com/arut/nginx-rtmp-module)
         width                 1280.00
         height                720.00
         displayWidth          1280.00
         displayHeight         720.00
         duration              0.00
         framerate             25.00
         fps                   25.00
         videodatarate         390.00
         videocodecid          0.00
         audiodatarate         27.00
         audiocodecid          11.00
       Input #0, flv, from 'rtmp://localhost/src/test':
         Metadata:
           Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
           displayWidth    : 1280
           displayHeight   : 720
           fps             : 25
           profile         :
           level           :
         Duration: 00:00:00.00, start: 0.080000, bitrate: N/A
           Stream #0:0: Video: h264 (High), yuv420p, 1280x720, 399 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
           Stream #0:1: Audio: speex, 16000 Hz, mono, s16, 27 kb/s
       [libx264 @ 0x5260380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
       [libx264 @ 0x5260380] profile High, level 3.1
       [libx264 @ 0x5260380] 264 - core 142 r2431 f23da7c - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=128 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
       [libx264 @ 0x525a920] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
       Output #0, flv, to 'rtmp://localhost/hls/test_low':
         Metadata:
           Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
           displayWidth    : 1280
           displayHeight   : 720
           fps             : 25
           profile         :
           level           :
           Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720, q=-1--1, 128 kb/s, 25 fps, 90k tbn, 25 tbc
           Metadata:
             encoder         : Lavc55.65.100 libx264
           Stream #0:1: Audio: aac (libfdk_aac), 16000 Hz, mono, s16, 32 kb/s
           Metadata:
             encoder         : Lavc55.65.100 libfdk_aac
       Output #1, flv, to 'rtmp://localhost/hls/test_mid':
         Metadata:
           Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
           displayWidth    : 1280
           displayHeight   : 720
           fps             : 25
           profile         :
           level           :
           Stream #1:0: Video: h264, yuv420p, 1280x720, q=-1--1, 256 kb/s, 25 fps, 90k tbn, 25 tbc
           Metadata:
             encoder         : Lavc55.65.100 libx264
           Stream #1:1: Audio: aac, 16000 Hz, mono, s16
           Metadata:
             encoder         : Lavc55.65.100 libfdk_aac
       Output #2, flv, to 'rtmp://localhost/hls/test_hi':
         Metadata:
           Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
           displayWidth    : 1280
           displayHeight   : 720
           fps             : 25
           profile         :
           level           :
           Stream #2:0: Video: h264, yuv420p, 1280x720, q=-1--1, 25 fps, 90k tbn, 25 tbc
           Metadata:
             encoder         : Lavc55.65.100 libx264
           Stream #2:1: Audio: aac, 16000 Hz, mono, s16
           Metadata:
             encoder         : Lavc55.65.100 libfdk_aac
       Stream mapping:
         Stream #0:0 -> #0:0 (h264 -> libx264)
         Stream #0:1 -> #0:1 (libspeex -> libfdk_aac)
         Stream #0:0 -> #1:0 (h264 -> libx264)
         Stream #0:1 -> #1:1 (libspeex -> libfdk_aac)
         Stream #0:0 -> #2:0 (h264 -> libx264)
         Stream #0:1 -> #2:1 (libspeex -> libfdk_aac)
       Error while opening encoder for output stream #1:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    I hope you can help me and sorry for my bad english.

    Greetz
    Kevin

  • nginx RTMP to HLS : FFMPG error when trying multiple bitrate output [closed]

    28 mai 2014, par user3685074

    I’m currently trying to convert my RTMP Livestream into a HLS with 3 quality-settings.

    I followed this guide

    I’ve compiled my own FFMPEG and it’s working if I just convert 1 file.
    It seems libx264 isn’t able to do multiple encodings at the same time ?

    I’m using these command :

           exec /usr/local/bin/ffmpeg -i rtmp://localhost/src/$name
           -c:a libfdk_aac -b:a 32k   -c:v libx264 -b:v 128K -f flv rtmp://localhost/hls/$name_low
           -c:a libfdk_aac -b:a 64k   -c:v libx264 -b:v 256K -f flv rtmp://localhost/hls/$name_mid
           -c:a libfdk_aac -b:a 128k  -c:v libx264 -b:v 512K -f flv rtmp://localhost/hls/$name_hi  2>>/tmp/ffmpeg.log;

    this is the output :

       ffmpeg version N-63519-g61917a1 Copyright (c) 2000-2014 the FFmpeg developers
         built on May 28 2014 18:06:42 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
         configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-x11grab --enable-libvpx --enable-libmp3lame --enable-librtmp --enable-libspeex --enable-libfdk_aac
         libavutil      52. 87.100 / 52. 87.100
         libavcodec     55. 65.100 / 55. 65.100
         libavformat    55. 41.100 / 55. 41.100
         libavdevice    55. 13.101 / 55. 13.101
         libavfilter     4.  5.100 /  4.  5.100
         libswscale      2.  6.100 /  2.  6.100
         libswresample   0. 19.100 /  0. 19.100
         libpostproc    52.  3.100 / 52.  3.100
       Metadata:
         Server                NGINX RTMP (github.com/arut/nginx-rtmp-module)
         width                 1280.00
         height                720.00
         displayWidth          1280.00
         displayHeight         720.00
         duration              0.00
         framerate             25.00
         fps                   25.00
         videodatarate         390.00
         videocodecid          0.00
         audiodatarate         27.00
         audiocodecid          11.00
       Input #0, flv, from 'rtmp://localhost/src/test':
         Metadata:
           Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
           displayWidth    : 1280
           displayHeight   : 720
           fps             : 25
           profile         :
           level           :
         Duration: 00:00:00.00, start: 0.080000, bitrate: N/A
           Stream #0:0: Video: h264 (High), yuv420p, 1280x720, 399 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
           Stream #0:1: Audio: speex, 16000 Hz, mono, s16, 27 kb/s
       [libx264 @ 0x5260380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
       [libx264 @ 0x5260380] profile High, level 3.1
       [libx264 @ 0x5260380] 264 - core 142 r2431 f23da7c - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=128 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
       [libx264 @ 0x525a920] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
       Output #0, flv, to 'rtmp://localhost/hls/test_low':
         Metadata:
           Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
           displayWidth    : 1280
           displayHeight   : 720
           fps             : 25
           profile         :
           level           :
           Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720, q=-1--1, 128 kb/s, 25 fps, 90k tbn, 25 tbc
           Metadata:
             encoder         : Lavc55.65.100 libx264
           Stream #0:1: Audio: aac (libfdk_aac), 16000 Hz, mono, s16, 32 kb/s
           Metadata:
             encoder         : Lavc55.65.100 libfdk_aac
       Output #1, flv, to 'rtmp://localhost/hls/test_mid':
         Metadata:
           Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
           displayWidth    : 1280
           displayHeight   : 720
           fps             : 25
           profile         :
           level           :
           Stream #1:0: Video: h264, yuv420p, 1280x720, q=-1--1, 256 kb/s, 25 fps, 90k tbn, 25 tbc
           Metadata:
             encoder         : Lavc55.65.100 libx264
           Stream #1:1: Audio: aac, 16000 Hz, mono, s16
           Metadata:
             encoder         : Lavc55.65.100 libfdk_aac
       Output #2, flv, to 'rtmp://localhost/hls/test_hi':
         Metadata:
           Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
           displayWidth    : 1280
           displayHeight   : 720
           fps             : 25
           profile         :
           level           :
           Stream #2:0: Video: h264, yuv420p, 1280x720, q=-1--1, 25 fps, 90k tbn, 25 tbc
           Metadata:
             encoder         : Lavc55.65.100 libx264
           Stream #2:1: Audio: aac, 16000 Hz, mono, s16
           Metadata:
             encoder         : Lavc55.65.100 libfdk_aac
       Stream mapping:
         Stream #0:0 -> #0:0 (h264 -> libx264)
         Stream #0:1 -> #0:1 (libspeex -> libfdk_aac)
         Stream #0:0 -> #1:0 (h264 -> libx264)
         Stream #0:1 -> #1:1 (libspeex -> libfdk_aac)
         Stream #0:0 -> #2:0 (h264 -> libx264)
         Stream #0:1 -> #2:1 (libspeex -> libfdk_aac)
       Error while opening encoder for output stream #1:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    I hope you can help me and sorry for my bad english.

    Greetz
    Kevin