Com apenas as informações fornecidas, o que posso pensar.
Vamos por peças:
Como há apenas uma imagem adicionada ao vídeo. Eu estou querendo saber se existe uma maneira de reduzir o tamanho do vídeo, por exemplo, taxa de bits de força / segundo = 1 em vez de 28?
Como é uma imagem estática, não há necessidade de alteração. apenas fique parado.
Do que você está falando, frames por segundo (fps) não é bitrate. E você está certo no conceito. Beign apenas uma imagem estática 1 fps não seria um problema.
É um tamanho razoável para o mp4? O tamanho da imagem é muito importante?
Neste 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, então é um problema diferente.
Devo redimensionar jpg para 1080 * 720 e fazer configurações adicionais no ffmpeg para gerar uma saída de 720p (qual é a configuração do ffmpeg, então :)?
A resolução que você está dizendo é 1280x720.
Eu não vejo o ponto na opção -loop 1
aqui, isso só irá retardar o processo. Você usou -shortest
porque o arquivo tem mais de 1 fluxo de entrada? Se não, então não há razão para usá-lo. Já que você usou -acodec copy
, eu devo presumir que você não quer recodificá-lo.
Para uma saída de 720p 1fps sem recodificar e não tocar na taxa de bits:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 output.mp4
Assegure-se de que tenha mais de um fluxo de entrada e deseje que o ffmpeg termine a codificação no fluxo mais curto e, em seguida:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 -shortest output.mp4
Agora, se você tiver que 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
Veja: Limite a taxa de bits de saída
-c: uma cópia = Copie o fluxo de áudio de entrada para não recodificá-lo.
-b: v = A taxa de bits especificada para ser (não precisamente) constante.
-bufsize = É o intervalo em que calcula a taxa de bits média. Significando a mais baixa qualidade de perda de imagem, mas mais precisa
bitrates 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.
Note que se você ainda quiser um vídeo de tamanho menor em um ponto, terá que sacrificar a qualidade para conseguir isso. E outras maneiras de fazer isso envolvem recodificação com compactação com perdas.
Do que você diz, das informações que você fornece e do que você está tentando fazer, acho que parece que o seu objetivo é incorporar o álbum-arte ao mp3. Se esse é o seu objetivo, isso se ajustaria melhor às suas necessidades:
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. Neste caso ( zero ) os metadados globais.
-map 0 = Fluxo de entrada 1 (áudio).
-map 1 = Fluxo de entrada 2 (imagem).
Se nada aqui atender às suas solicitações, forneça mais informações.