Bonjour à tous,
J'ai un souci avec ffmpeg.
Je désire créer une vidéo avec des images sauvegardées par mon application soit le code :
Code Sauvegarde Bmp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Image img = Image.FromFile(Filename); Bitmap _SaveBmp = new Bitmap(img, img.Size); _SaveBmp.Save(file,System.Drawing.Imaging.ImageFormat.Jpeg);
Code Creation de la video : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 /// <summary> /// Convert from a pictures sequence to a video /// </summary> /// <param name="PathVideo"></param> /// <param name="PathImg"></param> /// <returns></returns> private bool _ConvertFromJpgToAVI(string PathVideo, string PathImg) { bool bresult = false; /* * -r 24 ! 24 picture\s * -b 1800 birate3 */ string argffmpeg = String.Format("-vcodec wmv1 -r 24 -b:v 1800 -i \"{0}SurvImg%4d.bmp\" {1}", PathImg, PathVideo); bresult = _Useffmpeg(argffmpeg); return bresult; } /// <summary> /// Use ffmpeg.exe /// </summary> /// <param name="Argument"></param> /// <returns></returns> private bool _Useffmpeg(string Argument) { bool bresult = false; try { using (Process process = new Process()) { string pathffmpeg = _EncoderPath + "\\ffmpeg.exe"; if (File.Exists(pathffmpeg) ) { process.StartInfo.FileName = _EncoderPath + "\\ffmpeg.exe"; process.StartInfo.WindowStyle = ProcessWindowStyle.Normal ; process.StartInfo.UseShellExecute = false; process.StartInfo.ErrorDialog = true; process.StartInfo.RedirectStandardError = true; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.CreateNoWindow = true; process.StartInfo.Arguments = Argument; process.Start(); StreamReader myStreamReader = process.StandardError; // Read the standard error of net.exe and write it on to console. Console.WriteLine(myStreamReader.ReadToEnd()); process.WaitForExit(); bresult = process.HasExited; process.Close(); }else { MessageBox.Show(String.Format("the software {0} is missing", pathffmpeg), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } [...]
J'ai essayé différents codecs et différent format d'enregistrement d'image, et j'ai l'erreur "header corrupted", en sortie d'erreur de ffmpeg.
Quelqu'un pourrait m'aider pour trouver une solution? Je commence à devenir chauve à force de m'arracher les cheveux
Merci!
Partager