Recherche avancée

Médias (1)

Mot : - Tags -/censure

Autres articles (71)

  • 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

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (13234)

  • Can't share few FFMPEG encoded videos on WhatsApp

    2 juin 2019, par t6nand

    I am using FFMPEG to stitch a video to another video. However, I have observed that few of these videos are not being shared on WhatsApp with the message "Can’t send this video. Choose a different video and try again".

    I am using the following command for stitching :

    ffmpeg -y -i <input1> -i
    <input2> -filter_complex "color=black:input1Width x input1Height:d=(input1time + input2time -1)[base]
    ;[0:v]setpts=PTS-STARTPTS[v0];[1:v] scale = iw * min(input1Width / iw\\, input1Height / ih):ih * min(input1Width/iw\\,input1Height/ih),
    pad=input1Width:input1Height:(input1Width-iw*min(input1Width/iw\\,input1Height/ih))/2:(input1Height -
    ih*min(input1Width/iw\\,input1Height/ih))/2,setsar=1:1,format=yuva420p,fade=in:st=0:d=1.0:alpha=1,
    setpts=PTS-STARTPTS+((input1Time - 1)/TB)[v1];[base][v0]overlay[tmp]; [tmp][v1]overlay,format=yuv420p[fv];
    [0:a][1:a]acrossfade=d=1[fa]" -map [fv] -map [fa] -crf 23 -c:v libx264 -b:v 300K
    -preset slow outputvideo.mp4
    </input2></input1>

    Here : input1Width - Input 1 Video’s width, input1Height - Input 2 Video’s height.

    Interestingly running this command directly on terminal produces a file which plays correctly on media players and I am able to share it across platforms including WhatsApp.

    However, the same command when triggered from a java code produces a similar file in terms of size, bit rate (near about same as produced when directly executed). I am running the same command from java using ProcessBuilder like :

    ProcessBulider stitchVideoCommandArray = new ProcessBuilder(
                           "ffmpeg", "-y",
                           "-i", <input1>,
                           "-i", <input2>,
                           "-filter_complex", "color=black:" + String.valueOf(width) + "x" + String.valueOf(height) + ":d=" +
                           String.valueOf(originalVideoTime + ASSET_VIDEOSTREAM_DURATION - CROSS_FADE_TIME_DURATION) + "[base];" +
                           "[0:v]setpts=PTS-STARTPTS[v0];[1:v]scale=iw*" + String.valueOf(minMultiplicable) + ":ih*" + String.valueOf(minMultiplicable) +
                           ",pad=" + String.valueOf(width) + ":" + String.valueOf(height) + ":(" + String.valueOf(width) + "-iw*" + String.valueOf(minMultiplicable) + "/2" +
                           "):(" + String.valueOf(height) + "-ih*" + String.valueOf(minMultiplicable) + "/2)" + ",fade=in" +
                           ":st=0:d=" + String.valueOf(CROSS_FADE_TIME_DURATION) + ":alpha=1,setpts=PTS-STARTPTS+((" + String.valueOf(originalVideoTime - CROSS_FADE_TIME_DURATION) +
                           ")/TB)[v1];[base][v0]overlay[tmp];[tmp][v1]overlay,format=yuv420p[fv];[0:a][1:a]acrossfade=d=1[fa]",
                           "-map", "[fv]",
                           "-map", "[fa]",
                           "-c:v", MP4Transcode.MP4VideoStreamEncoder.H264.videoEncoders,
                           "-b:v", "300K",
                           "-c:a", MP4Transcode.MP4AudioStreamEncoders.AAC.audioEncoders,
                           "-b:a", "128K",
                           "-crf", String.valueOf(constantRateFactor),
                           "-preset", presetRequired,
                       outputVideoPath
               );
    </input2></input1>

    I then use this object to execute the command using

    command.start()

    and waiting for exitvalue using

    command.waitFor()

    This also produces a file which I am able to play correctly on media players but was not successful in sharing the video on WhatsApp.

    Also, the file produced by executing FFmpeg commands as mentioned above from java produces media files with their loudness slightly increased.

    I am not able to figue out if it’s video specific issue or something else. It only happens to few random videos.

    Here are the links to videos with the problem :
    input 1 - input1Link
    input 2 - inpt2Link

    EDIT 1 :
    To add, adding -loglevel debug in java command takes forever and I haven’t seen it yet responding for even 5-6 minutes. However, using it directly from terminal returns quickly after processing.

  • Displaying the current frame of a video after skipping using drawtext/start_number not evaluation any variables

    30 mars 2017, par DJ Quardaboff

    I would like to display the current frame number on a video while playing it with ffplay. I have already seen this solution, but when I seek to any part of the video, the counter resets. There’s a variable, start_number, which the ffplay documentation says is The starting frame number for the n/frame_num variable. The default value is "0". It seems that n is set to that when starting the video or seeking between I-frames. I thought setting this variable to %{floor(t*60)} would solve my problem, but after running this :

    ffplay -i "video.mp4" -vf drawtext="fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}"

    I got the following console output :

    ffplay version N-84679-gd65b595 Copyright (c) 2003-2017 the FFmpeg developers
     built with gcc 6.3.0 (GCC)
     configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
     libavutil      55. 51.100 / 55. 51.100
     libavcodec     57. 86.103 / 57. 86.103
     libavformat    57. 67.100 / 57. 67.100
     libavdevice    57.  3.101 / 57.  3.101
     libavfilter     6. 78.100 /  6. 78.100
     libswscale      4.  3.101 /  4.  3.101
     libswresample   2.  4.100 /  2.  4.100
     libpostproc    54.  2.100 / 54.  2.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':=    0B f=0/0
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       creation_time   : 2017-03-30T02:49:20.000000Z
       encoder         : Open Broadcaster Software v0.659b
     Duration: 00:05:36.85, start: 0.000000, bitrate: 72636 kb/s
       Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 162 kb/s (default)
       Metadata:
     creation_time   : 2017-03-30T02:49:20.000000Z
     handler_name    : Sound Media Handler
    Stream #0:1(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/iec61966-2-1), 2560x1440, 72465 kb/s, 60 fps, 60 tbr, 1k tbn, 120 tbc (default)
    Metadata:
     creation_time   : 2017-03-30T02:49:20.000000Z
     handler_name    : Video Media Handler
     encoder         : AVC Coding
    [drawtext @ 00000000122770e0] [Eval @ 0000000008f3eb60] Undefined constant or missing '(' in 't*60)'
    [drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"
    [drawtext @ 00000000122770e0] [Eval @ 0000000008f3ebd0] Undefined constant or missing '(' in 't*60)'
    [drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"
    [drawtext @ 00000000122770e0] Error setting option start_number to value floor(t*60).
    [Parsed_drawtext_0 @ 000000000263eca0] Error applying options to the filter.
    Error initializing filter 'drawtext' with args 'fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}'
      0.01 A-V:    nan fd=   0 aq=   22KB vq= 5866KB sq=    0B f=0/0

    In fact, any variable in start_number’s assignment invokes this error. I don’t know if I have the correct syntax, but does this mean it doesn’t evaluate expressions ? Or maybe it doesn’t accept variables for some reason ?

    After that downer I tried just setting the text to %{t}, which played the video, but repeatedly gave this error and had no text in the top left corner :

    [Parsed_drawtext_0 @ 0000000003e54ea0] %{t} is not known 0B f=0/0

    So does the current time variable just not work in drawtext ?
    Is there another way to write the current frame on the video or even on the console window ?

    Using Windows 10 Enterprise and the latest build of ffplay for windows at this time.

  • Displaying the current frame of a video after skipping using drawtext/start_number not evaluation any variables

    25 mars 2023, par DJ Quardaboff

    I would like to display the current frame number on a video while playing it with ffplay. I have already seen this solution, but when I seek to any part of the video, the counter resets. There's a variable, start_number, which the ffplay documentation says is The starting frame number for the n/frame_num variable. The default value is "0". It seems that n is set to that when starting the video or seeking between I-frames. I thought setting this variable to %{floor(t*60)} would solve my problem, but after running this :

    &#xA;&#xA;

    ffplay -i "video.mp4" -vf drawtext="fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}"&#xA;

    &#xA;&#xA;

    I got the following console output :

    &#xA;&#xA;

    ffplay version N-84679-gd65b595 Copyright (c) 2003-2017 the FFmpeg developers&#xA;  built with gcc 6.3.0 (GCC)&#xA;  configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib&#xA;  libavutil      55. 51.100 / 55. 51.100&#xA;  libavcodec     57. 86.103 / 57. 86.103&#xA;  libavformat    57. 67.100 / 57. 67.100&#xA;  libavdevice    57.  3.101 / 57.  3.101&#xA;  libavfilter     6. 78.100 /  6. 78.100&#xA;  libswscale      4.  3.101 /  4.  3.101&#xA;  libswresample   2.  4.100 /  2.  4.100&#xA;  libpostproc    54.  2.100 / 54.  2.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;video.mp4&#x27;:=    0B f=0/0&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    creation_time   : 2017-03-30T02:49:20.000000Z&#xA;    encoder         : Open Broadcaster Software v0.659b&#xA;  Duration: 00:05:36.85, start: 0.000000, bitrate: 72636 kb/s&#xA;    Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 162 kb/s (default)&#xA;    Metadata:&#xA;  creation_time   : 2017-03-30T02:49:20.000000Z&#xA;  handler_name    : Sound Media Handler&#xA;Stream #0:1(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/iec61966-2-1), 2560x1440, 72465 kb/s, 60 fps, 60 tbr, 1k tbn, 120 tbc (default)&#xA;Metadata:&#xA;  creation_time   : 2017-03-30T02:49:20.000000Z&#xA;  handler_name    : Video Media Handler&#xA;  encoder         : AVC Coding&#xA;[drawtext @ 00000000122770e0] [Eval @ 0000000008f3eb60] Undefined constant or missing &#x27;(&#x27; in &#x27;t*60)&#x27;&#xA;[drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"&#xA;[drawtext @ 00000000122770e0] [Eval @ 0000000008f3ebd0] Undefined constant or missing &#x27;(&#x27; in &#x27;t*60)&#x27;&#xA;[drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"&#xA;[drawtext @ 00000000122770e0] Error setting option start_number to value floor(t*60).&#xA;[Parsed_drawtext_0 @ 000000000263eca0] Error applying options to the filter.&#xA;Error initializing filter &#x27;drawtext&#x27; with args &#x27;fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}&#x27;&#xA;   0.01 A-V:    nan fd=   0 aq=   22KB vq= 5866KB sq=    0B f=0/0&#xA;

    &#xA;&#xA;

    In fact, any variable in start_number's assignment invokes this error. I don't know if I have the correct syntax, but does this mean it doesn't evaluate expressions ? Or maybe it doesn't accept variables for some reason ?

    &#xA;&#xA;

    After that downer I tried just setting the text to %{t}, which played the video, but repeatedly gave this error and had no text in the top left corner :

    &#xA;&#xA;

    [Parsed_drawtext_0 @ 0000000003e54ea0] %{t} is not known 0B f=0/0&#xA;

    &#xA;&#xA;

    So does the current time variable just not work in drawtext ?
    &#xA;Is there another way to write the current frame on the video or even on the console window ?

    &#xA;&#xA;

    Using Windows 10 Enterprise and the latest build of ffplay for windows at this time.

    &#xA;