
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (104)
-
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 ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (6937)
-
How do you get exactly equal segments when splitting an audio file using ffmpeg ? [duplicate]
13 septembre 2022, par dev404I'm trying to split a WAV audio file into several 3 second segments.


I tried the following, but I get files with irregular sizes that are slightly above or under 3 seconds :


ffmpeg -i input.wav -c:a libvorbis -segment_time 3 -f segment output%d.ogg



My files look like this :


Duration: 00:00:03.01, start: 0.000000, bitrate: 125 kb/s
Duration: 00:00:03.01, start: 3.008435, bitrate: 132 kb/s
Duration: 00:00:02.99, start: 6.021224, bitrate: 129 kb/s
Duration: 00:00:02.99, start: 9.010794, bitrate: 130 kb/s
Duration: 00:00:03.01, start: 12.000363, bitrate: 128 kb/s
Duration: 00:00:03.00, start: 15.005896, bitrate: 134 kb/s
Duration: 00:00:03.02, start: 18.005624, bitrate: 135 kb/s
Duration: 00:00:02.98, start: 21.031474, bitrate: 131 kb/s



Unfortunately the difference is significant enough that when I later try to chain them together, the gaps between some of them are clearly perceivable.


I found these other two questions that mention similar problems, but they're converting video files not audio.


ffmpeg not splitting into EXACT same length chunks


How to get equal segment times using ffmpeg ?


Is there something that could be used for audio files instead ?


-
OpenCV FFMPEG RTSP Camera Feed Errors
4 avril, par trn2020I'm getting these errors at random times when saving frames from an rtsp camera feed. The errors happen at different times, usually after 100-200 images have been saved, and the errors themselves are not always exactly the same. They cause the images that are saved at the time of the error to be distorted either to the point of being completely grey or contain distorted pixels.


#Frame_142 - [hevc @ 0c3bf800] The cu_qp_delta 29 is outside the valid range [-26, 25].


#Frame_406 - [hevc @ 0b6bdb80] Could not find ref with POC 41


I've tried implementing the code in both python and c++ with the same result. Also tried saving as .png instead of .jpg. The rtsp feed works fine when using imshow to display the camera, the problem only appears to happen when trying to save the frames. From what I can gather the errors have to do with ffmpeg but google isn't much help for these types of errors.


#include <iostream>
#include 
#include <chrono>
#include <thread>

using namespace std;
using namespace cv;

int main() {

 VideoCapture cap("rtsp://admin:admin@192.168.88.97/media/video1");
 if (!cap.isOpened())
 return -1;

 for (int i = 0; i < 500; i++)
 {
 Mat frame;
 cap >> frame;
 imwrite("C:\\Users\\Documents\\Dev\\c++\\OpenCVExample\\frames\\frame" + std::to_string(i) + ".png", frame);
 cout << i << "\n";
 std::this_thread::sleep_for(std::chrono::milliseconds(10));

 }

 return 0;
}
</thread></chrono></iostream>


-
FFmpeg missed packets (from time to time) while copying RTP stream to file
1er septembre 2017, par GnitryI have and RTP video broadcast stream (using NOVUS – H.264 / MPEG-4 HD/SD Broadcast Encoder). And I have a Windows Server 2012 (Intel Xeon E5-2690, 128Gb RAM) with service which is recording this stream to file (using lastest FFmpeg, calling it as external process). Every 2-5 minutes recording stops and starts again to a new file.
From time to time there are significant (and not) lags in video. At most these lags are at the beginning file, sometimes in the center/end. Regarding log there are missed packets.
It could be network problems, but :
I ran manually from console in parallel another instance of ffmpeg and started to record the same broadcast stream with segmentation by time. And in this case recording is very good (missed packets 1..5 very very rarely), no lags. At moments, when the first ffmpeg records the second ffmpeg has no problems.
What could be the reason of this behavior ? Two ffmpeg instances run in parallel and read the same udp input, but the first misses packets when the second feels good. No memory problems, no hdd problems, no CPU overload. I also tried to set highest priority of the first ffmpeg process, but it didn’t help. The only difference between them I see is that first ffmpeg is run from service, and the second is run from from local administrator. To be honest, I used vlc as recorder before, but it had the same problems too... And I can surely say that video stream is ok, because it is played in VLC player 24h/day on another PC without lags...
That is how I run ffmpeg from windows service (C#) :
_process = new Process();
var startInfo = new ProcessStartInfo(@"ffmpeg\ffmpeg.exe");
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.Arguments = "-loglevel debug -y -ss 1 -i \"" + _url + "\" -vcodec copy -y -an \"" + _outputFileName + "\"";
startInfo.CreateNoWindow = true;Command to record video automatically from windows service :
ffmpeg.exe -loglevel debug -y -ss 1 -i "rtp://225.1.1.1:1024" -vcodec copy -y -an "Session-021221.ts"
Command to record video manually.
D:\ffmpeg\ffmpeg -i "rtp://225.1.1.1:1024" -vcodec copy -an -f segment -strftime 1 -segment_time 300 "novus-%Y-%m-%d_%H-%M-%S.ts"
This is part of the log of one of the broken recordings (some other full logs are attached) :
...
2017.09.01 18R:22:56.171 frame= 172 fps= 45 q=-1.0 size= 2816kB time=00:00:03.45 bitrate=6674.9kbits/s speed=0.909x
2017.09.01 18R:22:56.174 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:22:56.686 Last message repeated 26 times
2017.09.01 18R:22:56.687 frame= 199 fps= 46 q=-1.0 size= 3072kB time=00:00:03.99 bitrate=6297.7kbits/s speed=0.926x
2017.09.01 18R:23:04.554 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:04.571 Last message repeated 26 times
2017.09.01 18R:23:04.571 frame= 226 fps= 47 q=-1.0 size= 3584kB time=00:00:04.53 bitrate=6472.7kbits/s speed=0.939x
2017.09.01 18R:23:04.571 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:04.572 Last message repeated 26 times
2017.09.01 18R:23:04.572 frame= 253 fps= 47 q=-1.0 size= 4096kB time=00:00:05.07 bitrate=6610.4kbits/s speed=0.948x
2017.09.01 18R:23:04.572 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:04.572 frame= 254 fps= 21 q=-1.0 size= 4096kB time=00:00:05.09 bitrate=6584.5kbits/s speed=0.418x
2017.09.01 18R:23:04.572 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:04.655 Last message repeated 5 times
2017.09.01 18R:23:04.684 [rtp @ 0000000000a3a9a0] max delay reached. need to consume packet
2017.09.01 18R:23:04.684 [rtp @ 0000000000a3a9a0] RTP: missed 4147 packets
2017.09.01 18R:23:04.685 [rtp @ 0000000000a3a9a0] RTP: PT=21: bad cseq a237 expected=9204
2017.09.01 18R:23:04.685 [rtp @ 0000000000a3a9a0] max delay reached. need to consume packet
2017.09.01 18R:23:04.685 [rtp @ 0000000000a3a9a0] RTP: missed 4148 packets
2017.09.01 18R:23:04.685 [rtp @ 0000000000a3a9a0] Continuity check failed for pid 256 expected 8 got 15
2017.09.01 18R:23:04.686 [rtp @ 0000000000a3a9a0] Continuity check failed for pid 272 expected 10 got 15
2017.09.01 18R:23:04.686 [rtp @ 0000000000a3a9a0] Continuity check failed for pid 32 expected 13 got 4
2017.09.01 18R:23:04.686 [rtp @ 0000000000a3a9a0] Continuity check failed for pid 0 expected 14 got 6
2017.09.01 18R:23:04.767 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:05.255 Last message repeated 25 times
2017.09.01 18R:23:05.256 frame= 286 fps= 22 q=-1.0 size= 4608kB time=00:00:12.51 bitrate=3016.0kbits/s speed=0.971x
2017.09.01 18R:23:05.257 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:05.77 Last message repeated 26 times
2017.09.01 18R:23:05.77 frame= 313 fps= 23 q=-1.0 size= 5120kB time=00:00:13.05 bitrate=3212.5kbits/s speed=0.974x
2017.09.01 18R:23:05.773 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:06.287 Last message repeated 26 times
2017.09.01 18R:23:06.288 frame= 340 fps= 24 q=-1.0 size= 5376kB time=00:00:13.59 bitrate=3239.2kbits/s speed=0.977x
2017.09.01 18R:23:06.29 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:06.803 Last message repeated 26 times
2017.09.01 18R:23:06.804 frame= 367 fps= 25 q=-1.0 size= 5888kB time=00:00:14.13 bitrate=3412.2kbits/s speed=0.979x
2017.09.01 18R:23:06.808 [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:07.324 Last message repeated 26 times
2017.09.01 18R:23:07.324 frame= 394 fps= 26 q=-1.0 size= 6144kB time=00:00:14.67 bitrate=3429.5kbits/s speed=0.981x
...Some full logs :