Recherche avancée

Médias (91)

Autres articles (80)

  • List of compatible distributions

    26 avril 2011, par

    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 (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Soumettre bugs et patchs

    10 avril 2011

    Un logiciel n’est malheureusement jamais parfait...
    Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
    Si vous pensez avoir résolu vous même le bug (...)

Sur d’autres sites (10319)

  • Why won't this encrypted HLS video play on iOS (but works on Windows Chrome via hls.js library) ?

    8 mai 2023, par Ryan

    I am trying to play an MP4 test video.

    


    My /home/vagrant/Code/example/public/hls_hls.keyInfo is :

    


    https://example.com/hls.key
/home/vagrant/Code/example/public/hls_hls.key
467216aae8a26fb699080812628031955e304a66e9e4480f9b70d31d8fe94e9a


    


    My /home/vagrant/Code/example/public/hls_hls.key was generated using PHP : hex2bin('467216aae8a26fb699080812628031955e304a66e9e4480f9b70d31d8fe94e9a')

    


    The ffmpeg command for encrypting the video as HLS playlist with "ts" files :

    


    '/usr/bin/ffmpeg' '-y' '-i' 'storage/app/sample_media2/2020-02-27/Sample_Videos_5.mp4' 
'-c:v' 'libx264' '-s:v' '1920x1080' '-crf' '20' '-sc_threshold' '0' '-g' '48' 
'-keyint_min' '48' '-hls_list_size' '0' 
'-hls_time' '10' '-hls_allow_cache' '0' '-b:v' '4889k' '-maxrate' '5866k' 
'-hls_segment_type' 'mpegts' '-hls_fmp4_init_filename' 'output_init.mp4' 
'-hls_segment_filename' 'storage/app/public/test/output_1080p_%04d.ts' 
'-hls_key_info_file' '/home/vagrant/Code/example/public/hls_hls.keyInfo' 
'-strict' '-2' '-threads' '12' 'storage/app/public/test/output_1080p.m3u8'


    


    Then, I know from https://caniuse.com/#search=hls that Windows Chrome won't be able to play the HLS video without a library, so I use https://github.com/video-dev/hls.js/, and Windows Chrome successfully plays the encrypted video !

    


    However, iOS Safari is unable to play it (with or without the hls.js library).

    


    On iOS Safari, when I try to play the video, I see just a quick glimpse (less than a second) where the screen shows 0:15, so it must be reading and decrypting enough to know the correct duration of the video.

    


    So, to debug, I log events :

    


    const nativeHlsEvents = ['play', 'playing', 'abort', 'error', 'canplaythrough', 'waiting', 'loadeddata', 'loadstart', 'progress', 'timeupdate', 'volumechange'];
$.each(nativeHlsEvents, function (i, eventType) {
    video.addEventListener(eventType, (event) => {//https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement
        console.log(eventType, event);
        if (eventType === 'error') {
            console.error(video.error);//https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error
        }
    });
});


    


    I see in the console log :

    


    loadstart, {"isTrusted":true}
progress, {"isTrusted":true}
play, {"isTrusted":true}
waiting, {"isTrusted":true}
error, {"isTrusted":true}
video.error, {}


    


    I don't know how to find more details about the error.

    


    Note that even though Windows Chrome successfully plays the video, it too shows warnings in the console log :

    


    {"type":"mediaError","details":"fragParsingError","fatal":false,"reason":"TS packet did not start with 0x47","frag":{"...
{"type":"mediaError","details":"fragParsingError","fatal":false,"reason":"no audio/video samples found","frag":{...


    


    Where is my problem ?

    


  • Create animated gif from a set of png images

    12 avril 2020, par Zizi96

    I'm trying to use ffpmeg to convert a list of png to a gif.

    



    Running C:\Users\Me\Art\Animations\wubz\output> dir shows my files :

    



    12/04/2020  16:48    <dir>          ..&#xA;12/04/2020  16:45           136,706 wubz_0001.png&#xA;12/04/2020  16:45           136,180 wubz_0002.png&#xA;12/04/2020  16:45           136,413 wubz_0003.png&#xA;12/04/2020  16:45           136,099 wubz_0004.png&#xA;12/04/2020  16:45           136,309 wubz_0005.png&#xA;12/04/2020  16:45           137,172 wubz_0006.png&#xA;</dir>

    &#xA;&#xA;

    The code I'm running in command prompt from C:\Users\Me\Art\Animations\wubz\output> :

    &#xA;&#xA;

    ffmpeg-f image2 -framerate 30 -i wubz_%d.png video.flv&#xA;

    &#xA;&#xA;

    gives the error message :&#xA;[image2 @ 000001efd6c4bac0] Could find no file with path &#x27;wubz_%d.png&#x27; and index in the range 0-4&#xA;wubz_%d.png: No such file or directory

    &#xA;&#xA;

    Can someone explain what I'm doing wrong, I don't get why ffmpeg isn't seeing the png files in the output directory.

    &#xA;

  • FFMPEG Merge Multiple Videos : No Audio Source for one of them

    28 mars 2020, par Coach Roebuck

    I’ve written a node.js script to merge multiple video files into a single file. I’ve encountered a scenario in which no audio is provided for one of the input video files.

    I first executed ffprobe so that I can access what I’ll refer to as the "video file spec". In this scenario, I created a basic module to help me better understand my problem :

    Evaluation from all processes: [
     {
       fileName: 'input-0.mp4',
       isVideoAvailable: true,
       isAudioAvailable: false,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '13.140000'
     },
     {
       fileName: 'input-1.mp4',
       isVideoAvailable: true,
       isAudioAvailable: true,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '17.160000'
     },
     {
       fileName: 'input-2.mp4',
       isVideoAvailable: true,
       isAudioAvailable: true,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '20.280000'
     },
     {
       fileName: 'input-3.mp4',
       isVideoAvailable: true,
       isAudioAvailable: true,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '19.020000'
     },
     {
       fileName: 'input-4.mp4',
       isVideoAvailable: true,
       isAudioAvailable: true,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '9.480000'
     }
    ]

    This next block of code are the parameters that I’ve actually hard-coded in this case. The screen resolution and aspect ratio are manually set, as I discovered differing settings with each video I have been processing. These parameters allow FFMPEG to execute successfully under normal circumstances :

    let ffmpegParameters = [
     '-i',
     'input-0.mp4',
     '-i',
     'input-1.mp4',
     '-i',
     'input-2.mp4',
     '-i',
     'input-3.mp4',
     '-i',
     'input-4.mp4',
     '-f',
     'lavfi',
     '-t',
     '0.1',
     '-i',
     'anullsrc',
     '-filter_complex',
     '[0:v]scale=1920:1080,setsar=1/1[v0];[0:a]volume=1.0[a0];[1:v]scale=1920:1080,setsar=1/1[v1];[1:a]volume=1.0[a1];[2:v]scale=1920:1080,setsar=1/1[v2];[2:a]volume=1.0[a2];[3:v]scale=1920:1080,setsar=1/1[v3];[3:a]volume=1.0[a3];[4:v]scale=1920:1080,setsar=1/1[v4];[4:a]volume=1.0[a4];[v0][a0][v1][a1][v2][a2][v3][a3][v4][a4]concat=n=5:v=1:a=1[v][a]',
     '-map',
     '[v]',
     '-map',
     '[a]',
     '-c:v',
     'libx264',
     '-vsync',
     '2',
     'output.mp4'
    ]

    A comment from a different thread suggested to supply a dummy audio in cases such as mine. I’ve added that to no prevail :

     '-f',
     'lavfi',
     '-t',
     '0.1',
     '-i',
     'anullsrc',

    I do not know how to adjust the complex filter to account for my situation of the first video containing no audio. I’ve included the entire log below :

    Logs:
    ffmpeg version git-2020-02-03-1c15111
    Copyright (c) 2000-2020 the FFmpeg developers
     built with Apple clang version 11.0.0 (clang-1100.0.33.8)
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --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-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox
     libavutil      56. 38.100 / 56. 38.100
     libavcodec     58. 67.100 / 58. 67.100
     libavformat    58. 37.100 / 58. 37.100
     libavdevice    58.  9.103 / 58.  9.103
     libavfilter     7. 73.100 /  7. 73.100
     libswscale      5.  6.100 /  5.  6.100
     libswresample   3.  6.100 /  3.  6.100
     libpostproc    55.  6.100 / 55.  6.100

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input-0.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100

     Duration: 00:00:14.80, start: 1.620000, bitrate: 1499 kb/s
       Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1498 kb/s, 25 fps, 25 tbr, 1200k tbn, 2400k tbc (default)
       Metadata:
         handler_name    : VideoHandler

    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'input-1.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100
     Duration: 00:00:18.48, start: 0.000000, bitrate: 977 kb/s
       Stream #1:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1440x876 [SAR 1:1 DAR 120:73], 903 kb/s, 15.21 fps, 16.67 tbr, 16k tbn, 32k tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
    Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'input-2.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100
     Duration: 00:00:22.68, start: 0.000000, bitrate: 1795 kb/s
       Stream #2:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1718 kb/s, 29.54 fps, 50 tbr, 16k tbn, 32k tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #2:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Input #3, mov,mp4,m4a,3gp,3g2,mj2, from 'input-3.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100
     Duration: 00:00:54.60, start:
    0.000000, bitrate: 404 kb/s
       Stream #3:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1440x876 [SAR 1:1 DAR 120:73], 330 kb/s, 15.24 fps, 16.67 tbr, 16k tbn, 32k tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #3:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Input #4, mov,mp4,m4a,3gp,3g2,mj2, from 'input-4.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100
     Duration: 00:00:09.36
    , start: 0.000000, bitrate: 1794 kb/s
       Stream #4:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1717 kb/s, 29.38 fps, 50 tbr, 16k tbn, 32k tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #4:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Stream specifier ':a' in filtergraph description [0:v]scale=1920:1080,setsar=1/1[v0];[0:a]volume=1.0[a0];[1:v]scale=1920:1080,setsar=1/1[v1];[1:a]volume=1.0[a1];[2:v]scale=1920:1080,setsar=1/1[v2];[2:a]volume=1.0[a2];[3:v]scale=1920:1080,setsar=1/1[v3];[3:a]volume=1.0[a3];[4:v]scale=1920:1080,setsar=1/1[v4];[4:a]volume=1.0[a4];[v0][a0][v1][a1][v2][a2][v3][a3][v4][a4]concat=n=5:v=1:a=1[v][a] matches no streams.

    When I removed the stream specifier [a0], I received a different error :

    FFmpeg Video Merge - STDERR: [Parsed_setsar_3 @ 0x7f87c7709100] Media type mismatch between the 'Parsed_setsar_3' filter output pad 0 (video) and the 'Parsed_concat_14' filter input pad 1 (audio)
    [AVFilterGraph @ 0x7f87c7430c00] Cannot create the link setsar:0 -> concat:1

    My question is how will the filter-complex value of my parameter list that I have defined be adjusted to deal with that first video, which has no audio ?