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

bug(YouTube - Force original audio): Audio playback issues with IOS client for videos with dubbed audio due to default audio stream language selection #4154

Closed
3 tasks done
Karthik-Subbu opened this issue Dec 17, 2024 · 8 comments · Fixed by #4147 or #4171
Labels
Bug report Something isn't working

Comments

@Karthik-Subbu
Copy link

Bug description

Following behavior is observed with default IOS client for spoof video streams:

case (1)

Sample video: https://youtu.be/NHUTmP9Tr2A , original audio track is in English. Dubbed audio tracks are available in French, German, Italian, Portuguese (Brazil) and Spanish.

a) Force original audio language (which is English) turned on. Default audio stream language set to German (one of the available dubbed audio tracks). Actual audio playback starts in French and falls back to Italian after few seconds. Forcing is not working properly. (Maybe ISO language code for German and the google recognized code for German are different? ) Disabling force original audio language results in audio playback in German.

b) Force original audio language (which is English) turned on. Default audio stream language set to French (one of the available dubbed audio tracks). Actual audio playback language observed: English. Forcing is working properly. Disabling force original audio language results is audio playback in French.

c) Force original audio language (which is English) turned on. Default audio stream language set to Korean (Language other than available dubbed audio tracks). Actual audio playback starts in French and falls back to Italian. Forcing is not working properly. Disabling force original audio language results in audio playback in English.

case (2)

Sample video: https://youtu.be/uZLY6DL5owY, original audio track is in German. Dubbed audio track is available in English.

a) To investigate language code issue in case 1(A) further, Force original audio language (which is German) turned on. Default audio stream language is also set to German. Ideally there shouldn't be any change in audio playback language. But the audio playback starts in German and changes over to English in few seconds which confirms issue in language code for German.

b) Force original audio language (which is German) turned on. Default audio stream language set to English (one of the available dubbed audio tracks). Actual audio playback language observed: German. Forcing is working properly.

c) Force original audio language (which is German) turned on. Default audio stream language set to Korean (Language other than available dubbed audio tracks). Actual audio playback starts in German and falls back to English. Forcing is not working properly. Disabling force original audio language results in audio playback in German.

Conclusion:

  1. It appears in order for the force original audio language selection to work properly, the default audio stream language selection has to be one of the available audio language tracks.
  2. A small glitch in audio playback is observed when the default audio stream language competes/supersedes force original audio language during the playback.

Error logs

Solution

  1. The necessity of user selection for default audio language with multiple language selection option to be reviewed in view of :

a) IOS client already allows switching between audio tracks if user wishes to change audio track language.

b) Android VR client at the moment doesn't utilize a language code for spoofing.

  1. Force original audio has to take priority over other language related settings.

  2. It would be appropriate if the option to "Force original audio" is moved to spoof video streams setting and the option enabled only if IOS client is selected.

Additional context

No response

Acknowledgements

  • I have checked all open and closed bug reports and this is not a duplicate.
  • I have chosen an appropriate title.
  • All requested information has been provided properly.
@Karthik-Subbu Karthik-Subbu added the Bug report Something isn't working label Dec 17, 2024
@SesioN
Copy link

SesioN commented Dec 17, 2024

This is also an issue on Android 14 (S23 Ultra). Here even more is broken.
OS language: German
YT 19.46.42
Patch 5.5.1

Option set for all use-cases:
Player flyout menu items -> Hide audio track menu -> Disabled

This is the default setting for Android

  1. With "Spoof-Video-Streams" -> Standard-Client: "Android VR"
    1.1 Issues happen with "Other -> Force original audio -> Enabled and Disabled"
    1.1.1 Option "Standard audio stream language" is grayed out
    1.1.2 Videos starts and stays in system dubbed language (eg. German)
    1.2.3 No audio track menu visible, even thought Hide audio track menu is disabled

This is not the default setting for Android

  1. With "Spoof-Video-Streams" -> Standard-Client: "IOS"
    1.1 Option "audio track menu" is now visible when playing video
    1.2 With "Other -> Force original audio -> Enabled"
    1.2.1 Not working, still dubbed german
    1.3 With "Standard audio stream language" set to "English"
    1.3.1 Now playing english audio
    1.3.2 With "Other -> Force original audio -> Enabled or Disabled" I don't notice any difference

@marianmargraf
Copy link

Pixel 8 Pro
OS language: German
YT 19.47.53 (it patches and works without any issues)
Patch 5.5.1

Android VR spoof + force original audio enabled works as intended on my end:

With German system and app language, opening a video that has English original audio and shows an automatically translated video title, it plays fine with the original English audio stream.
I've tested this on numerous videos, all play the original audio with android VR + force original audio enabled.

Switching over to iOS Spoofing will give the same issues as mentioned in the initial bug description.

@LisoUseInAIKyrios
Copy link
Contributor

LisoUseInAIKyrios commented Dec 20, 2024

Force original language not working when using a non-english default because YouTube uses localized text for the name "Original":

(English default spoof language):
ForceOriginalAudioPatch: default: true id: en-US.4 name:English (United States) original
ForceOriginalAudioPatch: Using audio: en-US.4

(Germany default):
ForceOriginalAudioPatch: default: false id: en-US.4 name:Englisch (Vereinigte Staaten) (Original)

(Bengali default):
ForceOriginalAudioPatch: default: true id: en-US.4 name:মূল ভাষা ইংরেজি (মার্কিন যুক্তরাষ্ট্র)

Can someone find a few YouTube videos that do not use English as the original language but the video also has audio tracks in other languages? I'm struggling to find even a single video like this.

Edit: Never mind I found one.

@LisoUseInAIKyrios LisoUseInAIKyrios linked a pull request Dec 20, 2024 that will close this issue
1 task
@LisoUseInAIKyrios
Copy link
Contributor

iOS should be fixed on dev.

Needs verification from other users as I only checked with a few videos.

Android VR does not have multiple audio streams, so force original audio is not possible.

@LisoUseInAIKyrios LisoUseInAIKyrios changed the title bug: Audio playback issues with IOS client for videos with dubbed audio due to default audio stream language selection bug(YouTube - Force original audio): Audio playback issues with IOS client for videos with dubbed audio due to default audio stream language selection Dec 20, 2024
@LisoUseInAIKyrios
Copy link
Contributor

@Karthik-Subbu please patch using dev release and a computer, command line, and CLI tools, and verify the issue is fixed.

@Karthik-Subbu
Copy link
Author

@Karthik-Subbu please patch using dev release and a computer, command line, and CLI tools, and verify the issue is fixed.

Thank you.. Looks fine.. just a couple of queries:

  1. If force original audio is off and the user selects a default audio language, the audio track flyout for switching between audio tracks is sometimes missing. What is causing this? Users would like to see the list of available dubbed languages even if a default audio selection language is set.

  2. Why force original audio is not greyed out for Android vr?

@LisoUseInAIKyrios
Copy link
Contributor

The audio flyout menu is missing if Android VR spoofing is selected. If it's missing with iOS spoofing then provide a video where this happens.

Force original audio and spoof video stream are different patches so it's a little clunky getting one patch to 'know' another patch was included or not. Changing the default spoof to iOS would make graying out force audio not important, since the user would need to first opt into android VR and they'll see the side effect disclaimer then.

@Karthik-Subbu
Copy link
Author

The audio flyout menu is missing if Android VR spoofing is selected. If it's missing with iOS spoofing then provide a video where this happens.

Force original audio and spoof video stream are different patches so it's a little clunky getting one patch to 'know' another patch was included or not. Changing the default spoof to iOS would make graying out force audio not important, since the user would need to first opt into android VR and they'll see the side effect disclaimer then.

IMG_20241221_014016.jpg

Audio track flyout menu missing happens sometimes when YouTube is launched by clicking a video url. The same time statsfornerds also renders incomplete information as seen in the attachment. This may be due to other reasons and not related to the patch. So I think we can consider this issue closed for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug report Something isn't working
Projects
None yet
4 participants