Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (27)

  • Initialisation de MediaSPIP (préconfiguration)

    20 février 2010, par

    Lors de l’installation de MediaSPIP, celui-ci est préconfiguré pour les usages les plus fréquents.
    Cette préconfiguration est réalisée par un plugin activé par défaut et non désactivable appelé MediaSPIP Init.
    Ce plugin sert à préconfigurer de manière correcte chaque instance de MediaSPIP. Il doit donc être placé dans le dossier plugins-dist/ du site ou de la ferme pour être installé par défaut avant de pouvoir utiliser le site.
    Dans un premier temps il active ou désactive des options de SPIP qui ne le (...)

  • 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

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (6041)

  • PHP memory issue when executing FFMPEG in CGI module but works from shell in CentOs

    28 mai 2016, par sam rolfe

    I am trying to execute FFMPEG on my VPS server however it is failing due to memory problems. The PHP calls an shell_exec($cmd) on FFMPEG and this throws the memory allocation error. However if I call the exact same FFMPEG command from shell it works.

    Even STRANGER is if I call the php script with the shell_exec($cmd) from shell - then it works.

    I am sorry if I have not phrased this correctly. But I really feel as though this is a memory issue from the PHP being executed in the browser window via the CGI exe - as when it is run from within the shell it is obviously able to maintain the memory level. I am desperate to get this to work and have been researching all week.

    I looked at system("ulimit -a") ;

    core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 1546994 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 16384 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 400 virtual memory (kbytes, -v) 1048576 file locks (-x) unlimited file locks (-x) unlimited

    The PHP is running as a suphp CGI I have set the php.ini memory to 2G, here are the details of things.

    The basic command insude PHP

    $cmd="ffmpeg -hwaccel auto  -i finn.mp4 -y  -pix_fmt yuv410p -s 320x240  -codec:v h264 -c:a copy  -crf 20 -preset slow  0001_finn_test_2.mp4   null >/dev/null 2> ffmpeg_2.log &";

    Output from error log - I can not post the full log as the formatting will not work :

    ffmpeg version N-80079-g4c82cca-vps15452_20160524 Copyright (c) 2000-2016 the FFmpeg developers
     built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
     configuration: --prefix=/usr --extra-version=vps15452_20160524 --enable-shared --enable-static --enable-libx264 --enable-libass --enable-fontconfig --enable-libfreetype --enable-gpl --enable-nonfree --enable-version3 --enable-libmp3lame --enable-libvpx --enable-libspeex --enable-libwebp --enable-libfaac --enable-libtheora --enable-libvorbis
     libavutil      55. 24.100 / 55. 24.100
     libavcodec     57. 43.100 / 57. 43.100
     libavformat    57. 37.100 / 57. 37.100
     libavdevice    57.  0.101 / 57.  0.101
     libavfilter     6. 46.100 /  6. 46.100
     libswscale      4.  1.100 /  4.  1.100
     libswresample   2.  0.101 /  2.  0.101
     libpostproc    54.  0.100 / 54.  0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'finn.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2016-01-28 09:16:38
     Duration: 00:00:29.93, start: 0.000000, bitrate: 17060 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 16991 kb/s, 30.01 fps, 30 tbr, 90k tbn (default)
       Metadata:
         creation_time   : 2016-01-28 09:16:38
         handler_name    : VideoHandle
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
       Metadata:
         creation_time   : 2016-01-28 09:16:38
         handler_name    : SoundHandle
    Incompatible pixel format 'yuv410p' for codec 'libx264', auto-selecting format 'yuv420p'
    [libx264 @ 0x2560c60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
    [libx264 @ 0x2560c60] profile High, level 1.3
    [libx264 @ 0x2560c60] 264 - core 148 r2694 3b70645 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8 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=7 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=crf mbtree=1 crf=20.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [mp4 @ 0x255ed00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
       Last message repeated 1 times
    Output #0, mp4, to '0001_finn_test_2.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       encoder         : Lavf57.37.100
       Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 320x240, q=2-31, 30 fps, 15360 tbn (default)
       Metadata:
         creation_time   : 2016-01-28 09:16:38
         handler_name    : VideoHandle
         encoder         : Lavc57.43.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 256 kb/s (default)
       Metadata:
         creation_time   : 2016-01-28 09:16:38
         handler_name    : SoundHandle
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    [h264 @ 0x29478c0] decode_slice_header error
    [h264 @ 0x29478c0] no frame!
    [h264 @ 0x298eb60] Cannot allocate memory.
    [h264 @ 0x298eb60] Could not allocate memory
    [h264 @ 0x298eb60] h264_slice_header_init() failedError while decoding stream #0:0: Cannot allocate memory
    [h264 @ 0x298eb60] Cannot allocate memory.
    [h264 @ 0x298eb60] Could not allocate memory
    [h264 @ 0x298eb60] h264_slice_header_init() failedError while decoding stream
    [h264 @ 0x298eb60] h264_slice_header_init() failedError while decoding stream #0:0: Cannot allocate memory
    Error writing trailer of 0001_finn_test_2.mp4: Cannot allocate memoryframe=    0 fps=0.0 q=0.0 Lsize=       1kB time=00:00:09.07 bitrate=   0.8kbits/s speed= 103x    
    video:0kB audio:284kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Conversion failed!
  • FFMPEG+video+video.js dont show up the video

    18 avril 2013, par user1843970

    I have a video content type where I want to show the video to the user. I downloaded video module and video.js for this purpose. I have successfully installed ffmpeg transcoder in apache serventer image description here

    Now I go to admin/config/media/video. Withing players tab I select HTML5 player for mp4 video and video.js to run HTML5 video like below :-

    enter image description here

    Now I go to Video Content Type and add Video field with Video Upload as its type and save it.The video is successfully converted but after clicking on play button nothing happens.

    enter image description here

    Need your help in this.

  • Show portrait video to landscape on Videojs player as HLS ffmpeg Laravel

    11 décembre 2020, par TwistCode

    I am currently using the ffmpeg library through laravel sdk. For the landscape videos I have no problem with the scaling filters application, but with the portrait videos I need the video to look like the thumbnail below :

    


    enter image description here

    


    But when I play the video, the player is distorted.

    


    enter image description here

    


    Note : It should be noted that when I work with horizontal scales, the player looks good, but the video is distorted.

    


    enter image description here

    


    enter image description here

    


    this is my PHP Laravel code implementation

    


                FFMpeg::FromDisk('local')->open($this->media)
            ->exportForHLS()
            ->setSegmentLength(6) // optional
            /*
            ->addFormat($lowBitrate, function ($media) {
                $media->addFilter(function ($filters, $in, $out) {
                    $filters->custom($in, 'scale=854x480,setsar=1,setdar=16:9', $out); // $in, $parameters, $out

                });
            })*/
            // Portrait test
            ->addFormat($lowBitrate, function ($media) { 
                $media->addFilter(function ($filters, $in, $out) {
                    // $filters->custom($in, "scale='w=min(720,trunc((480*33/40*dar)/2+0.5)*2):h=min(480,trunc((704*40/33/dar)/2+0.5)*2)',pad='w=720:h=480:x=(ow-iw)/2:y=(oh-ih)/2',setsar='r=40/33'", $out); // $in, $parameters, $out
                    $filters->custom($in, "scale=239:-1", $out); // $in, $parameters, $out
                });
            })
            /*
            ->addFormat($midBitrate, function ($media) {
                $media->scale(1280, 720);
            })
            ->addFormat($highBitrate, function ($media) {
                $media->scale(1920, 1080);
            })*/
            ->save("public/hls/$video->id/$video->hash_name.m3u8");


    


    This is the command that runs at the server level for portrait videos.

    


    


    [2020-12-10 17:48:17] local.INFO : ffmpeg running command
'/usr/bin/ffmpeg' '-y' '-threads' '12' '-i'
'/home/vagrant/homesteadprojects/maquillate/storage/app/videos_directory/pexels-cottonbro-6054875.mp4'
'-filter_complex' '[0]scale=640 :-2[v0]' '-map' '[v0]' '-vcodec'
'libx264' '-b:v' '1200k' '-g' '48' '-hls_playlist_type' 'vod'
'-hls_time' '6' '-hls_segment_filename'
'/home/vagrant/homesteadprojects/maquillate/storage/app/public/hls/35/NXp9waz4AO5Q14Lu6T3JbjSRY496RrtiPGIz6IOJ_0_1200_%05d.ts'
'-acodec' 'aac' '-b:a' '128k'
'/home/vagrant/homesteadprojects/maquillate/storage/app/public/hls/35/NXp9waz4AO5Q14Lu6T3JbjSRY496RrtiPGIz6IOJ_0_1200.m3u8'

    


    


    I don't really know if my problem is at the server or frontend level, but I would greatly appreciate any contribution.