Jump to content

LTC sync software


iter

Recommended Posts

Hi. I'm new here. I'm looking for feedback on an idea I'm developing.

 

I'm working on a free, open-source app that syncs files based on LTC. If you're familiar with Tentacle Studio or Tentacle Timecode Tool, my app addresses a similar need, but is cross-platform and free. I'm in early stages of development.  I am looking for feedback on how the software works in the real world, so I can focus my efforts on what works for real people.

LTCsync runs on Windows, MacOS and Linux. You can download a build for your OS from https://github.com/arikrupnik/ltcsync/releases/tag/0.1.1

Project home is https://github.com/arikrupnik/ltcsync
 

LTCsync-screenshot.png

Link to comment
Share on other sites

54 minutes ago, Constantin said:

Is there a particular reason why you want to offer it free? 

Apart from spoiling it for everyone else who sells software, I tend to mistrust free software. 

 After all there are many discussions in this group about how we should not work for low rates

 

It is open source and completely accessible on Github. I already forked it and checking it out. Promising project.

I tend disagree with you on the sort of negativity you have regarding "free" software (I actually do not like the therm free, I rather call it, in this, and a lot of other instances, open source). As a coder myself I like the ability that one could fork these projects and reuse them, or turn them into something with personal preferences. The Swedish and Dutch, UK (BBC) broadcasters actually make most of their software development open source, great projects came out of that and currently being used all over the world in high critical jobs. 

Link to comment
Share on other sites

Were you thinking this would be a stand-alone app, or an add-on to.....which app?   If I have a bucket of (very large) picture files (with TC) and another bucket of sound files with TC, your app would sync them up and then output what?   Or are you adding the audio to the soundtrack of the picture files?  How will you handle sound files of more than 2 channels?   Will the location audio metadata be retained in the output files?

Link to comment
Share on other sites

10 minutes ago, Philip Perkins said:

Were you thinking this would be a stand-alone app, or an add-on to.....which app?   If I have a bucket of (very large) picture files (with TC) and another bucket of sound files with TC, your app would sync them up and then output what?   Or are you adding the audio to the soundtrack of the picture files?  How will you handle sound files of more than 2 channels?   Will the audio metadata be retained in the output files?

If I my answer that for topic starter (I just ran the app, and checked the source): For now it is just taking LTC-audio, not looking at meta data, so (not yet) really suitable for our kind of workflow. 
 

@iter I see the use of the (GNU) LiblTC library in the project, which is capable of meta data handeling.  I toyed around with it in combination with the CLI tools; https://github.com/x42/ltc-tools .

 

26 minutes ago, Philip Perkins said:

your app would sync them up and then output what? 

It is not doing anything as of yet, other than looking up if there are similarities (matching TC) in multiple files. See this as an alphaALHPA ALHPA!! stage of the software. But from there on one could easily pipe the result into an (i)XML file that one could import into an NLE or DAW. 

 

Link to comment
Share on other sites

1 hour ago, Constantin said:

Apart from spoiling it for everyone else who sells software,

 

:-) You mean, me.

 

There is nothing wrong with open source, but I agree, there is no such thing as 'free'.
But do not mix 'free' with 'open source', it's really different.

 

 

Link to comment
Share on other sites

48 minutes ago, Vincent R. said:

easily pipe the result into an (i)XML file that one could import into an NLE or DAW. 

Define 'easily'

Have you done this yourself? It is NOT easy. (At least not for me or I've done this already.)

 

Link to comment
Share on other sites

5 minutes ago, Bouke said:

Have you done this yourself? It is NOT easy. (At least not for me or I've done this already.)

 

From the point that offset is determined I would say that it is relatively easy yes. So assuming we take the software of topic starter as the in-point for an XML, we have the parameters for the offset of the files, and one can calculate from there. So, the parameters should be something like this:
      

<timebase>25</timebase>
 <in>0</in>
<out>26952</out>
<start>531</start>
<end>27483</end>

 

So, in above example, the START, is the offset number from the start file that has the LOWEST number.  
And obviously to comply with it all the standards regarding how an XML get properly accepted by the NLE, loads of tags should be added to the whole XML file. 

So yeah, a couple of hours/days (bit rusty myself) work but looking at the code and source from topic starter the gist of it is in what's already been done there.
 

Link to comment
Share on other sites

Dude, have you ever looked into the mess of PP / FCP XML on synced clips?
I can give you the offsets on a silver plate with my own software (you know about my LTCconvert I assume), but that does not make for an easy XML.

 

If you can do that in a couple of days, name your price and I'll pay.

 

 

Link to comment
Share on other sites

Just now, Bouke said:

Create an XML to populate a bin for PP / FCP with a video and audio file to sync up.
Can you do that?

  

If your software can give the right (offset) parameters, yes, and so can you.  I really think we are talking/writing past each other now;
As far as I am familiar with the XML standards as being used for NLEs, the file is pretty self explanatory as what is needed for the NLE to get accepted, put it in a bin and make a timeline with the aligned content. 

 

Background (about me) why I say it is "easy" (I mean, it can be done without that much hassle): 
The last time I had to make a tool for something like that (back when I was a full time programmer at a tv station) was for an experimental piece of software we used to send over regional news items across the Netherlands over intranet (dedicated lines between the networks). Online we you could do "basic editing", MEANING: we could put in time stamps and that was it, very rough, this was like 2003/2004, nothing like browser based editing as we can do now. The software then wrote a simple XML file, so the software on the "server side" would just send over the pieces that was needed. Again it was, 2003/2004 so, most NLE's at the time just accepted EDLs if I remember correctly, so not so "sophisticated" as now. But my point is; we got the parameters from the files, calculated the offsets, and wrote it to an XML file, that the server recognised as the cutting points for the files (basically what this what we are talking about here is, all numbers from a base point) and instead of lining it up in a time line, it exported the smaller segment, bandwidth was precious these days...

So fast forward, if I look at a "timeline" XML file with references to bin files, with references to source files on a local storage, it looks exactly like that; all the info is in the offset times, the rest is crap that is already there/known, or in the compliance/requirements of the NLE. 

Link to comment
Share on other sites

Ok,

Put your money where your mouth is.

Send me a video file, an audio file with an offset of X, and and XMLs that imports in PP and FCP.
(As synced clips, not as a timeline.)

Oh well, just the XML is good enough...

 

 

Link to comment
Share on other sites

Alright, I got it up to a synced timeline, I think I miss some parameters but apparently its not that important, because it imports fine at Premiere Pro CC (only NLE i have to check out on my laptop now). As you can see it is straight forward; you line out the media, give it all proper names (was not creative with naming, I know) and set an offset in a timeline. The audio file I worked with, I gave an start timecode of 00:01:00, hence it starts one second later. The video file starts at 00. 

You mention synced clips; I don't know if that is possible with XML, you can off course make individual timelines for all individual clips. If you have a SDK or online reference to that I could easily change some parameters I guess.

 

Zip to download:test.zip

 

 

Oh and my indentation is a bit wonky, I said before, I am rusty at coding 😁

Link to comment
Share on other sites

5 hours ago, Vincent R. said:

 

I tend disagree with you on the sort of negativity you have regarding "free" software

 

Yes, maybe I spoke a bit hastily and too negatively. I am wary of free software, but open-source would be a different category. 

Still, there already is software that can (probably) do this already, not just Bouke‘s but others, too. So what exactly is the intent here? What is missing from the other apps that you want to address here? 

 

 

36 minutes ago, John Blankenship said:

While I utilize time code on a regular basis, I haven't used LTC (Longitudinal Time Code) for a few years now.

 

 

 

I just used it today, feeding a Blackmagic camera that doesn’t have a tc reader onboard

Link to comment
Share on other sites

8 minutes ago, Constantin said:

Still, there already is software that can (probably) do this already, not just Bouke‘s but others, too. So what exactly is the intent here? What is missing from the other apps that you want to address here

In general, if there is an open source base, one could continue development on top of it. So yeah, maybe what topic starter wants is already out there, or not, someone else can continue developing on top of it, and integrate the source code in a complete "unique" solution. I can fork it, and extend it with some features I NEED specifically for example. So personally I see it as a "framework". 

Link to comment
Share on other sites

Wow guys, thank you for the feedback. My worry was that no on would be interested, but instead I get a whole discussion!

 

@Constantin: indeed, there is no such thing as a free lunch. I am developing a hardware timecode generator. It's a little early to talk about it, but the basic idea is that it takes public radio signals from satellites in orbit to generate very precise time that never drifts. To make it easier for potential users to adopt my hardware, I am developing my own software utility. Hardware costs a lot of money and time to develop, so in the first instance I'm testing the market with software. As @Vincent R. is pointing out, my app builds on other open-source software, so I'm making it open source as well. I don't think of it as undercutting prices--more like sending the elevator back down. I've used a lot of open-source software in my career, and I want to contribute back to the community.

 

My long-term hardware plans notwithstanding, I want LTCsync to be a useful tool with any vendors' code. There are some excellent products on the market, and I hope people will continue using them. Even if I never end up shipping hardware, or if my hardware fails in the market, I want the software to be useful to people who have to sync. As Vincent points out, making the source available allows others to adapt the program to their use.

 

@Philip Perkins: your questions are exactly the questions I have. I want to hear what people find useful in the real world, so I don't waste my time on useless features. As it stands now, the app is standalone. It is possible to make it into a plugin for Premiere or Final Cut, but that's a lot of work and impractical for now. As a standalone app, it can do any of the things you describe, plus a few others. My initial idea was to generate synced copies of original files (e.g., take the video stream from the camera file, take teh audio stream(s) from the sound recorder, minus the LTC track, and combine that into a single file). One objection I hear is that it takes a log time (it does) and it fills up your disk (it does). Of course it also doesn't work for multi-camera setups. I'm curious how people here feel about these drawbacks, and if they have other preferences for output. To answer your other question, yes, I can deal with any number of channels in an audio stream, and any number of streams in a file. Try it!

 

@Bouke: thank you for your feedback. I never expected to hear from you, and so quickly! It's a very small market. I don't want to step on your toes. You have many loyal customers who will continue to use LTC Convert, and I think they should! Your software is much more elaborate than mine and has many features which I probably don't even understand--much less am able to replicate. My big constraint is that I can't tell my hardware customers, "Thank you for giving me your money. Now give more money to Tentacle or Video Tool Shed for software." And if I'm going to write a utility for them to use, I can't afford to write it from scratch--it will be full of bugs. So I'm going to have to base it on open-source libraries, and in turn make the utility open-source... But I think in general you and I are trying to address different market segments. I'm targeting more of the entry-level, first-time users who are just learning about timecode and sync. This said, if there's anything I can do to be a better neighbor, please let me know.

 

@Vincent R.: Thank you for your enthusiasm! I am developing on Linux, so it's extremely helpful to have someone use the software on a Mac. It looks like you were able to build the Electron package on your machine. That's wonderful! I am looking for more feedback on what works and what's broken. I agree with Bouke that the general case of generating Adobe/Apple XML takes more than a couple of days. It is clearly possible to do, but would take a little more effort. Part of the reason is that their XML formats are so complicated in the first place. If I could generate my own XML, for my own NLE that understood my format, I could do that in half a day :=) So for now, I'm trying to understand what the most useful/cheapest output solution is for right now.

 

Ari.

 

Link to comment
Share on other sites

Hi Ari,

 

No worries, I'm not as closed / afraid as eg Tentacle. And there are very little small developers left. (I once tried to have a bunch of us cooperate, to make the sum larger than the parts alone, but that failed sadly.)

 

What I don't get, why would you participate in a race to the bottom?

Tentacle shook up the market, I think it would be very difficult to earn some money here. Software development is relative cheap, hardware not so...
Did you spend some time surveying the market?

 

 

Link to comment
Share on other sites

Thank you, Bouke.

 

I know a lot of people who use Tentacles. It's a good product. It takes an esoteric area of production and makes it accessible to anyone. It reduces the amount of manual labor that goes into producing film. I like that.

 

I think my understanding of the market is different from Ulrich and Max's. They have the benefit of experience, so it's very likely that their understanding is correct. What I see is a golden age of indie film. Anybody can own a camera now, and produce content. So if you're willing to work with people who are new to film, it's a growth market. It's as hard as ever to sell a $100,000 camera. But the market for $1000 cameras is booming. I believe same is true of peripheral equipment like timecode. Posting here, and asking for feedback on my work, is one way I'm trying to test my hypothesis.

 

I'd like to hear more about your ideas for cooperation. You can email me ari [at] dish.tc

Link to comment
Share on other sites

  • 4 weeks later...
12 hours ago, iter said:

Bill Bennett tweeted about Dish.TC hardware:

 

Hi Iter,

 

Is Dish your product?

Reading through the FAQs i had to chuckle at this:

What's the problem with telephoto lenses?

For sync by sound, basic physics. Sound travels much slower than light. Speed of sound is 1,125 feet per second. During a single, 30fps frame, sound travels 1125/30=37.5 feet. If your boom mic (or lav) is on the talent, and the camera is 40 feet away, you're out of sync by a whole frame. This comes up all the time when filming public speakers. If your camera is in the back of an auditorium, its audio is several frames behind the master track.

Link to comment
Share on other sites

So, I‘m curious: what do you think are the advantages of gps sync?

 

also: 

On 4/29/2019 at 2:14 PM, daniel said:

During a single, 30fps frame, sound travels 1125/30=37.5 feet. If your boom mic (or lav) is on the talent, and the camera is 40 feet away, you're out of sync by a whole frame.

 

How many feet does light travel during one frame? Because, you know, the boom is not 40 feet away, the camera is. 

Link to comment
Share on other sites

On 4/29/2019 at 7:14 AM, daniel said:

Is Dish your product?

 

Yes, Sir.

3 hours ago, Constantin said:

So, I‘m curious: what do you think are the advantages of gps sync?

 

Thank you for asking. I don't care about GPS per se. I want a sync system that anyone can operate. I want a system I can hand out to camera ops and not have to babysit them. I want a system that's literally plug-and-play. To keep multiple devices in sync, I need a master clock and a radio transmitter. Conveniently, the US, Russian, European and Chinese governments have put very accurate clocks in orbit and outfitted them with powerful transmitters. I'm simply taking advantage of that.

 

3 hours ago, Constantin said:

How many feet does light travel during one frame? Because, you know, the boom is not 40 feet away, the camera is. 

 

About 32,786,667, which for practical purposes is infinite. The boom being 40 feet away from the camera is exactly the problem if you're syncing by sound. Pluraleyes will align the two clips so that sound on the camera mic and the boom mic are in sync, but the camera sound starts out a frame behind the video. This is assuming the boom is plugged into a separate sound recorder. If the boom is wired directly into the camera with a 40-foot cable, you don't need to sync anything--your video and audio are already in the same file.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...