Help please with yt-dlp and subtitles

When I download a yt opera video as an .mp4 and play it I get the subtitles in Italian but when I watch it in YT in browser I get the subtitles in English. I assume I am missing something in my script but have no idea how to sort this out. Please could somebody help me with this.
I do appreciate that not all have subtitles but this one does.

The script I am using, for example is:-

yt-dlp -f 'bv*+ba' --merge-output-format mp4 vtfGBkG5Fe8
-o '%(title)s.%(ext)s'

What am I doing wrong or missing.
Budge

Hi
Add the --sub-langs "en.*"? GitHub - yt-dlp/yt-dlp: A youtube-dl fork with additional features and fixes

Hi Malcolm and many thanks for the instant reply and link. Complicated isn’t it!
Anyhow I tried what I thought was required but alas the English subtitles do not appear. I suspect I have the syntax wrong so would appreciate your comment please. Here is what I ran just now:-

yt-dlp -f 'bv*+ba' --merge-output-format mp4 vtfGBkG5Fe8 -o '%(title)s.%(ext)s' --sub-langs "en.*
"

Wrong place in line perhaps?

USAGE AND OPTIONS

yt-dlp [OPTIONS] --] URL [

and

--list-subs

to list available subs.]()

Hi and many thanks for the additional info. I corrected my command so I now have:-

yt-dlp -f 'bv*+ba' --merge-output-format mp4 --sub-langs "en.*" vtfGBkG5Fe8 -o '%(title)s.%(ext)s

but this didn’t work, however running:-

alastair@IBMW530:~> yt-dlp -f 'bv*+ba' --merge-output-format mp4 --list-subs vtfGBkG5Fe8 -o '%(title)s.%(ext)s'      
https://www.youtube.com/watch?v= vtfGBkG5Fe8: Downloading webpage 
https://www.youtube.com/watch?v= Available subtitles for vtfGBkG5Fe8: 
Language  Name    Formats 
en        English vtt, ttml, srv3, srv2, srv1, json3 
live_chat         json 
alastair@IBMW530:~> 

Which suggests that English sub titles are available but I am still making a mistake somewhere as I cannot get the subtitles on the download. Any further hints please?

Try following command (as the available subtitle format looks different):

yt-dlp -f 'bv*+ba' --merge-output-format mp4 --sub-langs "en-en" vtfGBkG5Fe8 -o '%(title)s.%(ext)s

or

yt-dlp -f 'bv*+ba' --merge-output-format mp4 --sub-langs "en" vtfGBkG5Fe8 -o '%(title)s.%(ext)s

[QUOTE=Budgie2;3149561]Hi and many thanks for the additional info. I corrected my command so I now have:-

yt-dlp -f 'bv*+ba' --merge-output-format mp4 --sub-langs "en.*" vtfGBkG5Fe8 -o '%(title)s.%(ext)s

but this didn’t work, however running:-

alastair@IBMW530:~> yt-dlp -f 'bv*+ba' --merge-output-format mp4 --list-subs vtfGBkG5Fe8 -o '%(title)s.%(ext)s'      
https://www.youtube.com/watch?v= vtfGBkG5Fe8: Downloading webpage 
https://www.youtube.com/watch?v=
Download a YouTube video subtitles file with yt-dlp: https://write.corbpie.com/download-a-youtube-video-subtitles-file-with-yt-dlp/

Hi Karl,
That was it. the command which works is:-

yt-dlp -f 'bv*+ba' --write-subs en --merge-output-format mp4 vtfGBkG5Fe8 -o '%(title)s.%(ext)s'

The clue is in the write-subs command so I have no idea what my original command was for but thanks again.
Hope this is useful for others.
Budge.