
Recherche avancée
Autres articles (14)
-
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 -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)
Sur d’autres sites (7895)
-
How can I seek to frame No. X with ffmpeg ?
27 août 2018, par GiumoI’m writing a video editor, and I need to seek to exact frame, knowing the frame number.
Other posts on stackoverflow told me that ffmpeg may give me a few broken frames after seeking, which is not a problem for playback but a big problem for video editors.
And I need to seek by frame number, not by time, which will become inaccurate when converted to frame number.
I’ve read dranger’s tuts (which is outdated now), and end up with :
av_seek_frame(fmt_ctx, video_stream_id, frame, AVSEEK_FLAG_ANY);
It always seek to frame
No. 0
, and alwaysreturn 0
which means success.
Then I tried to read Blender’s source code and found it really complex(maybe I should implement an image buffer ?).So, is there any simple way to seek to a frame with just a simple call like
seek(context, frame_number)
(while getting a full frame, not a broken one) ? Or, is there any lightweight library that simplifies this ?EDIT :
Thanks to praks411,I found the solution :void AV_seek(AV * av, size_t frame)
{
int frame_delta = frame - av->frame_id;
if (frame_delta < 0 || frame_delta > 5)
av_seek_frame(av->fmt_ctx, av->video_stream_id,
frame, AVSEEK_FLAG_BACKWARD);
while (av->frame_id != frame)
AV_read_frame(av);
}
void AV_read_frame(AV * av)
{
AVPacket packet;
int frame_done;
while (av_read_frame(av->fmt_ctx, &packet) >= 0) {
if (packet.stream_index == av->video_stream_id) {
avcodec_decode_video2(av->codec_ctx, av->frame, &frame_done, &packet);
if (frame_done) {
...
av->frame_id = packet.dts;
av_free_packet(&packet);
return;
}
}
av_free_packet(&packet);
}
}EDIT2 :
Turns out there is a library for this : FFMS2.
It is "an FFmpeg based source library [...] for easy frame accurate access", and is portable (at least across Windows and Linux). -
avutil/frame : fix indention after last commit
16 novembre 2016, par Michael Niedermayer -
How to create .mp4 file with custom frame rate
24 février 2014, par theGeeksterI have 10 files in a folder /nums/0-10.jpg. Want to create a three .mp4 files with different output FPS.
- nums1.mp4 = should play 1 frame in every second
- nums2.mp4 = should play 2 frame in a second
- nums5.mp4 = should play 5 frame in a second
This code generates an mp4 with default settings
>ffmpeg -i /nums/%00d.jpg nums.mp4