Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (27)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-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

Sur d’autres sites (7310)

  • C# UWP Desktop Bridge start ffmpeg with command

    4 décembre 2019, par iNCEPTiON_

    I have a UWP Application which starts a WPF app and communicates via AppServiceConnection which works well,
    what I want to do is to start FFmpeg / FFplay with the command to play a video.

    The code in the WPF app for starting FFmpeg / FFplay via AppServiceConnection

    private void Connection_RequestReceivedAsync(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
           {
               var value = args.Request.Message["REQUEST"] as string;
               switch (value)
               {
                   case "StartFFmpeg":
                       Test();
                       break;
               }
           }

           private void Test()
           {
               var process = new Process();
               process.StartInfo.RedirectStandardOutput = true;
               process.StartInfo.RedirectStandardError = true;
               process.StartInfo.FileName = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\ffplay.exe";
               process.StartInfo.Arguments = @"-i C:\Users\test\video.mp4";


               process.StartInfo.UseShellExecute = false;
               process.StartInfo.CreateNoWindow = true;
               process.Start();
           }

    this fails with the following error in the UWP app :

    The target process exited without raising a CoreCLR started event. Ensure that the target process is configured to use .NET Core. This may be expected if the target process did not run on .NET Core.
    The program '[16824] FFmpeg.Bridge.exe' has exited with code -532462766 (0xe0434352).

    now my question is, is it possible to start FFmpeg / FFplay with the desktop bridge ? or can we only start .net core processes, the process is running with full privileges so why is that not possible ?

    The UWP App won’t be published on the store, it will only run on a local windows machine.

  • Converting ffmpeg CLI command to ffmpeg-python to get bytes of a MPEG Transport Stream data stream ?

    28 août 2023, par kdeckerr

    I have the following code to get the bytes representing the data stream of a .ts video :

    


    def get_datastream_bytes(mpeg_ts_filepath):
    ffmpeg_command = [
        'ffmpeg', '-hide_banner', '-loglevel', 'quiet',
        '-i', mpeg_ts_filepath,
        '-map', '0:d',
        '-c', 'copy',
        '-copy_unknown',
        '-f', 'data',
        'pipe:1'
    ]

    try:
        output_bytes = subprocess.check_output(ffmpeg_command, stderr=subprocess.STDOUT)
        print("Output bytes length:", len(output_bytes))
        return output_bytes
    except subprocess.CalledProcessError as e:
        print("Error:", e.output)


    


    I can then wrap the returned value in io.BytesIO and parse the resulting bytes using another library (klvdata).

    


    This code was fashioned upon a ffmpeg CLI command I adapted from this SO Answer.

    


    ffmpeg -i "C:\inputfile.ts" -map 0:d -c copy -copy_unknown -f:d data pipe:1


    



    


    What I would really like to do is utilize the Python ffmpeg bindings in ffmpeg-python so that users do not have to install ffmpeg locally. Thus, I have attempted to get a bytes stream from an ffmpeg call like so :

    


    bytestream = (
    ffmpeg.input(input_file)
        .output("pipe:", format="data", codec="copy", copy_unknown=True)
        .run(capture_stdout=True)
)


    


    Though, this and many other, attempts at utilizing ffmpeg-python generally end with the same error :

    


    


    Output #0, data, to 'True' :
[out#0/data @ 00000...] Output file does not contain any stream
Error opening output file True.
Error opening output files : Invalid argument
Traceback (most recent call last) :
...
raise Error('ffmpeg', out, err)
ffmpeg._run.Error : ffmpeg error (see stderr output for detail)

    


    



    


    How do I convert the ffmpeg CLI command

    


    ffmpeg -i "C:\inputfile.ts" -map 0:d -c copy -copy_unknown -f:d data pipe:1


    


    To an ffmpeg-python call ?

    


  • C# How do I set the volume of sound bytes[]

    23 juillet 2016, par McLucario

    Im trying to change the volume of sound bytes[] in C#. Im reading a sound file with FFMPEG and and wanna change the volume on the fly. I found some examples and but I didnt understand them.

    public void SendAudio(string pathOrUrl)
    {
       cancelVid = false;
       isPlaying = true;

       mProcess = Process.Start(new ProcessStartInfo
       { // FFmpeg requireqs us to spawn a process and hook into its stdout, so we will create a Process
           FileName = "ffmpeg",
           Arguments = "-i " + (char)34 + pathOrUrl + (char)34 + // Here we provide a list of arguments to feed into FFmpeg. -i means the location of the file/URL it will read from
           " -f s16le -ar 48000 -ac 2 pipe:1", // Next, we tell it to output 16-bit 48000Hz PCM, over 2 channels, to stdout.
           UseShellExecute = false,
           RedirectStandardOutput = true, // Capture the stdout of the process
           Verb = "runas"
       });

       while (!isRunning(mProcess)) { Task.Delay(1000); }

       int blockSize = 3840; // The size of bytes to read per frame; 1920 for mono
       byte[] buffer = new byte[blockSize];
       byte[] gainBuffer = new byte[blockSize];
       int byteCount;

       while (true && !cancelVid) // Loop forever, so data will always be read
       {
           byteCount = mProcess.StandardOutput.BaseStream // Access the underlying MemoryStream from the stdout of FFmpeg
           .Read(buffer, 0, blockSize); // Read stdout into the buffer

           if (byteCount == 0) // FFmpeg did not output anything
               break; // Break out of the while(true) loop, since there was nothing to read.

           if (cancelVid)
               break;

           disAudioClient.Send(buffer, 0, byteCount); // Send our data to Discord
       }
       disAudioClient.Wait(); // Wait for the Voice Client to finish sending data, as ffMPEG may have already finished buffering out a song, and it is unsafe to return now.
       isPlaying = false;
       Console.Clear();
       Console.WriteLine("Done Playing!");