
Recherche avancée
Médias (1)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (62)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
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 -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...)
Sur d’autres sites (6443)
-
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) ?
-
Conflicting types error using linphone ios sdk
4 décembre 2013, par VinZI downloaded the linphone sdk for iphone sourcecode and compiled it on my machine. The SDK build was successful after few fixes. But while building the app in Xcode, it is throwing the following error :
Error 1 :
/linphone-iphone/submodules/linphone/mediastreamer2/src/utils/ffmpeg-priv.h:78:17: Conflicting types for 'avcodec_alloc_context3'
Error 2 :
/linphone-iphone/submodules/linphone/mediastreamer2/src/utils/ffmpeg-priv.h:82:5: Conflicting types for 'avcodec_open2'
It is coming from mediastreamer2/ffmpeg source code. Any help on how to fix this is highly appreciated.
-
How to write frames to a video file ?
23 décembre 2013, par Mike ChenI am currently writing an application that read frames from camera, modify them, and save them into a video file. I'm planing to do it with ffmpeg. There's rarely a documentation about ffmpeg. I can't find a way. Does any know how to do it ?
I need it to be done on unix, and in C or C++. Does any can provide some instructions ?
Thanks.
EDIT :
Sorry, I haven't write clearly. I want some developer APIs to write frames to a video file. I open up camera stream, I get every single frame, then I save them into a video file with those APIs available in ffmpeg's public apis. So using command line tool actually doesn't help me. And I've seen output_example.c under the ffmpeg src folder. It's pretty great that I may copy some parts of the code directly without change. And I am still looking for a easier way.
Also, I'm thinking of porting my app to iPhone, as far as I know, only ffmpeg has been ported on iPhone. GStreamer is based on glib, and it's all GNU stuff. I'm not sure if I can get it work on iPhone. So ffmpeg is still the best choice for now.
Any comments is appreciated.