[proofplan]
Starting from a vector bundle with chosen trivialisations, the coordinate changes on overlaps preserve the base point and are fiberwise linear isomorphisms, so they are encoded by smooth maps $g_{ij}:U_i\cap U_j\to GL(k,\mathbb{R})$. Composition of coordinate changes gives the identity and cocycle equations. Conversely, a cocycle defines an [equivalence relation](/page/Equivalence%20Relation) on the disjoint union of the local products $U_i\times \mathbb{R}^k$; the cocycle equations are exactly what makes this relation transitive and makes the local product charts compatible. Finally, changing trivialisations is just conjugating the transition maps by the corresponding change-of-frame maps $h_i$.
[/proofplan]
[step:Extract the transition cocycle from the chosen bundle trivialisations]
Let $\pi:E\to M$ be a smooth rank-$k$ real vector bundle, and for each $i\in I$ let
\begin{align*}
\varphi_i:\pi^{-1}(U_i)\to U_i\times \mathbb{R}^k
\end{align*}
be a smooth vector bundle trivialisation over $U_i$. For $i,j\in I$, define the transition map $T_{ij}:(U_i\cap U_j)\times \mathbb{R}^k\to (U_i\cap U_j)\times \mathbb{R}^k$ by
\begin{align*}
T_{ij}(x,v)=\varphi_i\bigl(\varphi_j^{-1}(x,v)\bigr).
\end{align*}
Since both trivialisations lie over the identity on the base, $T_{ij}$ has the form
\begin{align*}
T_{ij}(x,v)=(x,A_{ij}(x)v)
\end{align*}
for a uniquely determined linear isomorphism
\begin{align*}
A_{ij}(x):\mathbb{R}^k\to \mathbb{R}^k
\end{align*}
on each fiber. Define
\begin{align*}
g_{ij}:U_i\cap U_j\to GL(k,\mathbb{R})
\end{align*}
by letting $g_{ij}(x)$ be the matrix of $A_{ij}(x)$ in the standard basis of $\mathbb{R}^k$. Smoothness of $g_{ij}$ follows from smoothness of $T_{ij}$, because the entries of $g_{ij}(x)$ are the component functions of $T_{ij}(x,e_a)$ for the standard basis vectors $e_a\in\mathbb{R}^k$.
For $x\in U_i$ and $v\in\mathbb{R}^k$,
\begin{align*}
\varphi_i\circ\varphi_i^{-1}(x,v)=(x,v),
\end{align*}
so $g_{ii}(x)=I_k$. If $x\in U_i\cap U_j\cap U_\ell$, then
\begin{align*}
\varphi_i\circ\varphi_\ell^{-1}
=
(\varphi_i\circ\varphi_j^{-1})\circ(\varphi_j\circ\varphi_\ell^{-1})
\end{align*}
on $\{x\}\times\mathbb{R}^k$. Evaluating at $(x,v)$ gives
\begin{align*}
(x,g_{i\ell}(x)v)
=
(x,g_{ij}(x)g_{j\ell}(x)v)
\end{align*}
for every $v\in\mathbb{R}^k$, hence $g_{ij}(x)g_{j\ell}(x)=g_{i\ell}(x)$.
[guided]
The local trivialisation $\varphi_i$ turns the part of $E$ over $U_i$ into the product $U_i\times\mathbb{R}^k$. On an overlap $U_i\cap U_j$, there are two such product descriptions, and the transition map between them is the map $T_{ij}:(U_i\cap U_j)\times \mathbb{R}^k\to (U_i\cap U_j)\times \mathbb{R}^k$ defined by
\begin{align*}
T_{ij}(x,v)=\varphi_i\bigl(\varphi_j^{-1}(x,v)\bigr).
\end{align*}
Because $\varphi_i$ and $\varphi_j$ are vector bundle trivialisations over the identity on the base, $T_{ij}$ cannot move the base point $x$. It only changes the fiber coordinate. Therefore there is a uniquely determined linear isomorphism
\begin{align*}
A_{ij}(x):\mathbb{R}^k\to\mathbb{R}^k
\end{align*}
such that
\begin{align*}
T_{ij}(x,v)=(x,A_{ij}(x)v).
\end{align*}
We define
\begin{align*}
g_{ij}:U_i\cap U_j\to GL(k,\mathbb{R})
\end{align*}
to be the matrix of $A_{ij}(x)$ in the standard basis of $\mathbb{R}^k$. The map $g_{ij}$ is smooth because $T_{ij}$ is smooth and the matrix entries of $g_{ij}(x)$ are obtained by applying $T_{ij}$ to the fixed standard basis vectors of $\mathbb{R}^k$ and reading off coordinate functions.
Now we check the cocycle identities. First, comparing a trivialisation with itself gives
\begin{align*}
\varphi_i\circ\varphi_i^{-1}(x,v)=(x,v),
\end{align*}
so $g_{ii}(x)=I_k$. Second, on a triple overlap $U_i\cap U_j\cap U_\ell$, changing from the $\ell$-coordinates to the $i$-coordinates can be done directly or through the $j$-coordinates:
\begin{align*}
\varphi_i\circ\varphi_\ell^{-1}
=
(\varphi_i\circ\varphi_j^{-1})\circ(\varphi_j\circ\varphi_\ell^{-1}).
\end{align*}
Evaluating both sides at $(x,v)$ gives
\begin{align*}
(x,g_{i\ell}(x)v)
=
(x,g_{ij}(x)g_{j\ell}(x)v)
\end{align*}
for every $v\in\mathbb{R}^k$. Equality for every vector $v$ implies equality of the linear maps:
\begin{align*}
g_{ij}(x)g_{j\ell}(x)=g_{i\ell}(x).
\end{align*}
Thus the transition functions form a smooth $GL(k,\mathbb{R})$-valued cocycle.
[/guided]
[/step]
[step:Glue the local product bundles from a cocycle]
Conversely, suppose smooth maps
\begin{align*}
g_{ij}:U_i\cap U_j\to GL(k,\mathbb{R})
\end{align*}
satisfy the identity and cocycle equations. Let
\begin{align*}
X:=\bigsqcup_{i\in I}(U_i\times\mathbb{R}^k)
\end{align*}
be the disjoint union of the local product spaces. Write an element of the $i$-summand as $(i,x,v)$ with $x\in U_i$ and $v\in\mathbb{R}^k$. Define a relation $\sim$ on $X$ by
\begin{align*}
(i,x,v)\sim(j,y,w)
\end{align*}
if and only if $x=y\in U_i\cap U_j$ and
\begin{align*}
v=g_{ij}(x)w.
\end{align*}
The identity $g_{ii}=I_k$ gives reflexivity. If $(i,x,v)\sim(j,x,w)$, then $v=g_{ij}(x)w$; the cocycle identity with indices $j,i,j$ gives $g_{ji}(x)g_{ij}(x)=g_{jj}(x)=I_k$, so $w=g_{ji}(x)v$, proving symmetry. If $(i,x,v)\sim(j,x,w)$ and $(j,x,w)\sim(\ell,x,z)$, then
\begin{align*}
v=g_{ij}(x)w=g_{ij}(x)g_{j\ell}(x)z=g_{i\ell}(x)z,
\end{align*}
so $(i,x,v)\sim(\ell,x,z)$. Thus $\sim$ is an equivalence relation.
Let
\begin{align*}
E_g:=X/{\sim}
\end{align*}
be the quotient set, let $q:X\to E_g$ denote the quotient map, and let $[i,x,v]$ denote the equivalence class of $(i,x,v)$. Give $E_g$ the [quotient topology](/page/Quotient%20Topology) induced by $q$, so a subset $O\subset E_g$ is open exactly when $q^{-1}(O)$ is open in the disjoint union topology on $X$. Define $\pi_g:E_g\to M$ by
\begin{align*}
\pi_g([i,x,v])=x.
\end{align*}
This is well-defined because equivalent triples have the same base point.
For each $i\in I$, define $\psi_i:\pi_g^{-1}(U_i)\to U_i\times\mathbb{R}^k$ by
\begin{align*}
\psi_i([j,x,w])=(x,g_{ij}(x)w),
\end{align*}
where the formula is used only when $x\in U_i\cap U_j$. To check well-definedness, suppose $[j,x,w]=[\ell,x,z]$ with $x\in U_i\cap U_j\cap U_\ell$. Then $w=g_{j\ell}(x)z$, and the cocycle identity gives
\begin{align*}
g_{ij}(x)w=g_{ij}(x)g_{j\ell}(x)z=g_{i\ell}(x)z.
\end{align*}
Thus the value of $\psi_i$ is independent of the representative. The map $\psi_i$ is bijective, with inverse $\psi_i^{-1}:U_i\times\mathbb{R}^k\to \pi_g^{-1}(U_i)$ given by
\begin{align*}
\psi_i^{-1}(x,v)=[i,x,v].
\end{align*}
Indeed, $\psi_i([i,x,v])=(x,v)$ because $g_{ii}=I_k$, and if $\psi_i([j,x,w])=(x,v)$, then $v=g_{ij}(x)w$, so $[j,x,w]=[i,x,v]$ by the defining equivalence relation.
The sets $\pi_g^{-1}(U_i)$ cover $E_g$. They are open because
\begin{align*}
q^{-1}(\pi_g^{-1}(U_i))=\bigsqcup_{j\in I}\bigl((U_i\cap U_j)\times\mathbb{R}^k\bigr),
\end{align*}
which is open in the disjoint union topology on $X$. The quotient topology and the explicit inverse above make each $\psi_i$ a homeomorphism: on the $j$-summand over $U_i\cap U_j$, the map $\psi_i\circ q$ is
\begin{align*}
(x,w)\mapsto (x,g_{ij}(x)w),
\end{align*}
which is continuous, and the inverse is induced by the continuous inclusion of the $i$-summand followed by $q$.
On overlaps,
\begin{align*}
\psi_i\circ\psi_j^{-1}(x,v)=(x,g_{ij}(x)v),
\end{align*}
which is a smooth map on $(U_i\cap U_j)\times\mathbb{R}^k$ because $g_{ij}$ is smooth and matrix multiplication against a vector is smooth. Therefore the charts $(\pi_g^{-1}(U_i),\psi_i)$ define a smooth atlas on $E_g$. We verify the topological manifold conditions. The space $E_g$ is Hausdorff: if two classes have different base points, separate their base points by disjoint open subsets of $M$ and take their inverse images under $\pi_g$; if they have the same base point, choose an index $i$ with that base point in $U_i$ and separate their distinct fiber coordinates inside the product chart $\psi_i$. It is second-countable because $M$ is second-countable, hence the open cover has a countable subcover $(U_{i_m})_{m\in\mathbb{N}}$, and the product manifolds $U_{i_m}\times\mathbb{R}^k$ have countable bases whose images under the homeomorphisms $\psi_{i_m}^{-1}$ form a countable basis for $E_g$. Thus $E_g$ is a smooth manifold with the displayed atlas.
In these charts, $\pi_g$ is represented by the smooth projection map from $U_i\times\mathbb{R}^k$ to $U_i$, and the transition maps are fiberwise linear. Hence $\pi_g:E_g\to M$ is a smooth rank-$k$ real vector bundle and the $\psi_i$ are smooth vector bundle trivialisations. The fiberwise [vector space](/page/Vector%20Space) operations are well-defined because each $g_{ij}(x)$ is linear.
[/step]
[step:Verify that the two constructions recover the original data]
Start with bundle data $(E,\pi,(\varphi_i)_{i\in I})$, form its transition cocycle $(g_{ij})$, and construct the glued bundle $\pi_g:E_g\to M$. Define the comparison map
\begin{align*}
F:E\to E_g
\end{align*}
as follows: for $e\in E$ with $\pi(e)=x$, choose any $i\in I$ with $x\in U_i$, write
\begin{align*}
\varphi_i(e)=(x,v),
\end{align*}
and set
\begin{align*}
F(e):=[i,x,v].
\end{align*}
If $j\in I$ is another index with $x\in U_j$ and $\varphi_j(e)=(x,w)$, then the definition of $g_{ij}$ gives $v=g_{ij}(x)w$, hence $[i,x,v]=[j,x,w]$. Thus $F$ is well-defined. In the chart $\varphi_i$ on $E$ and the chart $\psi_i$ on $E_g$, the map $F$ is represented by
\begin{align*}
(x,v)\mapsto(x,v),
\end{align*}
so $F$ is a smooth vector bundle isomorphism over $M$. This named map $F$ is the precise isomorphism by which the reconstructed bundle data agrees with the original bundle data.
Conversely, start with a cocycle $(g_{ij})$, construct $E_g$, and compute the transition maps of the trivialisations $\psi_i$. For $x\in U_i\cap U_j$ and $v\in\mathbb{R}^k$,
\begin{align*}
\psi_i\circ\psi_j^{-1}(x,v)
=
\psi_i([j,x,v])
=
(x,g_{ij}(x)v).
\end{align*}
Thus the recovered cocycle is exactly the original cocycle $(g_{ij})$.
[/step]
[step:Compute how the cocycle changes under a change of trivialisations]
Let $(\varphi_i')_{i\in I}$ be another choice of trivialisations related to $(\varphi_i)_{i\in I}$ by smooth maps
\begin{align*}
h_i:U_i\to GL(k,\mathbb{R})
\end{align*}
such that whenever $\varphi_i(e)=(x,v)$,
\begin{align*}
\varphi_i'(e)=(x,h_i(x)v).
\end{align*}
For $x\in U_i\cap U_j$ and $v\in\mathbb{R}^k$, the inverse relation is
\begin{align*}
(\varphi_j')^{-1}(x,v)=\varphi_j^{-1}(x,h_j(x)^{-1}v).
\end{align*}
Therefore
\begin{align*}
\varphi_i'\circ(\varphi_j')^{-1}(x,v)=\varphi_i'\bigl(\varphi_j^{-1}(x,h_j(x)^{-1}v)\bigr).
\end{align*}
Using the old transition function, this becomes
\begin{align*}
\varphi_i'\bigl(\varphi_i^{-1}(x,g_{ij}(x)h_j(x)^{-1}v)\bigr).
\end{align*}
Applying the definition of $\varphi_i'$ gives
\begin{align*}
\varphi_i'\circ(\varphi_j')^{-1}(x,v)=(x,h_i(x)g_{ij}(x)h_j(x)^{-1}v).
\end{align*}
By uniqueness of the matrix representing the fiber coordinate change, the new transition function is
\begin{align*}
g'_{ij}(x)=h_i(x)g_{ij}(x)h_j(x)^{-1}.
\end{align*}
This proves the stated transformation rule and completes the equivalence between bundle data with chosen local product charts and smooth $GL(k,\mathbb{R})$-valued cocycle data.
[/step]