Em princípio, é feito assim. Codifique para diminuir a taxa de bits sem áudio. Claro, isso pressupõe que você tenha vídeo H.264. Consulte o guia de codificação para obter mais informações.
ffmpeg -i input.mp4 -c:v libx264 -b:v 700k -an lower.mp4
Em seguida, mescle seus arquivos:
ffmpeg -i input.mp4 -i lower.mp4 -c copy -map 0:v -map 0:a -map 1:v output.mp4
Isso fará com que os primeiros fluxos de vídeo e áudio do primeiro arquivo e o primeiro fluxo de vídeo do segundo arquivo sejam copiados para o contêiner de saída.
Então, novamente, como @trikly menciona, não há vantagem real em fazer isso. Especialmente desde que você marcou sua pergunta com "streaming de vídeo", observe que, adicionando outro fluxo dentro de um contêiner, você aumenta o tamanho do arquivo que o cliente precisa baixar, em vez de oferecer apenas uma representação menor, que é o que você normalmente deseja fazer para ambientes com largura de banda restrita.
A solução real seria fazer algum tipo de streaming adaptativo , seja com MPEG-DASH ou HLS *. O ffmpeg pode criar arquivos segmentados que podem ser usados para fluxo de DASH e HLS, mas você também precisa gerar os arquivos de informações meta, etc. E você precisa de um cliente que seja habilitado para DASH ou HLS.
Se for muito para configurar, você deve simplesmente oferecer o vídeo em dois formatos diferentes, cada um com seu próprio link.
* Codificação de Vídeo Escalável também foi projetado com um objetivo semelhante, mas não é realmente usado por ninguém hoje em dia .