logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
DThompson55  
#1 Posted : Tuesday, June 6, 2023 1:35:08 AM(UTC)
DThompson55

Rank: Advanced Member

Groups: Registered
Joined: 9/30/2020(UTC)
Posts: 46
United States
Location: Manchester

Thanks: 9 times
Was thanked: 3 time(s) in 3 post(s)
We record our church's Sunday services, and later edit them to post them to YouTube. There is some private information and some copyrighted music that we need to edit out. So, effectively we only want to post the pulpit shots, and edit out anything that is not a pulpit shot.

What I'm looking for is some way determine the time of each transition event, fades, cuts, etc. so that when it comes time to edit a recording I can go to exactly the time of transition and create a split in my video editor. If those transition events were captured in a log file, then I can easily apply some scripting to get what I want over to the video editor.

Is there a way to capture transition events to a log file?
Roy Sinclair  
#2 Posted : Tuesday, June 6, 2023 6:47:16 AM(UTC)
Roy Sinclair

Rank: Advanced Member

Groups: Registered
Joined: 11/23/2020(UTC)
Posts: 148
United States
Location: Wichita

Thanks: 9 times
Was thanked: 21 time(s) in 17 post(s)
If nothing else is presented I'd suggest you add a pair of triggers to your camera inputs that each call a script.

With a pair of simple scripts to log "On Transition In" and "On Transition Out" events to your own custom log file you can have log with entries for all camera changes. And with it being your OWN log file you wouldn't have to hunt for specific entries in a log full of various bits of information that ISN'T of interest.
DThompson55  
#3 Posted : Tuesday, June 6, 2023 6:49:09 AM(UTC)
DThompson55

Rank: Advanced Member

Groups: Registered
Joined: 9/30/2020(UTC)
Posts: 46
United States
Location: Manchester

Thanks: 9 times
Was thanked: 3 time(s) in 3 post(s)
Brilliant! Wish I'd thought of it.
nikosman88  
#4 Posted : Wednesday, June 7, 2023 3:20:37 AM(UTC)
nikosman88

Rank: Advanced Member

Groups: Registered
Joined: 12/24/2021(UTC)
Posts: 342
Greece
Location: athens

Thanks: 113 times
Was thanked: 52 time(s) in 49 post(s)
Originally Posted by: DThompson55 Go to Quoted Post
Brilliant! Wish I'd thought of it.

Hello. There exists this script https://forums.vmix.com/...or-commercials#post99914 that logs every active input in vmix so if you run it, it will create a txt file and timestamp the actual date/time that every change/active input changes in vmix.
The .txt/log file that creates will look like this
06/06/23 15:49:15 DeckLink Mini Recorder (1) 1
06/06/23 15:49:38 Intensity Pro 4K 2
06/06/23 15:49:43 DeckLink Mini Recorder (1) 1
but we also need to know the time at recording file starting from 00:00:00 when we start the record. So i modified this script to make the log records like this
06/06/23 18:59:28 00:00 DeckLink Mini Recorder (1) 1
06/06/23 19:01:20 01:51 C1_09
06/06/23 19:08:34 09:06 Intensity Pro 4K 2
06/06/23 19:09:15 09:47 C1_09
in this example i started the script by a trigger, the same time i started to record. So i know that i start record at 06/06/23 18:59:28 and here time for the recorded file is 00:00. When i changed to input C1_09 time was 06/06/23 19:01:20 and this time is 01:51 in the time recorded file. So i can find in the recorded file every change i made. Here is the modified script
Code:

''''''''''''''''
' Script von Mats Julian Steffens
' www.lvstrm.de
''''''''''''''''
'
' Log everything you are playing
'
''''''''''''''''
Dim dateinamealt As String = ""
Dim startTime As DateTime = DateTime.Now ' Προσθέστε αυτή την γραμμή

Do
    Dim datum As String
    datum = DateTime.Now.ToString("yyMMdd")

    Dim filename As String
    filename = "C:\vMix log\" + datum + "-vmixlog.txt" ' Τοποθεσία αποθήκευσης του αρχείου

    If (Not System.IO.File.Exists(filename)) Then
        My.Computer.FileSystem.WriteAllText(filename, " ", True)
    End If

    Dim timestamp As DateTime ' Αλλαγή στον τύπο δεδομένων

    timestamp = DateTime.Now ' Αντικατάσταση της γραμμής για πραγματική ώρα

    Dim xml As String = API.XML()
    Dim x As New System.Xml.XmlDocument
    x.LoadXml(xml)

    Dim activinput As String = (x.SelectSingleNode("/vmix/active").InnerText)
    Dim inputname As String = (x.SelectSingleNode("//input[@number=" + activinput + "]/@shortTitle").Value)
    Dim dateiname As String = (x.SelectSingleNode("//input[@number=" + activinput + "]/@title").Value)

    Dim inputnamelaenge As String

    If (inputname = dateiname) Then
        inputnamelaenge = 0
    Else
        inputnamelaenge = inputname.Length() + 3
    End If

    Dim inputString As String

    ' Γράψτε το αρχείο
    If (dateinamealt <> dateiname) Then
        Dim elapsedTime As TimeSpan = timestamp - startTime ' Υπολογίστε τη διάρκεια
        Dim duration As String = elapsedTime.TotalSeconds.ToString() ' Μετατρέψτε τη διάρκεια σε δευτερόλεπτα
        Dim minutes As Integer = CInt(Math.Floor(elapsedTime.TotalMinutes))
        Dim seconds As Integer = CInt(Math.Floor(elapsedTime.TotalSeconds)) Mod 60
        duration = String.Format("{0:00}:{1:00}", minutes, seconds)
        inputString = timestamp.ToString("dd/MM/yy HH:mm:ss") + " " + duration + " " + dateiname.Substring(inputnamelaenge) + Environment.NewLine
        Console.WriteLine(inputString)

        My.Computer.FileSystem.WriteAllText(filename, inputString, True)
        dateinamealt = dateiname
    End If

    Sleep(1000)
Loop
i hope this will help you
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.