come da titolo il post potra' essere di qualche interesse solo per chi ha una di queste schede di input/output video.
Ma nel mio caso l'idea e' di avere un flusso video in uscita (video composito, ma si puo' settare anche a SDI puo' hdmi) e relativo audio e contemporaneamente avere un feedback sullo schermo VGA del computer.
Le schede Black MAgic, notoriamente pallose, sono compativili con gstreamer (quasi) ed al momento, con il dirver versione 11.0 sembrerebbe che questo comando GSTREAMER funzioni (ps mode3=pal 50i):
gst-launch-1.0 uridecodebin uri=file:///home/v1p3r/path_del_file_video_funziona_solo_percorso_assoluto.mp4 name=decode decode. ! interlace field-pattern=2:2 ! videoconvert ! video/x-raw,format=UYVY ! videoscale ! video/x-raw,width=720,height=576 ! videorate ! video/x-raw,framerate=25/1 ! decklinkvideosink mode=3 decode. ! audioconvert ! decklinkaudiosink
funzioni.
Quindi da questa base ecco un semplice "sequencer" di comandi shell:
' Gambas class file
Public Processo As Process
Public Sub ColumnView_Files_Drop()
Dim DatiInArrivo As String
DatiInArrivo = Drag.Data
If (DatiInArrivo Like "file:*") Then
DatiInArrivo = Mid(DatiInArrivo, 1, (InStr(DatiInArrivo, gb.cr)) - 1)
ColumnView_Files.Add(ColumnView_Files.Count, DatiInArrivo)
Endif
End
Public Sub Form_Open()
ColumnView_Files.Columns.Count = 1
ColumnView_Files.Columns[0].Text = "file path"
End
Public Sub Button_Play_Click()
Dim i As Integer
Dim URI As String
Dim comandoInizio As String = "gst-launch-1.0 uridecodebin uri="
Dim comandoFine As String = " name=decode decode. ! interlace field-pattern=2:2 ! videoconvert ! video/x-raw,format=UYVY ! videoscale ! video/x-raw,width=720,height=576 ! videorate ! video/x-raw,framerate=25/1 ! decklinkvideosink mode=3 decode. ! audioconvert ! decklinkaudiosink"
Dim comando As String
For i = 0 To ColumnView_Files.Count - 1
uri = ColumnView_Files[i].Text
'gst-launch-1.0 uridecodebin uri=file:///home/v1p3r/Video/tg/farmacie/insegna\ croce\ famacia.mp4 name=decode decode. ! interlace field-pattern=2:2 ! videoconvert ! video/x-raw,format=UYVY ! videoscale ! video/x-raw,width=720,height=576 ! videorate ! video/x-raw,framerate=25/1 ! decklinkvideosink mode=3 decode. ! audioconvert ! decklinkaudiosink
comando = comandoInizio & uri & comandoFine
Debug "comando=" & comando
Shell comando Wait For Output
Next
End
a seguire, cerchero di implementare un vero e proprio player tramite il componente gb.media di gstreamer.
PS: i file video vanno caricati con drag & drop nella lista a destra.