-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DV/HDV Metadata Reading, Chaptering & Splitting by Creation Date Code. #1664
Comments
Thanks for your request. I believe DV isn't really a widely used code/format these days, so unless this can be done easily (TBH I don't even know how to implement any of these features), then I don't think it will ever be implemented in LosslessCut. If you have any sample code showing how to read these 3 kinds of data, that could be a start. I'm closing this for now, but I can reopen if more information becomes available. |
Its still widely used for consumers in developing nations well the HDV 25p/29.97p spec is still very alive alongside DVCPro etc, but its all the same metadata wise, not to mention its been used by consumers for both production and a backup format since the late 90s now people are migrating 20GB tapes to 25GB archival optical discs (M-Disc for example) its a very popular codec for family archives and this problem is also a very popular one. Media Info can read the date code and time code metadata, the issue is just finding the sub-clip markers in the header information of each file begginng for splitting which might be possible to detect by sub-code timecode change. DVPackager is what DVRescue has as its tool if this helps. |
Could you provide the exact fields from MediaInfo that need to be extracted, and how to turn them into segments (start/end times)? MediaInfo isn't yet integrated into LosslessCut, but I've added the feature request to the MediaInfo feature request, as it depends on that: #1649 |
Example Readout from a sub-clip.
Fields of intrest are for example:
&
|
As for "how to turn them into segments (start/end times)" Thats the big question, each scene/segment or more accuractly sub-clip only has record date metadata in the stream but it has to be read, if the applicaiton could scrub the entire file for such markers then apply them to frame accurate chapter markers it could work. DV Analyser provides a readout like so (I'm an idiot this exports a standard marker XML for Final Cut so that can be easily intergrated for chapter markers...)
|
Here is some sample data of the export it provides. FCP7_Interchange.xml.txt (rename to .xml) |
@mifi I've amended my request as setting chapter markers for splitting is actually feasible, as absolute frame information is provided by DVAnalyse, I can provide sample files if need be for testing? |
Cool. The only problem is that mediainfo.js doesn't seem to contain DVAnalyser. And I cannot find any native node.js bindings (gyp) wrapper around MediaLib/DVAnalyzer. Do you know if it's possible to get DV analysis output from MediaInfo alone? If not, then probably someone has to either:
not sure how this works, because
not sure how this xml data would be transformed into segments. You can see here an example of the FCP XML files that losslesscut currently supports: If you can provide a DV file, yes that would be helpful |
I have emailed you the file I was using to make the above DVAnalyse files, can make more media on request. MediaInfo sadly only reads whatever is presented first in the stream header order so the first clip is all thats shown, there is no deeper probing modes I have found. I think supporting the By_Frame.txt would be easyer to use for marker import no? I'll make a issue ticket over on MediaInfo too and see if that goes anyware, as this is a pretty useful thing someone should notice. |
I doubt they would want to integrate DVAnalyze into mediaInfo, seeing they already implemented as a separate tool, but it could be worth the try I guess..
losslesscut could implement a custom parser/import format, yes, that would be much easier. It's still not obvious to me how to convert By_Frame.txt into a list of segments (start_time, end_time, label) though. And what's the difference between By_frame.txt and Summary.txt ? and which one should we allow importing. Also I see that by_frame.txt has a LOT of data, and I think 3000+ segments could be too much for losslesscut to handle. |
Ah I see now so By_Frame.txt also has the error log reporting on the frame/audio sample level dropouts mostly these are non-noticeable in real world unless it takes out a whole row of frames and you get a blocky looking segment etc. Summary.txt is accurate to the start stop time information so that would be the priority for practical use though embedding the outher info inside the exported clips i.e an mkv would not be a bad idea but non-critical. |
I've implemented a DV Analyzer Summary.txt importer, will be included in the next version! |
Whoooo! thats wonderful to hear! Now can we have automatic naming of segments by recorded date field? (then this is perfect) |
Would it be possible to format it to only use start date so segment output is like |
yes that makes sense. will also add each time value as tags, so they can be used in the output file name template like so:
|
That is very helpful, sadly unlike digital kit today it does not embed the camcorder ID but we cant have everything 😂 I was wondering if I could get a test Windows exe or Linux deb to play with the new import feature? thanks! |
you can try github action artifact, shoul be fixed now, see #1673 |
I have a lot of issues to go through, so in order to make it easier for me to help you, I ask that you please try these things first
Description
Digital Video or more accuractly "DV" from MiniDV tapes can be captured as one constant stream to a
avi
for example instead of breaking by clips todv
ormov
containers etc ready for muxing to mkv/flac for archive.This practice of single file capture causes issues of you lose date codes of each segment media info only shows the first clips information there is no chaptering etc, old tools like DVdate exist however don't have universal system support and fails as it does not read the ancillarily stream data properly, however all the time data is in the stream.
Funny enough I use this tool for both splitting large OBS files and muxing audiobooks to chaptered single files and this feature has only just occured to me how useful it would be.
DVRescue have a simmler tools to split files however this is very unreliable.
Feature Request
The text was updated successfully, but these errors were encountered: