lisamelton / other_video_transcoding

Other tools to transcode videos.
MIT License
565 stars 26 forks source link

[whislist] add language code to --main-audio #43

Open n0rbertg opened 4 years ago

n0rbertg commented 4 years ago

Hi,

This is a really great product, but full automation is not always possible. My sources usually have multiple languages (I keep two) and English is not always the first track.

Because of this I need to scan and manually add the track number to --main-audio. It would be great if this switch would support language codes just like --add-audio does. I am aware of potential issues when multiple english tracks are present, but this is rarely the case and I would be fine if it would select the first one in that language (or the one with the best quality for an even better result)

lisamelton commented 4 years ago

@n0rbertg Thank you and I'm glad other-transcode is working so well for you.

And you've identified exactly why I've never implemented an extension to --main-audio with the behavior you describe. :)

I can certainly implement a mechanism to select the first track in a target language. But I fear this will not always get the results that users expect because the audio tracks in their rips or downloads might not be ordered "sensibly."

By "not sensibly" I mean that a lossy track might precede a lossless track, there might be two lossy tracks (e.g. AC-3 and DTS), a "AD" or commentary track might precede the preferred track, etc.

As for determining "best" quality, it's not easy to even determine what's lossy and what's not. Or the degree of "lossy"-ness. FFmpeg can accept an large number of audio formats so I fear that writing the special-case logic to compare them all would significantly increase the size and complexity of the code.

Also, I have many Blu-ray Disc and DVD rips with multiple English tracks. So it's not a rare case for me. :)

Anyway, I've already thought about this a lot. :) As have my collaborators during the last year. I'm still not inclined to add this behavior...

But I will consider your request. Thanks for opening this issue.