Recherche avancée

Médias (91)

Autres articles (110)

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

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

Sur d’autres sites (10208)

  • FFmpeg audio dont work in converted videos

    28 octobre 2013, par Bar Cumberworth

    NOTICE : when i convert videos via terminal and download them from ftp into pc the audio works fine. I use :

    if($ext == "avi" && $convert_avi == true)
               {
                   $convert_source = _VIDEOS_DIR_PATH.$new_name;
                   $conv_name = substr(md5($file['name'].rand(1,888)), 2, 10).".mp4";
                   $converted_file  = _VIDEOS_DIR_PATH.$conv_name;
                   $ffmpeg_command = 'ffmpeg -i '.$convert_source.' -acodec libmp3lame -vcodec libx264 -s 1280x720 -ar 44100 -async 44100 -r 29.970 -ac 2 -qscale 5 '.$converted_file;
                   echo exec($ffmpeg_command);
                   $sql = "UPDATE pm_temp SET url = '".$conv_name."' WHERE url = '".$new_name."' LIMIT 1";
                   $result = @mysql_query($sql);
                   unlink($convert_source);    
               }

    This code to convert avi to mp4 ffmpeg concole output :

    root@1tb:~# ffmpeg -i sample.avi -acodec libmp3lame -vcodec libx264 -s 1280x720 -ar 44100 -async 44100 -r 29.970 -ac 2 -qscale 5 goodsample.mp4
    ffmpeg version 0.7.15, Copyright (c) 2000-2013 the FFmpeg developers
     built on Feb 22 2013 07:18:58 with gcc 4.4.5
     configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libfreetype --enable-libschroedinger --disable-encoder=libschroedinger -                                                                                                                                                             s
     libavutil    50. 43. 0 / 50. 43. 0
     libavcodec   52.123. 0 / 52.123. 0
     libavformat  52.111. 0 / 52.111. 0
     libavdevice  52.  5. 0 / 52.  5. 0
     libavfilter   1. 80. 0 /  1. 80. 0
     libswscale    0. 14. 1 /  0. 14. 1
     libpostproc  51.  2. 0 / 51.  2. 0
    [mp3 @ 0x191d4100] Header missing
    [mpeg4 @ 0x191d1dc0] Invalid and inefficient vfw-avi packed B frames detected
    Input #0, avi, from 'sample.avi':
     Metadata:
       encoder         : VirtualDubMod 1.5.10.2 (build 2540/release)
     Duration: 00:01:01.81, start: 0.000000, bitrate: 1194 kb/s
       Stream #0.0: Video: mpeg4, yuv420p, 640x352 [PAR 1:1 DAR 20:11], 23.98 tbr,
       Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
    [buffer @ 0x191d1c80] w:640 h:352 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
    [scale @ 0x191d6880] w:640 h:352 fmt:yuv420p -> w:1280 h:720 fmt:yuv420p flags:0
    [libx264 @ 0x191ce5a0] Default settings detected, using medium profile
    [libx264 @ 0x191ce5a0] using SAR=45/44
    [libx264 @ 0x191ce5a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle S
    [libx264 @ 0x191ce5a0] profile High, level 3.1
    [libx264 @ 0x191ce5a0] 264 - core 118 - H.264/MPEG-4 AVC codec - Copyleft 2003-2                                                                                                                                                             6 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_off                                                                                                                                                             1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_l
    Output #0, mp4, to 'goodsample.mp4':
     Metadata:
       encoder         : Lavf52.111.0
       Stream #0.0: Video: libx264, yuv420p, 1280x720 [PAR 45:44 DAR 20:11], q=2-31
       Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16, 64 kb/s
    Stream mapping:
     Stream #0.0 -> #0.0
     Stream #0.1 -> #0.1
    Press [q] to stop, [?] for help
    [mp3 @ 0x191d4100] Header missing
    Error while decoding stream #0.1
    [mpeg4 @ 0x191d1dc0] Invalid and inefficient vfw-avi packed B frames detected
    [mp3 @ 0x191d4100] incomplete frame 9467kB time=00:01:00.32 bitrate=1285.5kbits/
    Error while decoding stream #0.1
    frame= 1852 fps= 20 q=29.0 Lsize=    9652kB time=00:01:01.72 bitrate=1280.9kbits
    video:9121kB audio:483kB global headers:0kB muxing overhead 0.499688%
    frame I:11    Avg QP:16.78  size: 51456
    [libx264 @ 0x191ce5a0] frame P:784   Avg QP:20.81  size:  8954
    [libx264 @ 0x191ce5a0] frame B:1057  Avg QP:26.06  size:  1659
    [libx264 @ 0x191ce5a0] consecutive B-frames: 22.0%  3.1%  7.5% 67.4%
    [libx264 @ 0x191ce5a0] mb I  I16..4: 31.1% 59.8%  9.1%
    [libx264 @ 0x191ce5a0] mb P  I16..4:  1.8%  2.6%  0.2%  P16..4: 24.3%  7.0%  4.0
    [libx264 @ 0x191ce5a0] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 22.7%  0.8%  0.2
    [libx264 @ 0x191ce5a0] 8x8 transform intra:57.0% inter:72.6%
    [libx264 @ 0x191ce5a0] coded y,uvDC,uvAC intra: 44.4% 33.3% 10.3% inter: 7.6% 5.
    [libx264 @ 0x191ce5a0] i16 v,h,dc,p: 68% 14%  8% 10%
    [libx264 @ 0x191ce5a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 14% 27%  5%  7%  7%  6
    [libx264 @ 0x191ce5a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 14% 14%  6% 10%  9%  7
    [libx264 @ 0x191ce5a0] i8c dc,h,v,p: 67% 13% 17%  3%
    [libx264 @ 0x191ce5a0] Weighted P-Frames: Y:1.9% UV:0.4%
    [libx264 @ 0x191ce5a0] ref P L0: 62.2% 12.8% 10.3% 14.5%  0.2%
    [libx264 @ 0x191ce5a0] ref B L0: 88.1%  5.5%  6.4%
    [libx264 @ 0x191ce5a0] ref B L1: 95.7%  4.3%
    [libx264 @ 0x191ce5a0] kb/s:1209.03

    I know there is couple errors tough, but i dont know hot to fix it. Also i would be very thankfull if someone can help reduce video size but is not main problem video weights as original avi but sill.

  • Media conversion on AWS

    27 juin 2022, par Gurmeet Singh

    I have an API written in nodeJS (/api/uploadS3) which is a PUT request and accepts a video file and a URL (AWS s3 URL in this case). Once called its task is to upload the file on the s3 URL.

    


    Now, users are uploading files to this node API in different formats (thanks to the different browsers recording videos in different formats) and I want to convert all these videos to mp4 and then store them in s3.

    


    I wanted to know what is the best approach to do this ?

    


    I have 2 solutions till now

    


    1. Convert on node server using ffmpeg -

    


    The issue with this is that ffmpeg can only execute a single operation at a time. And since I have only one server I will have to implement a queue for multiple requests which can lead to longer waiting times for users who are at the end of the queue. Apart from that, I am worried that during any ongoing video conversion if my node's traffic handling capability will be affected.

    


    Can someone help me understand what will be the effect of other requests coming to my server while video conversion is going on ? How will it impact the RAM, CPU usage and speed of processing other requests ?

    


    2. Using AWS lambda function -

    


    To avoid load on my node server I was thinking of using an AWS lambda server where my node API will upload the file to S3 in the format provided by the user. Once, done s3 will trigger a lambda function which can then take that s3 file and convert it into .mp4 using ffmpeg or AWS MediaConvert and once done it uploads the mp4 file to a new s3 path. Now I don't want the output path to be any s3 path but the path that was received by the node API in the first place.

    


    Moreover, I want the user to wait while all this happens as I have to enable other UI features based on the success or error of this upload.

    


    The query here is that, is it possible to do this using just a single API like /api/uploadS3 which —> uploads to s3 —> triggers lambda —> converts file —> uploads the mp4 version —> returns success or error.

    


    Currently, if I upload to s3 the request ends then and there. So is there a way to defer the API response until and unless all the operations have been completed ?

    


    Also, how will the lambda function access the path of the output s3 bucket which was passed to the node API ?

    


    Any other better approach will be welcomed.

    


    PS - the s3 path received by the node API is different for each user.

    


  • Recording Video in splits using Web Media Recorder and ffmpeg

    5 août 2022, par NerosAngel

    I'm currently working on a project where I want to record and process video splits parallel ( in order to minimize time taken ) .

    


    I've been using MediaRecorder to capture the video and audio and send it to the server on where it is processed using ffmpeg. And it is finally concatenated using concat demuxer .

    


    Unfortunately because of how Web MediaRecorder works(see more https://stackoverflow.com/a/51355276) it creates some audio gaps in video.

    


    Audio gaps in video

    


    I've been trying to encode the video to remove this gap and processing the audio out separately in splits . Tried using raw PCM audio but eventually pinned down the issue is from the MediaRecorder's side.

    


    I think there might be some way to re encode the video to get rid of this gaps , Could someone tell me if this is possible or should I abandon this approach for it ?