Markers like label track in Audacity

I see that “markers” is on the SC roadmap and I also read a couple of posts about desired usage of markers (inlcuding the recent add-on)

Not knowing what is actually on the roadmap in detail here is a use-case which I would find useful:
For more complex audio I like to get all audio cutting and mixing done in Audacity, ending up with a final audio track with several labeled markers indicating where I would like to have my video transitions.
It would be great if there was a way to import a simple text file into SC (Audacity has start time, end time and label text, on one line per marker) that appeared in a separate track in the timeline, like the label track in Audacity. Ideally it would allow to jump back and forth between the markers for easier navigation.
The track itself would be ignored by any video/audio processing, except cut/trim where the usual ripple (or not) rules would have to apply.

I’d be curious to understand to what extent this scenario may be covered by the current plans.

1 Like

I have started some preliminary design work on the first iteration of the markers feature. For the first iteration, it will only be available for the timeline.

I had considered to create a “meta” track for markers, but there are a couple of obstacles that I did not want to clear:

  1. Creating a new kind of marker track would require a lot of changes to the underlying MLT framework that I do not want to make.
  2. In my design, markers can be instantaneous, or they can have a range (start and end). If the markers are in a track, markers with a duration would not be able to overlap.
1 Like

A “meta” track for markers was what I have in mind. Thanks for sharing your considerations and limitations. I’m looking forward to checking out an implementation :slight_smile:

So does that mean that the markers cannot be added to the clips themselves?

Also, can the ability to add notes to each individual marker be included? Notes which can be viewed by hovering the mouse over it and also opening a small window of some kind for more info and options?

And will a choice of different colors for the markers be made available?

Just throwing a few ideas and expanding on this: I was thinking a quick and easy way to mark clips on timeline would be to be able to change the color of a particular clip OR the clip label (I mean the filename that appears on top) background color to a set of maybe 5 predefined colors? (I’m thinking some red to green or some set of primary colors, similar to the basic 5 star rating in many image apps, to quickly assign a grade/tag to a clip - this would be the main use for me, to mark a clip as “needs editing/trimming”, “needs color correction/filters” or “finished”).

The filename area could also be replaced by a label or tag (if this is possible by design? adding a new string field and always using that instead of the filename if not null/empty).

Of course, this would limit everything to clip boundaries, for arbitrary timestamps I would say we’d need the concept of an “empty” clip (I remember this from the Blender 3D application, where you could add this Empty in the world as a valid object and interact with it just as with any other object, but it had no actual visiblity or presence in the scene/render, it was just used as a helper to relate or link stuff). This clip could then be placed and resized on a track and follow rules just as any other clip (I mean the ripple/trim/copy logic), this combined with the above note on clip filename as a label (and even color if possible) could act as quick markers in the timeline. The overlap issue mentioned by Brian above would still need to be treated somehow, not sure how much special this kind of “empty clip” can get.

That’s not what I meant by adding a marker on a clip. Adding a marker on a clip is to mark a specific moment/frame within that one clip. What you’re talking about is labeling/tagging/flagging clips.

The filename can already be changed right now by pressing F2 on a selected clip. So if a tag or flag feature were to be added it would make sense for it to be in addition to the filename not to replace the filename.

1 Like

Probably not in the first release

Yes

Yes

@brian , Resolve has 16 colors to choose from for markers:

Can Shotcut have that amount?

Also in Resolve, it has this feature that when you manually move the playhead with the arrow keys or the mouse right on top of a marker, the description of that marker will appear in a box on the upper left hand corner of the player like this:

Can that be possible in Shotcut?

Shotcut roadmap has markers mentioned already on number 4, but I am not sure if it would have color choice, So you should wait for it.
I do not know about that box that appears, maybe it would come with markers or maybe not.

https://www.shotcut.org/roadmap/

@Ar_D, I directed my post to @brian. That’s why I tagged his name at the start of my post. :slightly_smiling_face:

1 Like

Ok.

Thanks for this helpful new feature in this terrific software.

Audacity has the capacity to import labels from a csv, and then export individual mp3s based on the label. I use this very frequently, for example to get mp3s of individual songs from a two-hour practice session that is recorded as a single file. I would like to be able to do something similar in Shotcut.

Is this an available or planned feature for markers in Shotcut?

I want to note the marker in and out times in an external file, import them, and then export each marked clip. As of now, it looks like the only way I can do this is to set a marker range for the clip I want, and then export from that named marker, rather than having a batch process that would export all marked ranges.

Thanks in advance

Richard Males
Cincinnati, Ohio USA

1 Like

Not available, and not currently planned. But something could be implemented if there is enough demand.

I am not sure why this workflow would have to use markers. If you have a file that lists in/out points, it could just be implemented as a batch export feature. Or maybe there is some reason it would need to use the markers?

Thanks for the rapid response. Although I have used shotcut very happily previously, I don’t have experience with the particular issue I am trying to solve.

No, I do not specifically need markers, it just appeared to be a helpful way of getting at things. I was not aware of the batch export feature, looked at it and it will absolutely do the job.

The question I have - you mention that ‘if you have a file that lists in/out points’. Where/how do I import that file and what format is needed? I did a search but couldn’t find anything.

My intended workflow is to view the video and externally mark the individual clip start and end times. I would then import these times, do whatever process is needed to get these as separate clips, and check that I have all the clips identified as I wish. I could certainly develop the clips directly in shotcut, and then use procedures as outlined in

but I would like a repeatable batch process to fine tune as I need. I am not wedded to any particular approach, so if you have something else to suggest, I will pursue it.

See Export > From = Each Playlist Item. That implies using the Playlist instead of Timeline. However, the export file name is not very controllable. Basically, you give it a name, and Shotcut adds a number into it, and they all get named the same but with a number. You can rename them afterwards. Now, let’s say you want to automate or like import something. The way to do that is XML - MLT XML specifically, which is Shotcut’s project file format. The easiest way to get going is by example. Open Shotcut, set your Video Mode, add some files to the playlist, save, look at the project file in a text editor, and study it. Maybe you can use a tool to craft it. Or, maybe you can make some templates where you find and replace with your data. Alternatively, if you want to go deeper, you can use the melt command line, and there are docs for the XML, and even the API and scripting languages here:
https://www.mltframework.org/docs/

Thanks for the suggestion, getting there but not there yet.

I created a Python program that reads an Excel file of start/end points and range labels, it creates xml in the format needed for the markers portion of the xlt to create named marker ranges. I cut and paste that into my mlt, all the markers now appear. Each is listed individually on the export from timeline. I was expecting the export to use the marker name, it does not do so, just uses the mlt filename prefix.
So:

  1. suggestions as to easiest way to get my exports with the least manual work, now that I have every range marked and labeled? Now that I have everything labeled, I could manually fairly easily create a clip for each range, get it into the playlist, but as I have 50 ranges, still a fair amount of work.

  2. way to get the export to use the marker name if I have to manually export each marker range from the export from range ?

Thanks, happy to share my hacked together code and spreadsheet if anyone is interested (first time working with xml)

If you can do all that you can just write a script to export whatever you want from a project and renders to a file name of your own choosing without involving the Shotuct UI. It would simply call the melt executable from the Shotcut install (same as Shotcut does, see its log). You simply need to learn more about putting encoding options on the command line instead of into XML as Shotcut does. Even the export from each playlist item does not let you control the full name. Maybe eventually we will have some more file naming options, but it is very low priority. Yet another solution is to rename the files after exporting.

Thanks. I spent some time looking into melt, the command line options, and what shows up in the temporary mlt (whuch, on my Windows 10 machine, disappears as soon as I close shotcut). In the end, building a batch file with all the required information looks to be too much effort for now. Using the export marker in the UI for each individual marker range and naming the file to be consistent with the marker name, even though it is a manual process, solves my problem for now. I will look further into the melt command line options at some future time. I am quite happy with the process I developed to import marker ranges, which ultimately simplified the effort sufficient for my needs.

I did see that the in and out points are in frames where I have been using the time code. I did not find a direct transformation from the time code to the frame number, it did not seem to work exactly assuming 25 fps, as compared with what I see in the shotcut log for the in and out points for the marker range.

So the net of it all is that I have learned a good deal about shotcut, built a useful tool, and have a procedure in place the next time I need to do something similar. I appreciate all the help.

quick hint:
/path/to/melt /path/to/project.mlt in=<start> out=<end> -consumer avformat:/path/to/output.mp4
followed by additional encoding options as space-delimited name=value pairs at the end of the command line. You can get these options by exporting something in Shotcut, right-click the export job, view the XML, and look at the <consumer line near the top.

Thank you, that is a very useful example, much appreciated.

IMPORTANT: it appears that exporting a marker uses the next marker range. That is, if I have Marker1 and Marker2 in my export marker list and select Marker1, it exports the range associated with Marker2. I have checked this a couple of times and have verified that the label and range for each marker on the timeline are correct. Is this a known problem? This would, I think, explain the problem I was having in verifying the in and out frame numbers to the timecodes.