
Recherche avancée
Médias (3)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (66)
-
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. -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (6016)
-
Pipe ffmpeg output to named pipe
9 novembre 2016, par user3657114I’m trying to get ffmpegs output to a named pipe, where I could read from another shell. I do not need the video stream piped, just the informations below to get a state of the conversion process back. I am not able to achieve the piping behavior in any way, but I can write the data to a file with the following command :
ffmpeg -i vid.mov -vcodec h264 -acodec aac -strict -2 -y vid.mp4 > fflog.txt 2>&1
This leads to the following output in fflog.txt
Stream mapping:
Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
frame= 50 fps=0.0 q=0.0 size= 0kB time=00:00:03.20 bitrate= 0.1kbits/s
frame= 73 fps= 70 q=28.0 size= 230kB time=00:00:04.05 bitrate= 465.4kbits/s
frame= 100 fps= 65 q=28.0 size= 462kB time=00:00:05.44 bitrate= 695.3kbits/sAfterwards I can get lines via
tail -f -1 fflog.txt
out of the file. But the lines are not escaped correctly, I think. Vi shows me the following :
frame= 50 fps=0.0 q=0.0 size= 0kB time=00:00:03.20 bitrate= 0.1kbits/s
^Mframe= 73 fps= 70 q=28.0 size= 230kB time=00:00:04.05 bitrate= 465.4kbits/s
^Mframe= 100 fps= 65 q=28.0 size= 462kB time=00:00:05.44 bitrate= 695.3kbits/s
^Mframe= 125 fps= 61 q=28.0 size= 608kB time=00:00:06.48 bitrate= 767.5kbits/sSo the questions are :
- How to convert the CRLF to UNIX like LF to return data correctly via tail -n ?
- Or even better : How to pipe the ffmpeg results correctly to a mkfifo named pipe ?
- Or the most general : Is there a different way to achieve my goal in a more clever manner ?
-
How to use a Pipe between two processes in Process.Start
4 juin 2015, par Zed MachineI 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 thetest.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
andffmpeg
.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 = "" & executablepath & ""
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 & ">Program exception:" & Environment.NewLine & ex.Message & Environment.NewLine)))
MsgBox(ex.Message)
End Try
End SubUpdate :
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 Ifthen 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=") Thenso 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) ?
-
Pipe two processes
30 mai 2015, par Zed MachineI 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"Basically vspipe.exe get test.vpy script and apply filters or resize video input then the output is piped to ffmpeg for the encoding.
If I use a normal Process declaration with vspipe it gives an error, "Unknown argument : |" and if i use ffmpeg simply it stack at inizialization.
From cmd the script works good. That means that I have to do manually a pipe between vspipe and ffmpeg or there is a simpler way to do it ?
If I must manually do pipe can someone tell me how to do it or at least a link ?
thanks to all. :)
EDIT :
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 = "" & executablepath & ""
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 & ">Program exception:" & Environment.NewLine & ex.Message & Environment.NewLine)))
MsgBox(ex.Message)
End TryEnd Sub