Get a transit visa traveling from US to India through Vancouver Canada?

I am currently working in the United States, and I am using a valid non-immigrant visa. Also, I am a citizen of it. I will need to visit my country, and I got a ticket from Lufthansa which is taking from Portland in the United States to Canada (specifically, Vancouver) via Air Canada. From there, I will go to Frankfort before I arrive in it via Lufthansa Airlines. We will just stay for one hour in Canada. Do we have to get a transit visa since we are traveling through Canada? And if yes, can I do it in the airport itself?

There are only five countries where transit without a visa is applicable; this does not include India.

Other people who need to get a visa to enter Canada also have to obtain one for them to transit through a particular Canadian airport. They can apply for this one through one of the Canadian visa offices in the USA. It is also not possible to issue a visa upon arrival. There is no fee when applying for a visa.

Indian citizens also need to secure an airport transit visa for Frankfurt which is in Germany. This requirement is applicable even if these people stay in the airport’s international transit zone. This process does not apply, however, for US visa bearers when they are coming back home after they have used their visa. Kindly provide proof showing that you have gone legally to the United States.