
Recherche avancée
Médias (91)
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Paul Westerberg - Looking Up in Heaven
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Le Tigre - Fake French
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Thievery Corporation - DC 3000
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Dan the Automator - Relaxation Spa Treatment
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Gilberto Gil - Oslodum
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (57)
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.
Sur d’autres sites (5193)
-
Using FFmpeg in .net ?
15 juillet 2016, par danielSo I know its a fairly big challenge but I want to write a basic movie player/converter in c# using the FFmpeg library. However, the first obstacle I need to overcome is wrapping the FFmpeg library in c#. I’ve downloaded ffmpeg but couldn’t compile it on Windows, so I downloaded a precompiled version for me. Ok awesome. Then I started looking for C# wrappers.
I have looked around and have found a few wrappers such as SharpFFmpeg (http://sourceforge.net/projects/sharpffmpeg/) and ffmpeg-sharp (http://code.google.com/p/ffmpeg-sharp/). First of all, I wanted to use ffmpeg-sharp as its LGPL and SharpFFmpeg is GPL. However, it had quite a few compile errors. Turns out it was written for the mono compiler, I tried compiling it with mono but couldn’t figure out how. I then started to manually fix the compiler errors myself, but came across a few scary ones and thought I’d better leave those alone. So I gave up on ffmpeg-sharp.
Then I looked at SharpFFmpeg and it looks like what I want, all the functions P/Invoked for me. However its GPL ? Both the AVCodec.cs and AVFormat.cs files look like ports of avcodec.c and avformat.c which I reckon I could port myself ? Then not have to worry about licencing.
But I want to get this right before I go ahead and start coding. Should I :
- Write my own C++ library for interacting with ffmpeg, then have my C# program talk to the C++ library in order to play/convert videos etc.
OR
- Port avcodec.h and avformat.h (is that all i need ?) to c# by using a whole lot of DllImports and write it entirely in C# ?
First of all consider that I’m not great at C++ as I rarely use it but I know enough to get around. The reason I’m thinking #1 might be the better option is that most FFmpeg tutorials are in C++ and I’d also have more control over memory management than if I was to do it in c#.
What do you think ?
Also would you happen to have any useful links (perhaps a tutorial) for using FFmpeg ? -
Ffmpeg : How to fix error "Please choose an encoder manually" ?
9 juillet 2023, par AlexI am trying to convert a x265 videofile to a x264 format so it can be played on a television. I am trying the following command


ffmpeg -i input.mkv -f mp4 -vcodec libx264 -preset fast -profile:v main -acodec aac -map 0:0 -map 0:1 -map 0:2 test.mp4



to select videos stream 0:0 for video, stream 0:1 for audio and stream 0:2 for the subtitle. However I get an error


Automatic encoder selection failed Default encoder for format mp4 (codec none) is probably disabled. Please choose an encoder manually.
Error selecting an encoder



How to fix this command ?


P.S. I am not an expert in
ffmpeg
or videos conversion/formats/encodings/audio formats/subtitle formats.

I found EXACTLY ONE google search result with the exact error phrase HERE. And that is not helping as I do not even understand the first sentence.


Below is the output for the first three streams :


Input #0, matroska,webm, from 'input.mkv':
 Metadata:
 creation_time : 2021-03-25T09:13:20.000000Z
 ENCODER : Lavf58.29.100
 Duration: 00:23:57.65, start: 0.000000, bitrate: 2103 kb/s
 Stream #0:0(jpn): Video: hevc (Main 10), yuv420p10le(tv), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn (default)
 Metadata:
 title : [Judas] x265 10b
 ENCODER : Lavc58.54.100 libx265
 BPS-eng : 1973938
 DURATION-eng : 00:23:55.017000000
 NUMBER_OF_FRAMES-eng: 34406
 NUMBER_OF_BYTES-eng: 354079423
 _STATISTICS_WRITING_APP-eng: mkvmerge v48.0.0 ('Fortress Around Your Heart') 64-bit
 _STATISTICS_WRITING_DATE_UTC-eng: 2021-03-25 09:13:20
 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 Stream #0:1(jpn): Audio: aac (LC), 44100 Hz, stereo, fltp (default)
 Metadata:
 title : Japanese
 BPS-eng : 128000
 DURATION-eng : 00:23:55.086000000
 NUMBER_OF_FRAMES-eng: 61804
 NUMBER_OF_BYTES-eng: 22961378
 _STATISTICS_WRITING_APP-eng: mkvmerge v48.0.0 ('Fortress Around Your Heart') 64-bit
 _STATISTICS_WRITING_DATE_UTC-eng: 2021-03-25 09:13:20
 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 Stream #0:2(eng): Subtitle: ass
 Metadata:
 title : English
 BPS-eng : 196
 DURATION-eng : 00:23:53.580000000
 NUMBER_OF_FRAMES-eng: 478
 NUMBER_OF_BYTES-eng: 35129
 _STATISTICS_WRITING_APP-eng: mkvmerge v48.0.0 ('Fortress Around Your Heart') 64-bit
 _STATISTICS_WRITING_DATE_UTC-eng: 2021-03-25 09:13:20
 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES



I found a related question HERE whose answer I do not fully understand. However, I tried the following command


ffmpeg -i input.mkv -f mp4 -vcodec libx264 -preset fast -profile:v main -acodec aac -map 0:0 -map 0:1 -map 0:2 -c:s mov_text test.mp4



but got a new error


Error initializing output stream: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height



I thought I am defining an "encoder" for output stream "#0:0" (which I think is video), namely libx264. So what else to do here ?


I tried
-acode copy
and also to use-qp 0
in the command line which all did not work.

-
C# Process in loop reading error output, causes "No async read operation is in progress on the stream" error
29 mai 2023, par TSLeeI am trying to read the format of multiple video files using ffmpeg in an asynchronous operation of Process and facing an error, "No async read operation is in progress on the stream". According to https://social.msdn.microsoft.com/Forums/vstudio/en-US/c961f461-7afb-4a92-b0ae-f78c2003b5de/help-an-asynchronous-read-operation-is-already-in-progress-on-the-standardoutput-stream?forum=csharpgeneral, I think I have to use CancelErrorRead(), as BeginErrorReadLine() can't be launched more than once. I also wonder if I use this function in the wrong place, because the read operation has ended in process1.exited() ? But the operation can't proceed to the second index with this error.


How could I use CancelErrorRead()/CancelOutputRead() properly and where should I place them on the code ? I also did an experiment in that I commented these two CancelRead(), and a different error "async read operation has been started on the stream" will appear.


Process process1 = new Process();
 process1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
 process1.StartInfo.CreateNoWindow = true;
 process1.StartInfo.UseShellExecute = false;
 process1.StartInfo.FileName = ".\\ffmpeg.exe";
 process1.StartInfo.WorkingDirectory = ".\\";
 process1.EnableRaisingEvents = true;
 process1.StartInfo.RedirectStandardOutput = true; //if this is true, UseShellExecute must be false. true if output should be written to StandardOutput
 process1.StartInfo.RedirectStandardError = true;
 //indicates that the associated Process has written a line that's terminated with a newline
 process1.ErrorDataReceived += new DataReceivedEventHandler(inputHandler);
 process1.Exited += (ending, p) =>
 {
 flag = true;
 process1.CancelOutputRead();
 process1.CancelErrorRead();//
 };
 foreach (String file in inputList)
 {
 if (flag == true)
 {
 flag = false;
 process1.StartInfo.Arguments = "-i " + " \"" + file + "\"";
 Console.WriteLine(process1.StartInfo.Arguments);
 process1.Start();
 process1.BeginOutputReadLine();//
 process1.BeginErrorReadLine();
 process1.WaitForExit(); //for asynchronous output
 }


 }
 }
 private void inputHandler(object sender, DataReceivedEventArgs l)
 {
 cba.Append(l.Data + "\n");
 videoInput = l.Data;
 //Console.WriteLine(cba);
 //Process p = sender as Process;
 Console.WriteLine(videoInput);

 this.BeginInvoke(new MethodInvoker(() =>
 {

 if (!String.IsNullOrEmpty(videoInput))
 {
 if (videoInput.Contains("Stream #0:0"))
 {
 String subvideoInput1 = 
 videoInput.Substring(videoInput.IndexOf("Stream #0:0"));
 String video_inputType = subvideoInput1;
 textBox1.Text += video_inputType + System.Environment.NewLine;
 Console.WriteLine(video_inputType);
 }
 if (videoInput.Contains("Stream #0:1"))
 {
 String subvideoInput2 = 
 videoInput.Substring(videoInput.IndexOf("Stream #0:1"));
 Console.WriteLine(subvideoInput2.IndexOf("\n"));
 Console.WriteLine(subvideoInput2);
 String audio_inputType = subvideoInput2;
 textBox1.AppendText(audio_inputType + System.Environment.NewLine);
 Console.WriteLine(audio_inputType);
 }
 if (videoInput.Contains("Duration:"))
 {
 String videoinputDuration = 
 videoInput.Substring(videoInput.IndexOf("Duration:"));
 String subvideo_inputDuration = videoinputDuration.Substring(9);
 String inputvideoDuration = 
 subvideo_inputDuration.Remove(subvideo_inputDuration.IndexOf("."));
 Console.WriteLine(inputvideoDuration);
 double totalseconds = 
 TimeSpan.Parse(inputvideoDuration).TotalSeconds;
 
 

 }
 }

 }));


 }