Recherche avancée

Médias (2)

Mot : - Tags -/map

Autres articles (47)

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

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (8838)

  • FFmpeg : negative video duration

    19 octobre 2020, par quento

    FFmpeg is used to combine images into video and then duration is taken out of this video.

    


    Surprisingly I found out that FFmpeg could return negative duration.

    


    Command to get duration. This command is the most reliable according to this spec

    


    


    You can also use ffmpeg to get the duration by fully decoding the file. The null muxer is used so no output file is created. Refer to time= in the next-to-last line of the console output. In this example the input has a duration of 00:57:28.87.

    


    


    ffmpeg -i input.webm -f null -  


    


    Output ex :

    


    frame=206723 fps=1390 q=-0.0 Lsize=N/A time=00:57:28.87 bitrate=N/A speed=23.2x


    


    Actual example

    


    Generation of mp4 of screenshots :

    


    `/usr/bin/ffmpeg' -framerate 30 -pattern_type glob -i '/app/tmp/ecc0fe7b5ca4d7b20ea54d3ba757cfbf_b4581272-c485-4be2-a210-cbc99d71bd14_0/*.jpeg' -c:v libx264 -vf 'scale=trunc(iw/2)*2:trunc(ih/2)*2' -pix_fmt yuv420p -filter:v 'setpts=1.11*PTS' '/app/tmp/ecc0fe7b5ca4d7b20ea54d3ba757cfbf_b4581272-c485-4be2-a210-cbc99d71bd14_0/ecc0fe7b5ca4d7b20ea54d3ba757cfbf.mp4`


    


    Next, extracting duration :

    


    /usr/bin/ffmpeg' -i '/app/tmp/ecc0fe7b5ca4d7b20ea54d3ba757cfbf_b4581272-c485-4be2-a210-cbc99d71bd14_0/ecc0fe7b5ca4d7b20ea54d3ba757cfbf.mp4  -f null


    


    Output :

    


    time=-577014:32:22.77


    


    Unfortunately I can't reproduce this issue on local machine so far, so there are not many details to share. However, such cases appear on other machines quite frequently. Different videos get exactly the same broken time. There are also enough other inconsistent cases.

    


    One of the suggestions is to parse extraction out of first command, which generates video. I'm not sure that I won't also face negative numbers there, though.

    


    Most probably I miss much more easier solution. The only requirement is that is must be 100% precise.

    


    Thanks in advance !

    


  • How to trim webm video while preserving transparency

    27 octobre 2020, par vishwas.mittal

    I want to trim a transparent webm video using ffmpeg. Here's the ffprobe result for that video :

    


    Input #0, matroska,webm, from 'template.webm':
  Metadata:
    ENCODER         : Lavf58.29.100
  Duration: 00:00:05.24, start: -0.002000, bitrate: 2856 kb/s
    Stream #0:0: Video: vp8, yuv420p(progressive), 1573x900, SAR 1:1 DAR 1573:900, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ALPHA_MODE      : 1
      ENCODER         : Lavc58.54.100 libvpx
      DURATION        : 00:00:05.240000000
    Stream #0:1: Audio: opus, 48000 Hz, mono, fltp
    Metadata:
      ENCODER         : Lavc58.54.100 libopus
      DURATION        : 00:00:05.241000000


    


    I tried

    


    ffmpeg -i template.webm -ss 1 -to 3 -c copy trimmed.webm


    


    but the trimmed video doesn't start (or sometimes end) at the exact times defined in the command so I tried re-encoding the video using libvpx

    


    ffmpeg -i template.webm -ss 1 -to 3 -c:v libvpx -c:a copy -crf 30 -b:v 0 trimmed.webm


    


    It solved the timing issue but this results in loss of transparency of output video. Here's the ffprobe :

    


    Input #0, matroska,webm, from 'trimmed.webm':
  Metadata:
    ENCODER         : Lavf57.83.100
  Duration: 00:00:02.00, start: -0.001000, bitrate: 1395 kb/s
    Stream #0:0: Video: vp8, yuv420p(progressive), 1573x900, SAR 1:1 DAR 1573:900, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ALPHA_MODE      : 1
      ENCODER         : Lavc57.107.100 libvpx
      DURATION        : 00:00:02.000000000
    Stream #0:1: Audio: opus, 48000 Hz, mono, fltp
    Metadata:
      ENCODER         : Lavc58.54.100 libopus
      DURATION        : 00:00:02.001000000


    


    How should I trim the video while preserving the transparency ? Moreover, a fast solution will be extremely helpful.

    


  • How can i extract freezedetect start and end frames from video using ffmpeg

    9 juillet 2021, par kwomba

    I have to following command which detects freezed frames using only part of a movie :

    


    ffmpeg -i movie.mp4 -vf "crop=50:50:0:740,freezedetect" -f null -

    


    Now this outputs the metadata from the freezedetect filter like so :

    


    [freezedetect @ 0000013fbbe2ab40] lavfi.freezedetect.freeze_start: 6.86667
[freezedetect @ 0000013fbbe2ab40] lavfi.freezedetect.freeze_duration: 2.4
[freezedetect @ 0000013fbbe2ab40] lavfi.freezedetect.freeze_end: 9.26667


    


    But it also sets the framemetadata which (dumped to a file) contains :

    


    frame:126  pts:126000  pts_time:8.4
lavfi.freezedetect.freeze_start=6.86667
frame:139  pts:139000  pts_time:9.26667
lavfi.freezedetect.freeze_duration=2.4
lavfi.freezedetect.freeze_end=9.26667


    


    Now i want to (in the same command if possible) save the start and end freezed frames (126 and 139 in this case) to a png file.

    


    Can i do this using only 1 ffmpeg command ?