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

Feature request: Preserve metadata after conversion. #345

Open
Malko29 opened this Issue Sep 28, 2016 · 26 comments

Comments

Projects
None yet
@Malko29

Malko29 commented Sep 28, 2016

Hi, can we get a enhancement in handbrake for preserving the metadata after converting videos.
Most of the time I have to use ffmpeg with map_metadata to preserve metadata. And it is not user-friendly.

Is there any possibility in handbrake?

@sr55 sr55 added the Enhancement label Oct 2, 2016

@sr55

This comment has been minimized.

Show comment
Hide comment
@sr55

sr55 Oct 2, 2016

Contributor

While there isn't any interest in adding a really good meta data UI, passthru may be an option. We can disucss and decide later. Right now we are concentrating on getting 1.0 out the door.

Contributor

sr55 commented Oct 2, 2016

While there isn't any interest in adding a really good meta data UI, passthru may be an option. We can disucss and decide later. Right now we are concentrating on getting 1.0 out the door.

@jstebbins

This comment has been minimized.

Show comment
Hide comment
@jstebbins

jstebbins Oct 5, 2016

Contributor

What additional metadata are you interested in?

HB already preserves title, artist director, composer, release date, summary, genre, description, and synopsis from any file demuxed by libav (so everything other than BD and DVD sources).

I've done some brief testing with mkv sources to verify no bugs have crept in. But if you see a problem with other source types, please let us know.

Contributor

jstebbins commented Oct 5, 2016

What additional metadata are you interested in?

HB already preserves title, artist director, composer, release date, summary, genre, description, and synopsis from any file demuxed by libav (so everything other than BD and DVD sources).

I've done some brief testing with mkv sources to verify no bugs have crept in. But if you see a problem with other source types, please let us know.

@sr55

This comment has been minimized.

Show comment
Hide comment
@sr55

sr55 Oct 6, 2016

Contributor

Not actually tested it. Does it require the metadata json block to be popualted? I don't do that at the moment.

Contributor

sr55 commented Oct 6, 2016

Not actually tested it. Does it require the metadata json block to be popualted? I don't do that at the moment.

@jstebbins

This comment has been minimized.

Show comment
Hide comment
@jstebbins

jstebbins Nov 2, 2016

Contributor

Sorry, I forgot to get back to you about this question. hb_job_init, hb_job_init_json and hb_preset_job_init copy the title's metadata into the job they create. So if you are initializing your job with any of these, the metadata should already be there.

Contributor

jstebbins commented Nov 2, 2016

Sorry, I forgot to get back to you about this question. hb_job_init, hb_job_init_json and hb_preset_job_init copy the title's metadata into the job they create. So if you are initializing your job with any of these, the metadata should already be there.

@bradleysepos

This comment has been minimized.

Show comment
Hide comment
@bradleysepos

bradleysepos Dec 29, 2016

Contributor

HB already preserves title, artist director, composer, release date, summary, genre, description, and synopsis from any file demuxed by libav (so everything other than BD and DVD sources).

I know the Linux GTK GUI has more metadata stuffs. Wondering if it's useful to add an option to preserve or remove additional metadata fields other than the above. For example:

|x| Title
|x| Artist
|x| Description
|x|

Other metadata:
  (o) Passthru
  ( ) Remove

Could also be a checkbox but the explicit nature of the radio control seems more suited for clarity.

Contributor

bradleysepos commented Dec 29, 2016

HB already preserves title, artist director, composer, release date, summary, genre, description, and synopsis from any file demuxed by libav (so everything other than BD and DVD sources).

I know the Linux GTK GUI has more metadata stuffs. Wondering if it's useful to add an option to preserve or remove additional metadata fields other than the above. For example:

|x| Title
|x| Artist
|x| Description
|x|

Other metadata:
  (o) Passthru
  ( ) Remove

Could also be a checkbox but the explicit nature of the radio control seems more suited for clarity.

@bradleysepos bradleysepos added this to the Unscheduled milestone Dec 29, 2016

@sr55

This comment has been minimized.

Show comment
Hide comment
@sr55

sr55 Dec 29, 2016

Contributor

Your close enough to just adding a MetaData tab to the GUI at that point.

I'm still on the shelf about that. I have been wanting to write a Subler clone for windows for some time though. Just not found the time.

I had thought about tight integration with the likes of Subler. I.e HandBrake could launch super pre-encode, store the info and let Subler tag it afterwords. So you get the Power of Subler, without writing much code.

Otherwise you'll end up with requests for connecting to various meta data websites, adding fields and all the other nice stuff Subler has anyway.

Contributor

sr55 commented Dec 29, 2016

Your close enough to just adding a MetaData tab to the GUI at that point.

I'm still on the shelf about that. I have been wanting to write a Subler clone for windows for some time though. Just not found the time.

I had thought about tight integration with the likes of Subler. I.e HandBrake could launch super pre-encode, store the info and let Subler tag it afterwords. So you get the Power of Subler, without writing much code.

Otherwise you'll end up with requests for connecting to various meta data websites, adding fields and all the other nice stuff Subler has anyway.

@bradleysepos

This comment has been minimized.

Show comment
Hide comment
@bradleysepos

bradleysepos Dec 29, 2016

Contributor

Your close enough to just adding a MetaData tab to the GUI at that point.

GTK has a tab for this. Fields are minimal, useful for clarifying what's happening and changing some very basic properties.

I absolutely agree we shouldn't get into tagging beyond this. My suggestion is to improve upon the GTK implementation with a catch-all for the rest of the metadata we don't plan to mess around with.

Contributor

bradleysepos commented Dec 29, 2016

Your close enough to just adding a MetaData tab to the GUI at that point.

GTK has a tab for this. Fields are minimal, useful for clarifying what's happening and changing some very basic properties.

I absolutely agree we shouldn't get into tagging beyond this. My suggestion is to improve upon the GTK implementation with a catch-all for the rest of the metadata we don't plan to mess around with.

@bradleysepos

This comment has been minimized.

Show comment
Hide comment
@bradleysepos

bradleysepos Dec 29, 2016

Contributor

I had thought about tight integration with the likes of Subler. I.e HandBrake could launch super pre-encode, store the info and let Subler tag it afterwords. So you get the Power of Subler, without writing much code.

Agreed, it would be cool if Subler had an API we could access programmatically.

Contributor

bradleysepos commented Dec 29, 2016

I had thought about tight integration with the likes of Subler. I.e HandBrake could launch super pre-encode, store the info and let Subler tag it afterwords. So you get the Power of Subler, without writing much code.

Agreed, it would be cool if Subler had an API we could access programmatically.

@bradleysepos

This comment has been minimized.

Show comment
Hide comment
@bradleysepos

bradleysepos Dec 29, 2016

Contributor

Screenshot of the GTK Tags tab:

handbrake-gtk-tags

Contributor

bradleysepos commented Dec 29, 2016

Screenshot of the GTK Tags tab:

handbrake-gtk-tags

@cortig

This comment has been minimized.

Show comment
Hide comment
@cortig

cortig Jan 23, 2017

I noticed that some of the field are properly preserved, but the cover art for instance is lost. Content and Advisory Ratings are lost too from what I remember.

cortig commented Jan 23, 2017

I noticed that some of the field are properly preserved, but the cover art for instance is lost. Content and Advisory Ratings are lost too from what I remember.

@mmattel

This comment has been minimized.

Show comment
Hide comment
@mmattel

mmattel Jun 11, 2017

When you create videos with a camera, a timestamp and GPS info is (most times) added.
It would be great if this can be preserved.

mmattel commented Jun 11, 2017

When you create videos with a camera, a timestamp and GPS info is (most times) added.
It would be great if this can be preserved.

@gregalex72

This comment has been minimized.

Show comment
Hide comment
@gregalex72

gregalex72 Jul 28, 2017

Is this likely to happen?

I'd love to convert my 1080i50 h264 content to 1080p50 while keeping timecodes (iMovie and Photos just blends it to 1080p25).

Actually... 1080i50 h264 converted to 1080p50 HEVC with timecodes will be a great conversion for the new Mac "High Sierra" in a couple of months.

gregalex72 commented Jul 28, 2017

Is this likely to happen?

I'd love to convert my 1080i50 h264 content to 1080p50 while keeping timecodes (iMovie and Photos just blends it to 1080p25).

Actually... 1080i50 h264 converted to 1080p50 HEVC with timecodes will be a great conversion for the new Mac "High Sierra" in a couple of months.

@martijnspaan

This comment has been minimized.

Show comment
Hide comment
@martijnspaan

martijnspaan Aug 15, 2017

Would be an awesome feature to preserve the meta data. When I convert my files on Windows 10, the new file has 'date created' and 'date modified' set to the day of the conversion. Would be great if it could have the creation date of the original file.

E.g. this stackoverflow post has a solution by using ffmpeg, so should be fairly easy to implement in Handbrake, which is already using it.

martijnspaan commented Aug 15, 2017

Would be an awesome feature to preserve the meta data. When I convert my files on Windows 10, the new file has 'date created' and 'date modified' set to the day of the conversion. Would be great if it could have the creation date of the original file.

E.g. this stackoverflow post has a solution by using ffmpeg, so should be fairly easy to implement in Handbrake, which is already using it.

@tmchow

This comment has been minimized.

Show comment
Hide comment
@tmchow

tmchow Oct 26, 2017

+1 for preserving some metadata. The key one, like @martijnspaan mentioned is the "date created" and "date modified". In particular, when I'm converting older family videos to conserve file space, I don't want to muck with the date modified so it imports into digital libraries correctly like Google Photos.

tmchow commented Oct 26, 2017

+1 for preserving some metadata. The key one, like @martijnspaan mentioned is the "date created" and "date modified". In particular, when I'm converting older family videos to conserve file space, I don't want to muck with the date modified so it imports into digital libraries correctly like Google Photos.

@StephKoenig

This comment has been minimized.

Show comment
Hide comment
@StephKoenig

StephKoenig Feb 3, 2018

+1 for preserving meta as well...

I think use cases described above are leading the developers into considering (then obviously discounting) a full meta data editing tab. This is obviously a chunk of work. There's plenty of 3rd party tools to do this already for things like commercial movies etc.. MetaX for example happily adds film meta mkv/mp4 alike.

Also HB isn't just for (commercial) movies, I use it extensively to shrink family movies made on inefficient cameras - where the difference between 264 quick saved on a battery/processor limited camera to 265 can be huge. In this use case it's incredibly important to preserve the metadata already created - geo, time date, aperture, white balance blah blah blah because there's no way to add them back (easily) afterwards without laboriously saving them and then re-adding them.. cloud image/video libraries such as google photos/flickr etc largely do their magic because they can use this meta data very effectively for albums, image processing and improvement etc.

So simply preserving meta data (either added before hand for movies via something like metaX or embedded by cameras first hand) would be ideal and not as much work as a full meta data editing tab with all the error checking etc that would involve.

+1 for preserving meta as well...

I think use cases described above are leading the developers into considering (then obviously discounting) a full meta data editing tab. This is obviously a chunk of work. There's plenty of 3rd party tools to do this already for things like commercial movies etc.. MetaX for example happily adds film meta mkv/mp4 alike.

Also HB isn't just for (commercial) movies, I use it extensively to shrink family movies made on inefficient cameras - where the difference between 264 quick saved on a battery/processor limited camera to 265 can be huge. In this use case it's incredibly important to preserve the metadata already created - geo, time date, aperture, white balance blah blah blah because there's no way to add them back (easily) afterwards without laboriously saving them and then re-adding them.. cloud image/video libraries such as google photos/flickr etc largely do their magic because they can use this meta data very effectively for albums, image processing and improvement etc.

So simply preserving meta data (either added before hand for movies via something like metaX or embedded by cameras first hand) would be ideal and not as much work as a full meta data editing tab with all the error checking etc that would involve.

@bradleysepos

This comment has been minimized.

Show comment
Hide comment
@bradleysepos

bradleysepos Feb 3, 2018

Contributor

I don't think we have any objection to preserving (passing through) existing metadata, just haven't implemented it extensively yet. IIRC there was a patch on our old ReviewBoard to preserve more than we do now, but it's likely far out of date by now.

Contributor

bradleysepos commented Feb 3, 2018

I don't think we have any objection to preserving (passing through) existing metadata, just haven't implemented it extensively yet. IIRC there was a patch on our old ReviewBoard to preserve more than we do now, but it's likely far out of date by now.

@flin-zap

This comment has been minimized.

Show comment
Hide comment
@flin-zap

flin-zap Feb 17, 2018

Where's the code that requires the changes to preserve say the created date? Is it inside libhb or the c# solution?

Where's the code that requires the changes to preserve say the created date? Is it inside libhb or the c# solution?

@misterbridge

This comment has been minimized.

Show comment
Hide comment
@misterbridge

misterbridge Mar 31, 2018

So it that going to happen anytime soon ? Such a needed feature, that would really be amazing !
Great job on the tool, it is awesome.

So it that going to happen anytime soon ? Such a needed feature, that would really be amazing !
Great job on the tool, it is awesome.

@sr55

This comment has been minimized.

Show comment
Hide comment
@sr55

sr55 Mar 31, 2018

Contributor

It's not high up on anyone's todo list, sorry.

Contributor

sr55 commented Mar 31, 2018

It's not high up on anyone's todo list, sorry.

@diegoteliz

This comment has been minimized.

Show comment
Hide comment
@diegoteliz

diegoteliz Jun 13, 2018

What about approaching this in 2 phases?

Phase 1

Preserving "date created" and "date modified" (for all those who are converting older family videos to save space).
Since HB already preserves some other metadata, it doesn't seem to be too complicated to implement (?)

Perhaps a checkbox under Preferences\Output files:

  • Keep original file Creation and Modification dates

Phase 2

Adding a MetaData tab to the GUI for additional values (or a similar solution)

What about approaching this in 2 phases?

Phase 1

Preserving "date created" and "date modified" (for all those who are converting older family videos to save space).
Since HB already preserves some other metadata, it doesn't seem to be too complicated to implement (?)

Perhaps a checkbox under Preferences\Output files:

  • Keep original file Creation and Modification dates

Phase 2

Adding a MetaData tab to the GUI for additional values (or a similar solution)

@sr55

This comment has been minimized.

Show comment
Hide comment
@sr55

sr55 Jun 13, 2018

Contributor

This issue is about retention of container metadata, not filesystem metadata.

All I can suggest is you create a small powershell script that gets executed using the "When Done" feature in preferences. Stackoverflow has examples of how to set filesystem metadata this way but it's not something i'd recommend doing in the first place.

Contributor

sr55 commented Jun 13, 2018

This issue is about retention of container metadata, not filesystem metadata.

All I can suggest is you create a small powershell script that gets executed using the "When Done" feature in preferences. Stackoverflow has examples of how to set filesystem metadata this way but it's not something i'd recommend doing in the first place.

@jeroen020

This comment has been minimized.

Show comment
Hide comment
@jeroen020

jeroen020 Jun 25, 2018

Having this feature would totally rock my world. I have hundreds of GBs of videos collected over a decade that I'd love to convert to H265 in batch but as they don't have any tags I rely fully on their creation date for meta data.
One thing that may make this easier is that this feature was previously present in HandBrakeBatch, but the developer stopped updating it unfortunately... But code is on Github so you can see how to implement keeping the date stamps the same.

Having this feature would totally rock my world. I have hundreds of GBs of videos collected over a decade that I'd love to convert to H265 in batch but as they don't have any tags I rely fully on their creation date for meta data.
One thing that may make this easier is that this feature was previously present in HandBrakeBatch, but the developer stopped updating it unfortunately... But code is on Github so you can see how to implement keeping the date stamps the same.

@fmvdb

This comment has been minimized.

Show comment
Hide comment
@fmvdb

fmvdb Jul 15, 2018

Would be great to have HandBrake keep the original EXIF information. Any progress on this?

fmvdb commented Jul 15, 2018

Would be great to have HandBrake keep the original EXIF information. Any progress on this?

@sr55

This comment has been minimized.

Show comment
Hide comment
@sr55

sr55 Jul 15, 2018

Contributor

Nothing has changed.

Contributor

sr55 commented Jul 15, 2018

Nothing has changed.

@fmvdb

This comment has been minimized.

Show comment
Hide comment
@fmvdb

fmvdb Jul 23, 2018

Can we do anything to increase the priority for this request?

fmvdb commented Jul 23, 2018

Can we do anything to increase the priority for this request?

@sr55

This comment has been minimized.

Show comment
Hide comment
@sr55

sr55 Jul 23, 2018

Contributor

Nope, Afraid not.

Contributor

sr55 commented Jul 23, 2018

Nope, Afraid not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment