Skip to content
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 - No Encoding but Copy #264

Closed
Djabx opened this issue Jul 16, 2016 · 9 comments
Closed

Feature Request - No Encoding but Copy #264

Djabx opened this issue Jul 16, 2016 · 9 comments

Comments

@Djabx
Copy link

@Djabx Djabx commented Jul 16, 2016

Hello everyone,

I used HandBrake to convert some video from mp4 to mkv but HandBrake re-encode everything (video / audio).
I whished there is an option to just copy and not re-encode.

BTW: now I use ffmpeg -vcodec copy -acodec copy

@sr55
Copy link
Contributor

@sr55 sr55 commented Jul 16, 2016

Sorry, adding video passthrough is not planned. HandBrake is designed to be a video transcoder. It wasn't designed to allow passthrough. Retrofitting it in after the fact in a tool that just isn't designed for this task isn't feasible.

Duplicates of #193

Edit, since this is getting linked around:

HandBrake is not a front-end to ffmpeg CLI. So it's not a simple case of passing some command line arguments to ffmpeg. HandBrake has it's own AV engine that sits on top of libav and other libraries. This pipeline wasn't designed with passthru in mind. As such, it would require a lot of work to change.

@sr55 sr55 closed this Jul 16, 2016
@giddie
Copy link

@giddie giddie commented Sep 7, 2017

Really sorry to drag this up again, but I can't find detailed information about this anywhere. I'm a software engineer wondering why video passthrough would be difficult to achieve. In particular, my use case is reading h264 data from Blu-Rays whilst transcoding audio.

My guess is that your input stage passes uncompressed video data through to the processing stage, meaning that the video is always decoded from its native h264 before it even reaches the transcoding core. Is that right? Presumably, the audio follows a different, less structured route through to the output stage, which is what allows you to offer a pass-through option for audio?

So I'm quite curious to know what degree of modification would be required in the video pipeline to permit passing raw data straight through from the input to the output? Is this something you'd accept patches for?

@jstebbins
Copy link
Contributor

@jstebbins jstebbins commented Sep 7, 2017

It's not a question of difficulty. The primary reason we don't do it is it is out of scope. HandBrake is a transcoder, not a muxer.

As far as the technical issues go, video passthru is simply not compatible with some of the things HandBrake does for you. Numerous things would have to be disabled whenever video passthru is selected (e.g. all filters). One of the core components of HandBrakes processing pipeline is a sync phase that corrects problems that causes sync issues during playback. For example Apple video players do not tolerate gaps in timestamps. All gaps between video or audio frames must be filled or you lose sync during playback. Video passthru is would require disabling this sync module. Some videos that play correctly when transcoded would not play correctly when passed thru.

@giddie
Copy link

@giddie giddie commented Sep 8, 2017

OK, I get that. Technically, it's not in scope for the project. Pragmatically, however, many people view Handbrake as their AV swiss army knife. To be honest, other than MakeMKV (which is closed-source, as I'm sure you know), I'm not aware of any other tool that is capable of reading directly from BluRay. There are simple enough CLI tools for DVD (just about), but BluRay support is very sparse right now. I know it's not your problem; I guess I'm just saying that you'd make a lot of people's lives easier if you were open to this.

Specifically, Handbrake's title selection, audio & subtitle extraction (with pass-through), and muxing are already fantastic. Besides offering a fantastic transcoder, you're 80% of the way to offering the only full-featured, completely open-source alternative for BluRay backups. I know that's not technically transcoding, but it is a massive deal for people who use Handbrake to backup their movie collections.

@jstebbins
Copy link
Contributor

@jstebbins jstebbins commented Sep 8, 2017

Pragmatically, however, many people view Handbrake as their AV swiss army knife.

Many people are mistaken. I can't fix that ;) We are quite clear about what HandBrake is and is not in our documentation.
https://handbrake.fr/docs/en/latest/introduction/about.html

@giddie
Copy link

@giddie giddie commented Sep 11, 2017

Yes, that's fair. In the meantime, however, there is no alternative. That's why you have these expectations placed on you. I'm not saying you have to take your project in a direction you're not comfortable with; I'm just pointing out that the reason you get this pressure from users is that for a significant number of them, you're nearly the tool they want, and the exact tool they want does not currently exist.

@eturk1
Copy link

@eturk1 eturk1 commented Jan 4, 2018

Thanks for this thread! I helps so I don't keep searching for this feature. Makes sense.

For others that find this thread,
I found opensource Avidemux which does have a simple copy passthrough of video & audio. Useful when one just wants to change the video or audio or maybe just remove some audio tracks no longer needed.

@giddie
Copy link

@giddie giddie commented Jan 5, 2018

Also MKVToolNix is a fantastic set of tools for chopping and changing MKV files, but it also doesn't help get video from BluRay onto your hard disk.

@eturk1
Copy link

@eturk1 eturk1 commented Jan 5, 2018

Also MKVToolNix is a fantastic set of tools for chopping and changing MKV files, but it also doesn't help get video from BluRay onto your hard disk.

Thanks for the tip! MKVToolNix much better for passthrough/copy, really fast & also ATMOS passthrough, which explodes Avidemux.

@HandBrake HandBrake locked as resolved and limited conversation to collaborators Jan 5, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

5 participants