
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (57)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 is the first MediaSPIP stable release.
Its official release date is June 21, 2013 and is announced here.
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
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 (7212)
-
lavc/fic : Be less verbose for invisible cursor outside of video.
1er mai 2016, par Carl Eugen Hoyos -
gdigrab : fix gdi object leak if using mouse
19 août 2014, par rogerdpack -
FFmpeg - Lost in the hell of av_seek_frame()
14 octobre 2022, par Jean-Milost ReymondI'm writing a video player which uses FFmpeg. I need to implement a seek functionality.


So I implemented a seek function (see code below) which I tested against a video with a duration of 2,8s :



static void seek_to(AVFormatContext* fmt, int64_t pos)
{
 AVStream* stream = fmt->streams[0];
 int64_t seek_pos = pos;
 int seek_flags;

 if (fmt->duration == AV_NOPTS_VALUE)
 seek_flags = AVSEEK_FLAG_FRAME;
 else
 seek_flags = AVSEEK_FLAG_BACKWARD;

 AVRational time_base = { 1, AV_TIME_BASE };

 int64_t seek_target = seek_flags == AVSEEK_FLAG_BACKWARD ?
 av_rescale_q(seek_pos, time_base, stream->time_base) : seek_pos;

 int ret = av_seek_frame(fmt, 0, seek_target, seek_flags);

 if (ret < 0)
 {
 // log the error...
 }

 ...

 // perform some tasks like flushing the decoder(s) by calling the mp_decode_flush() function
}



I certify that the
pos
value is well passed in microseconds (it's the format expected byAV_TIME_BASE
and matching with the duration exposed in format context - I strongly checked it), and contains a valid number between 0 and the video duration time.

As a result, the seek roughly works, however it is very choppy and ugly. It's like the video contained only 3 possible position (0, 1/3 and 2/3 of the total length) and there is no way to have a smooth and precise seek position.


I suspect a conversion issue somewhere (as if the final value was in seconds instead of microseconds), but I cannot figure out what I'm doing wrong.


My assumptions are :


- 

- I have effectively a conversion issue, but I strongly tested all my values and I can certify that they are passed in the expected ranges and well converted in the correct time bases. So the issue would be on the FFmpeg side
- The FFmpeg library is not planned to work well with so small values, it needs at least a huger video to works well
- I'm doing something wrong, and perhaps my approach isn't the good one to seek in my videos








Is one of my above assumptions correct, or there is something else which may break my seek function ? Has someone already faced a such issue and how he resolved it ?