
Recherche avancée
Autres articles (47)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (8010)
-
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.