Handbrake: Passthrough Video

Created on 4 Jan 2018  路  9Comments  路  Source: HandBrake/HandBrake

Apologies for not using the issue template here but it didn't seem appropriate given the style of request.

Before you immediately close this issue as duplicate, please hear me out 馃槄

Based on the previously mentioned issues, it sounds like there are architecture issues in the way of supporting something like this. But does that mean it won't be considered _at all_? Offering a passthrough video option would make HandBrake an even more powerful video conversion tool. There are plenty of cases where I _know_ the input video is already in a compatible format for the hardware I want to play it on, but still need to transcode the audio and/or subtitles. I usually just end up using ffmpeg for that, but have to sometimes scour the internet to find the right incantation of command line flags to get what I need done. This is really where HandBrake shines.

Totally cool if nobody on the team is interested in implementing this, but are you opposed to someone else taking a crack at it? I'm not sure I'll have the time soon but I'm definitely interested in helping however I can.

What do you think?

Most helpful comment

Had a chat with @sr55 in IRC about all this, going to close this out for now. I'll do my best to get things working in a fork and point folks who need this specific feature to it.

Thank you all!

All 9 comments

You know it is a duplicate request AND the reasons why. You even use one of the most-mentioned tools that implements "everything and more", and complain about having to search out the correct incantation for it to work its magic.

After all of that, you want to know if handbrake could be morphed into the same sort of monster?

It's not just architecture issues. It is a matter of project scope and focus.

If we enabled video passthru, we would have to disable several things that HandBrake currently does during encoding. Primarily I'm talking about the A/V sync correction and other filters here. Also the GUI would have to be reworked to make it clear what all is getting disabled. I.e. it needs to be very clear to the user that they may have A/V sync issues they wouldn't see when re-encoding and that no video filtering is possible. There are a surprising number of people out there that do not understand the difference between transcoding and remuxing. You can't assume that a user will know that video passthru means they can't deinterlace.

Disabling features is especially problematic for the GUI. It's very difficult to show in a clear way why features are being disabled when some other feature has been enabled. It's best if there is no hidden disabling of features. So if something is to be disabled, the associated widget should be visible and near the widget that is causing it to be disabled so the user can see the interaction.

@woodstockathbf my intention isn't to add an option or checkbox for everything under the sun (well, at least everything ffmpeg supports, which is just about literally everything under the sun! 馃槅 ) - I'm only asking about adding a passthrough video option.

I quoted the previous issues simply to state that I did my research to see if it had been asked for before, but decided to open a new issue in an attempt to phrase the question in a different way. I sincerely apologize if it creates unnecessary noise for the maintainers. For what it's worth, this is one of my favorite OSS projects in existence and I myself used to be a contributor (way back in the SVN days 馃槈 ).

@jstebbins completely understand the complications in the UI. Maybe this could only be something in the CLI? I fully imagined this "feature" being more of a power-user thing, and as such that user fully understands up-front (and without help from the Handbrake team) that sync issues may exist. I also understand that folks may not understand the difference between remuxing and transcoding, but a lot of us do, and we have to fall back to ffmpeg 馃槥

As pointed out in https://github.com/HandBrake/HandBrake/issues/264 - Handbrake is (by design!) exceptionally easy to use for almost any form of input, like Blu-ray. The team has done an incredible job keeping those things simple and as I mentioned above, my intention isn't to make things more complicated for anyone (especially the Handbrake UI/UX). Handbrake is just in a way better place in terms of ease-of-use and this would make a lot of current video-passthrough-ffmpeg-users insanely happy 馃檹

In terms of technical implementation ideas, I'll hop on IRC. Really sorry if this request caused any annoyance!

馃嵒

If I had a dime for every time we rejected this feature :)

Had a chat with @sr55 in IRC about all this, going to close this out for now. I'll do my best to get things working in a fork and point folks who need this specific feature to it.

Thank you all!

If I had a dime for every time we rejected this feature :)

But Why reject it?!?

Let's instead try to find a way to make it happen?

Right now, I have the a file where video is good ... and audio is "synced" ... but for some reason the right audio is much louder then the left one ... and all I wanted to do is use the "Mono" feature on the audio to put both Left & Right in "Mono" ... as I don't care about it beeing stereo ... just that I hear it from both speakers ...

So instead of quickly setting "Pass-Through" on the video and quickly fix the audio ... I must wait 4 hrs for the "whole encode" ....

Not so happy, no 馃憥

Why should a VIDEO ENCODER project implement a NON-VIDEO ENCODING mode? And your justification is a quite-specific use case, where other tools (such as ffmpeg) already address the need? While the ffmpeg interface to do this might seem confusing, the changes required to the handbrake interface to make it useful would be just as confusing.

A 4 hour difference in conversion time would be worth it to learn a few command line switches, but not really worth re-implementing the ffmpeg GUI project, in my opinion.

@woodstockathbf

1] You and I and a bunch of other nerdy command line nerds would quickly find a solution via CLI:

ffmpeg -i VIDEO_IN.mkv -vcodec copy -acodec aac -ac 1 VIDEO_OUT_Mono.mkv

But not everyone that uses HandBrake.app (macOS user myself...) know anything about CLI

2] The solution is quite simple and shouldn't take much time to implement ... just look at how "Quicktime Player 7.app" has implemented it under "File --> Export... --> Movie to MPEG-4 -->> Options" menu ...

I would approach it in the same manner in HandBreak.app .... create a "Preset"

Thank you for your input, you've made your point. This is neither a trivial undertaking nor a welcome feature at this point. Locking.

Aside, let's try to avoid categorizing others.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

miopad picture miopad  路  6Comments

alanorth picture alanorth  路  6Comments

d4rkne55 picture d4rkne55  路  5Comments

Cagliostrooo picture Cagliostrooo  路  3Comments

AnotherDimension-Ex picture AnotherDimension-Ex  路  4Comments