
Recherche avancée
Autres articles (65)
-
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 -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
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 (...)
Sur d’autres sites (10285)
-
ffmpeg Decoding Progress during Frame Extarction
4 avril 2013, par IsantipovI scan input video to extract certain frames using
ffmpeg
's select filter. The selection is based on a complex creteria and the number of extracted frames can't be predicted (I'm doing scene detection, but this can be something different - e.g. selecting all the I frames, etc).What I need is to display the percentage of scanned (decoded) video (e.g. 10% or 90%).
I tried several ways to do this parsing console output as people usually do when dealing with encoding, but it doesn't help with the progress of scanning (e.g. Can ffmpeg show a progress bar ? or ffmpeg Progress Bar - Encoding Percentage in PHP)
ffmpeg -progress sceneProgr.txt -i input.wmv -vsync passthrough -an -vf select='gt(scene\,0.2)',showinfo scene%%05d.png
The output this produces is as follows :
<..>
frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A
n:0 pts:16550 pts_time:16.55 pos:4205325 fmt:rgb24 sar:0/1 s:640x480 i:P iskey:1 type:I checksum:95895BC9 plane_checksum:[95895BC9]
frame= 1 fps=0.7 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A
n:1 pts:24591 pts_time:24.591 pos:6685325 fmt:rgb24 sar:0/1 s:640x480 i:P iskey:0 type:P checksum:FF4CC015 plane_checksum:[FF4CC015]
'frame=...' and 'n:...' lines are repeated for each of the extracted frames.Both
frame=...
andn:...
lines refer to the numbers in the output and therefore can't be used to calculate progress the way people usually do this (as I can't predict how many frames will be found beforehead and besides, they are not uniformly spread across the input video).
If I specify
-progress progress.txt
parameter, the progress.txt file is as follows :frame=5
fps=1.2
stream_0_0_q=0.0
total_size=N/A
out_time_ms=43209833
out_time=00:00:43.209833
dup_frames=0
drop_frames=0
progress=continue
frame=6
fps=1.3
stream_0_0_q=0.0
total_size=N/A
out_time_ms=52252200
out_time=00:00:52.252200
dup_frames=0
drop_frames=0
progress=continue
frame=6
fps=1.2
stream_0_0_q=0.0
total_size=N/A
out_time_ms=52252200
out_time=00:00:52.252200
dup_frames=0
drop_frames=0
progress=continueNew portion is written approximately every second and refers to the last extracted frame.
Which is somewhat helpful asout_time
refers to the last extracted frames' position in the input video, so I can calculate the progress of the scan from it asprogress = out_time_ms/total_input_time
But this is not ideal as it will be updated only when the new frame which matches the
select
criteria is extracted. So, If I have a large portion of video with no matching frames, the progress won't change for a lot of time.
Wrapping-up :
I am looking for a way to calculate the progress of video scanning when using select filter.
Any ideas are strongly appreciated.
-
Problem with ffmpeg function avformat_seek_file()
19 avril 2013, par KaelI am trying to seek the given frame in the video using ffmpeg library. I knew that there is
av_seek_frame()
function but it was recommended to useavformat_seek_file()
instead. Something similar mentioned here. I know thatavformat_seek_file()
can't always take you to exact frame you want, but this is ok for me. I just want to jump to the nearest keyframe. So i open the video, find videostream and calling it like this :
avformat_seek_file( formatContext, streamId, 0, frameNumber, frameNumber, AVSEEK_FLAG_FRAME )
. It always returns 0, so i understand it as correct finish. However, it doesn't work as it should to. I check byte position like here before and after callingavformat_seek_file()
. Actually it changes, but it changes always in the same way whenever i'm trying to put different target frame numbers ! I mean that byteposition after this call is always same even with differentframeNumber
values. Obviously, i'm doing something wrong but i don't know what exactly. I don't know if it does matter but i'm using .h264 files for that. I tried different flags, different files, using timestamps instead of frames, flushing buffers before and after and so on but it doesn't work for me. I will be very grateful if someone could show me what is wrong with it. -
Merge commit ’b141c7b37eb52aca41ac83738f159b63b9c09d5c’
8 février 2014, par Michael Niedermayer