
Recherche avancée
Médias (2)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (47)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip 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 2011MediaSPIP 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, parLe 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 quentoFFmpeg 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.mittalI 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 kwombaI 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 ?