Com apenas as informações que você forneceu, é o que consigo pensar.
Vamos por pedaços:
Como há apenas uma imagem adicionada ao vídeo. Gostaria de saber se existe uma maneira de reduzir o tamanho do vídeo, por exemplo, forçar taxa de bits / segundo = 1 em vez de 28?
Como é uma imagem estática, não é necessário mudar. apenas fique parado.
O que você está falando aí é de quadros por segundo (fps), não bitrate. E você está certo no conceito. Atribuir apenas uma imagem estática a 1 qps não seria um problema.
É um tamanho razoável para mp4? O tamanho da imagem importa muito?
Nesse caso, o tamanho da imagem não teria um peso significativo, porque estamos lidando com apenas uma imagem estática. Se fosse um vídeo de alta qualidade, é uma questão diferente.
Devo redimensionar o jpg para 1080 * 720 e fazer configurações adicionais no ffmpeg para que sejam exibidas como 720p (qual é a configuração do ffmpeg então :)?
A resolução que você está dizendo é 1280x720.
Eu não vejo o ponto na -loop 1
opção aqui, isso apenas atrasará o processo. Você usou -shortest
porque o arquivo tem mais de 1 fluxo de entrada? Se não, não há razão para usá-lo. Desde que você usou, -acodec copy
devo assumir que você não deseja recodificá-lo.
Para uma saída de 720p 1fps sem recodificação e sem tocar na taxa de bits:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 output.mp4
Atribua ao caso que ele possui mais de um fluxo de entrada e você deseja que o ffmpeg conclua a codificação no fluxo mais curto:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 -shortest output.mp4
Agora, se você precisar alterar a taxa de bits (digamos 1024k como exemplo);
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -b:v 1024k -bufsize 1024k -s 1280x720 output.mp4
Consulte: Limitar a taxa de bits de saída
-c: a copy = Copia o fluxo de áudio de entrada para não recodificarmos.
-b: v = A taxa de bits especificada para ser (não precisamente) constante.
-bufsize = É o intervalo no qual calcula a taxa de bits média. Significa a imagem com menor qualidade e menor perda, com taxas de bits mais precisas de acordo com o especificado em -b: v .
-s = O tamanho real da saída de vídeo.
-framerate = A taxa de quadros de entrada que queremos que a saída use.
Observe que se você ainda deseja um vídeo de tamanho menor em um momento, precisará sacrificar a qualidade para conseguir isso. E outras maneiras de fazer isso envolvem a recodificação com compactação com perdas.
Pelo que você diz, pelas informações que você fornece e pelo que está tentando fazer, acho que seu objetivo é incorporar a arte do álbum ao mp3. Se esse for o seu objetivo, isso atenderá melhor aos seus requisitos:
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
-map_metadata = O especificador de metadados ffmpeg para o arquivo de saída do infile. Nesse caso ( zero ), os metadados globais.
-map 0 = Fluxo de entrada 1 (áudio).
-map 1 = Fluxo de entrada 2 (imagem).
Se nada aqui atender aos seus pedidos, forneça mais informações.