
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (48)
-
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 ;
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (7429)
-
The system cannot find the file specified error when trying to execute FFMpeg command with C# (same code works fine in a different app)
5 mars 2023, par m_krI know there are similar questions to this one. I have gone through every single one I could find and nothing worked for me. Here is my issue :


I am trying to execute a FFMpeg command in command-line through .NET.


Before anything I tried doing it with the following code :


public static string executeCommand(string commandToBeExecuted)
 {
 Process cmd = new Process();
 cmd.StartInfo.FileName = "cmd.exe";
 cmd.StartInfo.RedirectStandardInput = true;
 cmd.StartInfo.RedirectStandardOutput = true;
 cmd.StartInfo.CreateNoWindow = true;
 cmd.StartInfo.UseShellExecute = false;
 cmd.Start();

 cmd.StandardInput.WriteLine(commandToBeExecuted);
 cmd.StandardInput.Flush();
 cmd.StandardInput.Close();
 cmd.WaitForExit();
 return cmd.StandardOutput.ReadToEnd();
 }



Sending the "ffmpeg -h" command in commandToBeExecuted. This did not work.


I next tried the following solution :


public static string ffmpegCommand(string commandToBeExecuted)
 {
 ProcessStartInfo startInfo = new ProcessStartInfo();
 startInfo.CreateNoWindow = false;
 startInfo.UseShellExecute = false;
 startInfo.FileName = "c:\\ffmpeg\\bin\\ffmpeg.exe";
 startInfo.WindowStyle = ProcessWindowStyle.Hidden;
 startInfo.Arguments = "-h";

 startInfo.RedirectStandardOutput = true;
 startInfo.RedirectStandardError = true;


 Process exeProcess = Process.Start(startInfo);

 // string error = exeProcess.StandardError.ReadToEnd();
 string output = exeProcess.StandardOutput.ReadToEnd();
 exeProcess.WaitForExit();
 return output;
 }



This returns the following error :




The system cannot find the file specified




I am assuming this is referring to this part of the code :


startInfo.FileName = "c:\\ffmpeg\\bin\\ffmpeg.exe";



However, I checked and this is the correct path to my ffmpeg.exe file. On an even weirder note, this code works correct when tested in a new .net console application. However, I am creating an extension for OutSystems in integration, and when testing this code there it no longer works. The long exception from the logs is the following :




CssbobffmpegCommandTestFolder
System.ComponentModel.Win32Exception : The system cannot find the file specified
at Object.s [as getException] (https://personal-jwy0bfog.outsystemscloud.com/FFMpegCommandGeneratorFFProbeVisual/scripts/OutSystems.js?RnlDcii3Xz75iIHHERIZtA:2:10241)
at c.onSuccess (https://personal-jwy0bfog.outsystemscloud.com/FFMpegCommandGeneratorFFProbeVisual/scripts/OutSystems.js?RnlDcii3Xz75iIHHERIZtA:3:7232)
at XMLHttpRequest. (https://personal-jwy0bfog.outsystemscloud.com/FFMpegCommandGeneratorFFProbeVisual/scripts/OutSystems.js?RnlDcii3Xz75iIHHERIZtA:3:2648)




I researched similar problems and tried the following solutions :


In place of :


startInfo.FileName = "c:\\ffmpeg\\bin\\ffmpeg.exe";



I tried :


startInfo.WorkingDirectory = "c:\\ffmpeg\\bin";
 startInfo.FileName = @"ffmpeg.exe";



I also tried changing the :


startInfo.Arguments = "-h";



to :


startInfo.Arguments = "/C -h";



I tried to "add new item" to my solution : the ffmpeg.exe file, and I tried the following logic :


public static string testingNewApproachTwoThree(string commandToBeExecuted)
 {
 string res;
 ProcessStartInfo startInfo = new ProcessStartInfo();

 startInfo.CreateNoWindow = false;
 startInfo.UseShellExecute = false;
 startInfo.FileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ffmpeg\\ffmpeg.exe");
 startInfo.Arguments = "-h";
 startInfo.RedirectStandardOutput = true;
 //startInfo.RedirectStandardError = true;

 res = string.Format(
 "Executing \"{0}\" with arguments \"{1}\".\r\n",
 startInfo.FileName,
 startInfo.Arguments) + " NEXT: ";

 try
 {
 using (Process process = Process.Start(startInfo))
 {
 while (!process.StandardOutput.EndOfStream)
 {
 res = res + process.StandardOutput.ReadLine();

 }

 process.WaitForExit();
 }
 }
 catch (Exception ex)
 {
 res = res + "exception:" + ex.Message;
 }

 return res;
 }



as suggested in a different question.


I tried changing the capitalization of letters in the specified filepath to make sure it matches the naming of my folders. Nothing worked.


Any ideas ?


-
Adding FFMPEG support to Chromium Portable on Windows without recompiling
13 décembre 2023, par AshbyI am using Chromium portable on Windows recently.


I downloaded Chromium portable from chromium.org, finding it without FFMPEG support, which means playing media just not possible for some websites.


Is there a simple or a little complex hack or plugin or patches to make FFMPEG on Chromium portable from chromium.org work ? Thanks.


Due to personal reasons I am not intended to use Google Chrome for some months, due to its automatic updates something like Windows Update, making me annoyed.


On Linux, I know there is a package called
chromium-codecs-ffmpeg-extra
, which makes FFMPEG support possible. But I do NOT find something similar on Windows.

Recompiling Chromium costs hours and I just do not want to use some third-party Chromium releases due to security requests.


Years have gone and past questions years ago on stackflow just not cater my need today.


Thanks for your patience & understanding.


-
poll always return 0 on ff_poll_interrupt on avformat_open_input, while playing a rtsp authentication url [closed]
12 mars 2024, par CodeEaterI tried to play a rtsp authentication url on my personal player. The rtsp url format is rtsp ://user:pass@x.x.x.x/VideoString. VLC player can play this url but mine is not ok.


Specifically, on function bellow, ret always return 0 and the whole thread stuck at the loop.


static int ff_poll_interrupt(struct pollfd *p, nfds_t nfds, int timeout, AVIOInterruptCB *cb)
{
 int runs = timeout / POLLING_TIME;
 int ret = 0;

 do {
 if (ff_check_interrupt(cb))
 return AVERROR_EXIT;
 ret = poll(p, nfds, POLLING_TIME);
 if (ret != 0) {
 if (ret < 0) {
 ff_log_net_error(NULL, AV_LOG_ERROR, "ff_poll_interrupt");
 ret = ff_neterrno();
 }
 if (ret == AVERROR(EINTR))
 continue;
 break;
 }
 } while (timeout <= 0 || runs-- > 0);

 if (!ret) {
 av_log(NULL, AV_LOG_ERROR, "Error in ff_pool_interrupt, timeout = %d.\n", timeout);
 return AVERROR(ETIMEDOUT);
 }
 return ret;
}



Codes bellow are what I modified try to fix it . And now it will return "timeout" because "runs" works on ff_poll_interrupt.


...
av_dict_set(&mInputOpts, "buffer_size", "1024000", 0);
av_dict_set(&mInputOpts, "rtsp_transport", "tcp", 0);
av_dict_set(&mInputOpts,"stimeout","20*1000*1000",0);


int ret = avformat_open_input(&mCtx, filename, in_fmt, mInputOpts ? &mInputOpts : nullptr);
...



wireshack shows that only 3 messages occur during the whole process(filtered by specific ip), which occurs on "start_connect_attempt" called by ff_connect_parallel.




order is :


- 

- C to S
- S to C
- C to S








expected : 4.C to S(with options or describe)


if poll return normal, then 4.C to S(with options or describe) will execute on ff_rtsp_connect.


So my question is Why poll always return 0 on ff_poll_interrupt on avformat_open_input, while playing a rtsp authentication url ?