Recherche avancée

Médias (1)

Mot : - Tags -/biomaping

Autres articles (53)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications 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, par

    Certains 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, par

    Pré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 (7442)

  • Video Streaming shows not working in Micorsoft Edge

    22 novembre 2018, par Ragesh S

    I am newbi in using Video streaming in ASP.Net MVC project. I have a video library webpplication, most of the videos are .mp4 format. Please see my code below.

    Code

    public HttpResponseMessage Get(string filename)
       {
           var filePath = new FileStreameHelpers().GetFilePath(filename);
           if (!File.Exists(filePath))
               return new HttpResponseMessage(HttpStatusCode.NotFound);

           var response = Request.CreateResponse();
           response.Headers.AcceptRanges.Add("bytes");

           var streamer = new FileStreameHelpers();
           streamer.FileInfo = new FileInfo(filePath);
           response.Content = new PushStreamContent(streamer.WriteToStream, new FileStreameHelpers().GetMimeType(Path.GetExtension(filePath)));

           RangeHeaderValue rangeHeader = Request.Headers.Range;
           if (rangeHeader != null)
           {
               long totalLength = streamer.FileInfo.Length;
               var range = rangeHeader.Ranges.First();
               streamer.Start = range.From ?? 0;
               streamer.End = range.To ?? totalLength - 1;

               response.Content.Headers.ContentLength = streamer.End - streamer.Start + 1;
               response.Content.Headers.ContentRange = new ContentRangeHeaderValue(streamer.Start, streamer.End,
                   totalLength);
               response.StatusCode = HttpStatusCode.PartialContent;
           }
           else
           {
               response.StatusCode = HttpStatusCode.OK;
           }

           return response;
       }
     public async Task WriteToStream(Stream outputStream, HttpContent content, TransportContext context)
       {
           try
           {
               var buffer = new byte[6553600];
               using (var video = FileInfo.OpenRead())
               {
                   if (End == -1)
                   {
                       End = video.Length;
                   }
                   var position = Start;
                   var bytesLeft = End - Start + 1;
                   video.Position = Start;
                   while (position <= End)
                   {
                       var bytesRead = video.Read(buffer, 0, (int)Math.Min(bytesLeft, buffer.Length));
                       await outputStream.WriteAsync(buffer, 0, bytesRead);
                       position += bytesRead;
                       bytesLeft = End - position + 1;
                   }
               }
           }
           catch (Exception ex)
           {
               // fail silently
               Utilities.SaveException("FileStreameHelpers - WriteToStream", ex);
           }
           finally
           {
               outputStream.Close();
           }
       }

    it works fine in Firefox and Chrome but it shows error in Microsoft Edge browser like below.

    HTML

    <video width="320" height="240" controls="controls">
       <source src="/api/Media/Get?filename=SampleVideo_1280x720_1mb.mp4" type="video/mp4">
       Your browser does not support the video tag.
    </source></video>

    The remote host closed the connection. The error code is 0x800703E3.

    Please advice.

  • getting errors from FFMpeg when spawned from .NET

    18 mars 2014, par Brannon

    When I run FFMpeg from the command line like this

    ffmpeg.exe -hwaccel auto -re -i "C:\Users\Public\Videos\Sample Videos\Wildlife.wmv" -an -sn -c:v bmp -pix_fmt bgr24 -f rawvideo - > junk.bin

    it works fine. However, when I spawn the exact same thing (minus > junk.bin) I get this nasty "bad header" error after a few seconds of playback. What is causing this ? I have trouble believing my process blocks the pipe longer than the filesystem does, but it should be able to block the pipe indefinitely without defeating the decoding. The truncated stderr is below. My code to spawn the thing is here.

    ffmpeg version N-60761-g916a792 Copyright (c) 2000-2014 the FFmpeg developers
     built on Feb 19 2014 21:57:22 with gcc 4.8.2 (GCC)
     configuration: --target-os=mingw32 --enable-shared --enable-runtime-cpudetect
     libavutil      52. 65.100 / 52. 65.100
     libavcodec     55. 52.102 / 55. 52.102
     libavformat    55. 33.100 / 55. 33.100
     libavdevice    55. 10.100 / 55. 10.100
     libavfilter     4.  1.103 /  4.  1.103
     libswscale      2.  5.101 /  2.  5.101
     libswresample   0. 17.104 /  0. 17.104
    cygwin warning:
     MS-DOS style path detected: C:\Users\Public\Videos\Sample Videos\Wildlife.wmv
     Preferred POSIX equivalent is: /cygdrive/c/Users/Public/Videos/Sample Videos/Wildlife.wmv
     CYGWIN environment variable option "nodosfilewarning" turns off this warning.
     Consult the user&#39;s guide for more details about POSIX paths:
       http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
    [asf @ 0x600059480] Stream #0: not enough frames to estimate rate; consider increasing probesize
    Guessed Channel Layout for  Input Stream #0.0 : stereo
    Input #0, asf, from &#39;C:\Users\Public\Videos\Sample Videos\Wildlife.wmv&#39;:
     Metadata:
       SfOriginalFPS   : 299700
       WMFSDKVersion   : 11.0.6001.7000
       WMFSDKNeeded    : 0.0.0.0000
       comment         : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
       title           : Wildlife in HD
       copyright       : © 2008 Microsoft Corporation
       IsVBR           : 0
       DeviceConformanceTemplate: AP@L3
     Duration: 00:00:30.09, start: 0.000000, bitrate: 6977 kb/s
       Stream #0:0(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, stereo, fltp, 192 kb/s
       Stream #0:1(eng): Video: vc1 (Advanced) (WVC1 / 0x31435657), yuv420p, 1280x720, 5942 kb/s, 29.97 tbr, 1k tbn, 1k tbc
    Output #0, rawvideo, to &#39;pipe:&#39;:
     Metadata:
       SfOriginalFPS   : 299700
       WMFSDKVersion   : 11.0.6001.7000
       WMFSDKNeeded    : 0.0.0.0000
       comment         : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
       title           : Wildlife in HD
       copyright       : © 2008 Microsoft Corporation
       IsVBR           : 0
       DeviceConformanceTemplate: AP@L3
       encoder         : Lavf55.33.100
       Stream #0:0(eng): Video: bmp, bgr24, 1280x720, q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
    Stream mapping:
     Stream #0:1 -> #0:0 (vc1 -> bmp)
    Press [q] to stop, [?] for help
    frame=    3 fps=0.0 q=0.0 size=    8100kB time=00:00:00.10 bitrate=662902.1kbits/s    
    frame=   29 fps= 26 q=0.0 size=   78302kB time=00:00:00.96 bitrate=662902.3kbits/s    
    frame=   50 fps= 30 q=0.0 size=  135003kB time=00:00:01.66 bitrate=662902.2kbits/s    
    frame=   65 fps= 30 q=0.0 size=  175503kB time=00:00:02.16 bitrate=662902.2kbits/s    
    frame=   80 fps= 30 q=0.0 size=  216004kB time=00:00:02.66 bitrate=662902.1kbits/s    
    frame=   95 fps= 30 q=0.0 size=  256505kB time=00:00:03.16 bitrate=662902.1kbits/s    
    [asf @ 0x600059480] ff asf bad header 74  at:5053733
    [asf @ 0x600059480] invalid packet_length -1908511255 at:5053740
    [asf @ 0x600059480] ff asf bad header d4  at:5053759
    [asf @ 0x600059480] ff asf skip 55629 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5181733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5189733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5197733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5205733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5213733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5221733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5229733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5237733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5245733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5357733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5365733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5373733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5381733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5493733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5501733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5509733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5517733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5629733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5637733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5645733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5653733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5701733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5709733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5717733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5725733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5805733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5813733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5821733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5829733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5877733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5885733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5893733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5901733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5949733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5957733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5965733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] ff asf bad header 0  at:5973733
    [asf @ 0x600059480] ff asf skip 7991 (unknown stream)
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 15 times
    [asf @ 0x600059480] unexpected packet_replic_size of 2
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 7 times
    [asf @ 0x600059480] ff asf skip 2562 (unknown stream)
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 3 times
    [asf @ 0x600059480] ff asf skip 448 (unknown stream)
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 9 times
    [asf @ 0x600059480] unexpected packet_replic_size of 6
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 7 times
    [asf @ 0x600059480] packet_frag_size is invalid (1749-9)
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 13 times
    [asf @ 0x600059480] packet_frag_size is invalid (1749-9)
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 24 times
    [asf @ 0x600059480] unexpected packet_replic_size of 6
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 6 times
    [asf @ 0x600059480] unexpected packet_replic_size of 5
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 6 times
    [asf @ 0x600059480] packet_frag_size is invalid (1749-9)
    [asf @ 0x600059480] packet_obj_size invalid
    [asf @ 0x600059480] packet_frag_size is invalid (1749-9)
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 2 times
    [asf @ 0x600059480] unexpected packet_replic_size of 5
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 8 times
    [asf @ 0x600059480] unexpected packet_replic_size of 5
    [asf @ 0x600059480] packet_obj_size invalid
       Last message repeated 39 times
    [asf @ 0x600059480] packet_frag_size is invalid (1749-40)
  • How to use a Pipe between two processes in Process.Start

    4 juin 2015, par Zed Machine

    I have to run this command line using VB.NET :

    "H :\videotest\test.vpy" - -y | "H :\Release\data\bin64\ffmpeg.exe" -hwaccel auto -y -i - -map 0:v:0 -c:v libx265 -crf 20.0 -preset 5 -x265-params level=0:profile=undefined:pmode:no-pme:pme:no-high-tier:ref=3:bframes=4:open-gop:keyint=250:min-keyint=25:b-adapt=2:bframe-bias=0:rc-lookahead=20:no-scenecut:b-pyramid:me=hex:subme=2:merange=57:temporal-mvp:weightp:no-weightb:max-merge=2:no-weightb:no-rect:no-amp:vbv-bufsize=0:vbv-maxrate=0:vbv-init=0.9:no-strict-cbr:qcomp=0.6:qstep=4:aq-mode=1:aq-strength=1.0:cutree:no-early-skip:min-cu-size=8:ctu=64:no-fast-cfb:ipratio=1.4:pbratio=1.3:cbqpoffs=0:crqpoffs=0:rd=3:psy-rd=0.3:psy-rdoq=1:no-b-intra:no-fast-intra:rdoq-level=1:no-tskip:no-tskip-fast:cu-lossless:tu-intra-depth=1:tu-inter-depth=1:strong-intra-smoothing:no-constrained-intra:nr-intra=0:nr-inter=0:qblur=0.5:cplxblur=20:signhide:sar=16
    "H :\videotest\outputawdwd.mkv"

    vspipe.exe runs the test.vpy script and applies filters to or resizes video input, then the output is piped to ffmpeg for the encoding.

    If I use a normal Process declaration with vspipe it gives the following error :

    Unknown argument : |

    From the command line the script works well. I suspect that means that I have to manually pipe between vspipe and ffmpeg.

    Is it possible to manually pipe output from one process to another ? Must I do it manually ?

    Here is my function to start process :

    executablepath = "H:\Project\VapourSynth\core64\vspipe.exe"

    params = "H:\videotest\test.vpy" - -y | "H:\Release\data\bin64\ffmpeg.exe" -hwaccel auto -y -i - -map 0:v:0 -c:v libx265 -crf 20.0 -preset 5 -x265-params level=0:profile=undefined:pmode:no-pme:pme:no-high-tier:ref=3:bframes=4:open-gop:keyint=250:min-keyint=25:b-adapt=2:bframe-bias=0:rc-lookahead=20:no-scenecut:b-pyramid:me=hex:subme=2:merange=57:temporal-mvp:weightp:no-weightb:max-merge=2:no-weightb:no-rect:no-amp:vbv-bufsize=0:vbv-maxrate=0:vbv-init=0.9:no-strict-cbr:qcomp=0.6:qstep=4:aq-mode=1:aq-strength=1.0:cutree:no-early-skip:min-cu-size=8:ctu=64:no-fast-cfb:ipratio=1.4:pbratio=1.3:cbqpoffs=0:crqpoffs=0:rd=3:psy-rd=0.3:psy-rdoq=1:no-b-intra:no-fast-intra:rdoq-level=1:no-tskip:no-tskip-fast:cu-lossless:tu-intra-depth=1:tu-inter-depth=1:strong-intra-smoothing:no-constrained-intra:nr-intra=0:nr-inter=0:qblur=0.5:cplxblur=20:signhide:sar=16 "H:\videotest\outputawdwd.mkv"

    Private Sub CreateJobProcess(ByVal Name, ByVal executablepath, ByVal params)

       Try

           If Not jobs_processes.ContainsKey(Name) Then

               Dim Proc As New Process

               Proc.StartInfo.UseShellExecute = False
               Proc.StartInfo.CreateNoWindow = True
               Proc.StartInfo.RedirectStandardError = True
               Proc.StartInfo.FileName = "" &amp; executablepath &amp; ""
               Proc.StartInfo.Arguments = params

               'start process
               Proc.Start()

               'add new process to dictionary
               jobs_processes.Add(Name, Proc)

               'TEMP
               My.Settings.giobbe -= 1

               'start background workers for statistics
               If Not ConversionStats.IsBusy Then
                   ConversionStats.WorkerSupportsCancellation = True
                   ConversionStats.RunWorkerAsync()
               End If

               If Not UpdateListJob.IsBusy Then
                   UpdateListJob.WorkerSupportsCancellation = True
                   UpdateListJob.RunWorkerAsync()
               End If

           End If

       Catch ex As Exception
           Me.Invoke(New MethodInvoker(Sub() Logbox.AppendText(Environment.NewLine &amp; ">Program exception:" &amp; Environment.NewLine &amp; ex.Message &amp; Environment.NewLine)))
           MsgBox(ex.Message)
       End Try
    End Sub

    Update :

    This is the block I have changed, this function get job name and parameters for the job that needs to be created, then it saves the process in a dictionary.

                 Dim Proc As New Process

                   Proc.StartInfo.UseShellExecute = False
                   Proc.StartInfo.CreateNoWindow = True
                   Proc.StartInfo.RedirectStandardError = True
                   Proc.StartInfo.FileName = "cmd"
                   Proc.StartInfo.Arguments = params

                   'start process
                   Proc.Start()

                   'add new process to dictionary
                   jobs_processes.Add(Name, Proc)

                   'TEMP
                   My.Settings.giobbe -= 1

                   'start background workers for statistics
                   If Not ConversionStats.IsBusy Then
                       ConversionStats.WorkerSupportsCancellation = True
                       ConversionStats.RunWorkerAsync()
                   End If

                   If Not UpdateListJob.IsBusy Then
                       UpdateListJob.WorkerSupportsCancellation = True
                       UpdateListJob.RunWorkerAsync()
                   End If

    then i have a backgroundworker ( ConversionStats ) that get stderr from every process in the dictionary and print them into textboxes :

              'take current selected process and set streamreader
               Dim tmpproc As Process = jobs_processes(CurrentJob)
               Dim ffmpeg_stats As StreamReader
               Dim stdoutput As String = ""

               'something that verify if the job is started

               If statejob = 1 Then    'if job is working

                   'take stderr from ffmpeg
                   ffmpeg_stats = tmpproc.StandardError
                   stdoutput = ffmpeg_stats.ReadLine()

                   If stdoutput IsNot Nothing Then 'if ffmpeg stderr is not nothing

                       'IF FFMPEG IS RETURNING STATS
                       If stdoutput.Contains("frame=") Or stdoutput.Contains("size=") Then

    so this is my code...
    but now with cmd getting standarderror with streamreader result in taking a string "Invalid Handle." this is an error from cmd stderr or there is a problem with the streamreader ?

    UPDATE 2

    I have even tried to start a clean cmd process declaring only parameters but the result is just the console with main infos.

    Microsoft Windows [Versione 6.3.9600]
    (c) 2013 Microsoft Corporation. Tutti i diritti riservati.

    H :\Project\bin\Release>

    this is the code to clarify :

                   Dim Proc As New Process

                   Proc.StartInfo.FileName = "cmd"
                   Proc.StartInfo.Arguments = params

                   'start process
                   Proc.Start()

    SO AGAIN THERE IS SOMEONE WHO CAN GUIDE ME HOW TO PIPE/REDIRECT STDOUTPUT FROM ONE PROCESS (vspipe.exe) TO THE STDIN OF ANOTHER PROCESS (ffmpeg.exe) ?