
Recherche avancée
Autres articles (74)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...)
Sur d’autres sites (14518)
-
Next pts does not match previous pts plus duration when transcoding an AAC audio with ffmpeg
17 septembre 2021, par b1subIn my understanding, the following statement must hold :


next pts = previous pts + duration



But, I got this list of
PTS
es fromffprobe
that looks odd to me :

<packet pts="63000" duration="2089">
<packet pts="65070" duration="2089">
<packet pts="67140" duration="2089">
<packet pts="69300" duration="2089">
<packet pts="71370" duration="2089">
<packet pts="73440" duration="2089">
<packet pts="75510" duration="2089">
<packet pts="77670" duration="2089">
</packet></packet></packet></packet></packet></packet></packet></packet>


The corresponding
PTS
gaps are as follows. You can see none of the below gaps matches2089
:

63000 <> 65070: 2070
65070 <> 67140: 2070
67140 <> 69300: 2160
69300 <> 71370: 2070
71370 <> 73440: 2070
73440 <> 75510: 2070
75510 <> 77670: 2160



I have no deep understanding of
AAC
or transcoding, so I talked with some random guy on#ffmpeg
. As per what he said, the gap should be a fixed value :

20:01 -!- Icedream [~icedream@hzn-b.serverkomplex.de] has quit [Quit: A lol made me boom.]
20:02 < DeHackEd> I would expect them to increment at a constant rate, since AAC (which is probably what you're using) uses fixed size
 audio chunks. But that's very inconsistent
20:03 < DeHackEd> (+/- 1 pts number would be acceptable)



To tell you the truth, this is a problematic video, but not in a way you would expect. I'm getting intermittent audio clipping sound, if two or more audio packets are crammed into a single
PES
packet. What's special about this configuration is that, the player must guessPTS
es for the trailing audio packets except the first one. Since thePTS
gaps are not consistent, the player must have used wrongPTS
es for the trailing ones, and this looks to me like the cause.

But, what could be the trigger ? Here are some contexts you can kindly refer to :


- 

- the original video has no surprising
PTS
gap. This is the result from my custom-made script to extract all unique gaps :




$ ./foo.sh ./original.flv
diff 296448 occurs at 296448 // just a first packet (=has no previous packet)
diff 24 occurs at 296472
diff 23 occurs at 296495



- 

- this is the command I used for transcoding :




$FFMPEG -hide_banner -loglevel info -nostats \
 -i $input \
 -map "[out1]" -c:v libx264 -r 30 -force_key_frames "expr:gte(t, n_forced*$keyFrameInterval)" -preset veryfast -vprofile high -minrate 4.5M -maxrate 6M -bufsize 6M \
 -map 0:a -c:a aac -b:a:1 128K -af "aformat=sample_rates=44100|48000:channel_layouts=stereo" \
 -map 0:a -c:a aac -b:a:2 32K -af "aformat=sample_rates=44100|48000:channel_layouts=stereo" \
 -f mpegts -tune zerolatency pipe:1 > \
 >($FFMPEG -hide_banner -loglevel info -nostats \
 -i - \
 -map 0:v -c:v copy -map 0:1 -c:a copy -bsf:a aac_adtstoasc -tune zerolatency -f flv -max_muxing_queue_size 1024 ${output}_1080 \
 -map 0:v -s $(width 1280 720 $orientation)x$(height 1280 720 $orientation) -c:v libx264 -r 30 -force_key_frames "expr:gte(t, n_forced*$keyFrameInterval)" -preset veryfast -vprofile high -minrate 3M -maxrate 4M -bufsize 4M -map 0:1 -c:a copy -bsf:a aac_adtstoasc -f flv -tune zerolatency -max_muxing_queue_size 1024 ${output}_720 \
 ...



- the original video has no surprising
-
How to save data of packet.data using ffmpeg && c language ?
12 juin 2015, par patrickI’m try to build an app in c that extract audio from video and save it as audio file. I’m able to extract the audio but now the problem is how to save it. I wrote the code given below but it’s giving me an segmentation fault. Thanks in advance.
My code is :
AVOutputFormat* fmt = av_guess_format("mp3", NULL, NULL);;
AVFormatContext* oc = avformat_alloc_context();
oc->oformat = fmt;
avio_open2(&oc->pb, "test.mp3", AVIO_FLAG_WRITE,NULL,NULL);
AVStream* stream=NULL;
int cnt = 0;
while(av_read_frame(pFormatCtx, &packet)>=0) { //pFormatCtx is input file format context.
if (packet.stream_index==audioStream) {
int got_frame = 0;
if (avcodec_decode_audio4(pCodecCtx, pFrame, &got_frame, &packet) < 0) {
fprintf(stderr, "Error encoding frame\n");
exit(1);
}
if(got_frame) {
if (av_interleaved_write_frame(oc, &packet) < 0) {
printf(stderr, "Error writing frame\n");
exit(1);
}
}
}
av_free_packet(&packet);
av_init_packet(&packet);
} -
avpacket : add a function for wrapping existing data as side data
4 octobre 2015, par Anton Khirnov