lisamelton / other_video_transcoding

Other tools to transcode videos.
MIT License
549 stars 25 forks source link

Option to omit metadata? #20

Closed zb140 closed 3 years ago

zb140 commented 4 years ago

Thanks for a great tool! I just recently discovered it after using the old transcode-video for a long time. It's working well so far, but I have run up against one pain point and I wonder if there's a way to make it better.

Many of my rips have metadata tags in them that I would like to keep in the original but not copy to the transcoded version. transcode-video seems to do this by default (I suspect as an "accident" due to the way Handbrake works), but other-transcode preserves them in the transcode. Is there (or could there be) a way to omit tags from the newly transcoded file? I know I can remove them as an extra step after the transcode finishes, but that requires a remux which can take a surprisingly long time.

lisamelton commented 4 years ago

@zb140 Thanks for using my tools and I'm glad they're working well for you.

What metadata and which tag is the problem?

BTW, the only metadata that other-transcode explicitly copies are audio track titles, but only if they're added by name, and subtitle track titles. Any other metadata being copied over is likely a behavior of ffmpeg itself.

zb140 commented 4 years ago

Sorry, I should have been clearer -- I'm sure you're right that ffmpeg is copying the tags over by default. The tags I'm talking about are custom tags I added when ripping that help some scripts I use to manage my library. So I certainly wouldn't expect other tools to know anything about them :smile:

Handbrake (and thus transcode-video) seems to omit them by default. ffmpeg seems to keep them, but I can explicitly remove individual tags with something like -metadata:s:v:0 x-whatever= or all tags with -map_metadata -1. So I guess what I'm really asking is, would you ever consider adding a mechanism I can use to tell ffmpeg to leave tags out?

lisamelton commented 4 years ago

@zb140 A stream-specific option is too complex, not to implement but for most users to understand. And something like a --no-metadata option would disable all useful metadata. That's how adding adding -map_metadata -1 to your ffmpeg command line works. It's all or nothing.

And this whole destructive behavior would only be necessary for a very narrow use case.

So, I'll consider it but I'm not inclined to add this feature. So fair warning that the answer will likely be "no."

BTW, there's no need to completely remux and replace your output to remove these tags. You can simply modify your output using mkvpropedit. I do that all the time myself. Let me know if you need help crafting the proper command for that. You can then simply add it to a wrapper script or your batch file, if you use one.

zb140 commented 4 years ago

That's fair. I get that my use case is not common. Where the pain comes in for me is that the write performance of the system I'm doing this on is, frankly, garbage :smile: I just tried a plain vanilla cp copy of a ~40GB Blu-ray rip and it took over 5 min.

Having said that, it does look like mkvpropedit can solve my problem. I've definitely tried it before and I don't remember why I gave up on it, but just now I was able to both add and remove tags instantly. And since the performance was the reason I wanted to be able to transcode and remove the tags at the same time, it looks like my problem is solved. Thanks again!

lisamelton commented 4 years ago

@zb140 Sorry I took so long to respond. I've been AFK for most of the afternoon and evening.

I'm glad mkvpropedit worked so well for you! It's almost magic for editing metadata and yet another reason why MKV and not MP4 is the default output format from other-transcode.

I'll keep this open for awhile longer to see if anyone else comments.