
Recherche avancée
Autres articles (37)
-
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 -
MediaSPIP Player : problèmes potentiels
22 février 2011, parLe lecteur ne fonctionne pas sur Internet Explorer
Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...) -
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)
Sur d’autres sites (6307)
-
Cut a video in between key frames without re-encoding the full video using ffpeg ?
1er septembre 2020, par bguizI would like to cut a video at the beginning at any particular timestamp, and it need to be precise, so the nearest key frame is not good enough.


Also, these videos are rather long - an hour or longer - so I would like to avoid re-encoding this altogether if possible, or otherwise only re-encode a minimal fraction of the total duration. Thus, would like to maximise the use of
-vcodec copy
.

How can I accomplish this using
ffmpeg
?

NOTE : See scenario, and my own rough idea for a possible solution below.



Scenario :


- 

- Original video

- 

- Length of 1:00:00
- Has a key frame every 10s






- Desired cut :

- 

- From 0:01:35 through till the end




- Attempt #1 :

- 

- Using
-ss 0:01:35 -i blah.mp4 -vcodec copy
, what results is a file where : - audio starts at 0:01:30
- video also starts at 0:01:30
- this starts both the audio and the video too early










- Using
- using
-i blah.mp4 -ss 0:01:35 -vcodec copy
, what results is a file where :
- 

- audio starts at 0:01:35,
- but the video is blank/ black for the first 5 seconds,

- 

- until 0:01:40, when the video starts




- this starts the audio on time,
but the video starts too late



















Rough idea


- 

- (1) cut 0:01:30 to 0:01:40

- 

- re-encode this to have new key frames,
including one at the target time of 0:01:35
- then cut this to get the 5 seconds from 0:01:35 through 0:01:40






- (2) cut 0:01:40 through till the end

- 

- without re-encoding, using
-vcodec copy




- without re-encoding, using
- (3)
ffmpeg concat
the first short clip (the 5 second one)
with the second long clip








I know/ can work out the commands for (2) and (3), but am unsure about what commands are needed for (1).


- Original video

-
How to open a remote radio stream with ffmpeg's `avformat_open_input` without segfault ?
19 août 2020, par Keyboard embossed forheadI'm at the beginning stage of writing a small app to stream internet radio stations. For the moment I'm just trying to get the detected info of the input stream. Whilst I am successful in getting all the stream's details via the the command line tool (
ffmpeg -i ${URL}
), calling the library'savformat_open_input(...)
method call results in a SEGFAULT (a stack overflow to be precise when checked in valgrind).

Passing a local file url works fine though in both the command line utility and the library call.


Here's a minimal example :


int test() {
 const char * station_url = "http://stream.srg-ssr.ch/m/rsc_de/aacp_96";
 const char * test_file = "test.mp3"; //works
 AVFormatContext * av_ctx = avformat_alloc_context();
 int ret = 0;

 avformat_network_init();

 if( ( ret = avformat_open_input( &av_ctx, station_url, NULL, NULL ) ) < 0 ) { //SEGFAULT 
 printf( "Could not open file '%s': %i", station_url, ret );
 return -1;
 }

 printf( "Format %s, duration %ld us", av_ctx->iformat->long_name, av_ctx->duration );

 avformat_network_deinit();
 return 0;
}



If anyone with experience in dealing with acquiring remote streams using ffmpeg libraries in C has some insights I'd be grateful. Thanks in advance.


I'm using ffmpeg v4.3.1 on Linux.


-
ppc : reduce overreads when loading 8 pixels in altivec dsp functions
13 février 2014, par Janne Grunauppc : reduce overreads when loading 8 pixels in altivec dsp functions
Altivec can only load naturally aligned vectors. To handle possibly
unaligned data a second vector is loaded from an offset of the original
location and the data is recovered through a vector permutation.
Overreads are minimal if the offset for second load points to the last
element of data. This is 7 for loading eight 8-bit pixels and overreads
are reduced from 16 bytes to 8 bytes if the pixels are 64-bit aligned.
For unaligned pixels the overread is reduced from 23 bytes to 15 bytes
in the worst case.