Con solo le informazioni che hai fornito a questo, mi viene in mente.
Andiamo a pezzi:
Poiché è stata aggiunta una sola immagine al video. Mi chiedo se esiste un modo per ridurre le dimensioni del video, ad esempio forzare bit rate / secondo = 1 anziché 28?
Poiché è un'immagine fissa, non è necessario cambiare. stai fermo.
Quello di cui stai parlando è frame al secondo (fps) non bitrate. E hai ragione nel concetto. Beign solo un fermo immagine 1 fps non sarebbe un problema.
È una dimensione ragionevole per mp4? Le dimensioni dell'immagine contano molto?
In questo caso la dimensione dell'immagine non avrebbe un peso significativo perché abbiamo a che fare solo con un'immagine fissa. Se fosse un video di alta qualità, allora è un problema diverso.
Dovrei ridimensionare jpg a 1080 * 720 e configurare ulteriori impostazioni in ffmpeg per l'output come 720p (qual è l'impostazione ffmpeg quindi :)?
La risoluzione che stai dicendo è 1280x720.
Non vedo il punto -loop 1
nell'opzione qui, rallenterà solo il processo. Hai usato -shortest
perché il file ha più di 1 flusso di input? Se no, non c'è motivo di usarlo. Dal momento che hai usato -acodec copy
dovrò presumere che non vuoi ricodificarlo.
Per un'uscita di 720p 1fps senza ricodifica e bitrate non toccante:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 output.mp4
Si noti che ha più di un flusso di input e si desidera che ffmpeg termini la codifica nel flusso più breve, quindi:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 -shortest output.mp4
Ora se devi cambiare il bitrate (diciamo 1024k come esempio);
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -b:v 1024k -bufsize 1024k -s 1280x720 output.mp4
Vedi: Limita il bitrate di uscita
-c: a copy = Copia il flusso audio in ingresso in modo da non ricodificare.
-b: v = La velocità in bit specificata per essere (non precisamente) costante.
-bufsize = È l'intervallo in cui calcola il bitrate medio. Significa l'immagine con la più bassa perdita di qualità ma bitrate più accurati secondo la specifica in -b: v .
-s = La dimensione effettiva dell'uscita video.
-framerate = La frequenza dei fotogrammi di input che vogliamo che venga utilizzata dall'output.
Tieni presente che se vuoi comunque un video di dimensioni inferiori ad un certo punto dovrai sacrificare la qualità per raggiungere questo obiettivo. E altri modi per farlo prevedono la ricodifica con compressione con perdita.
Da quello che dici, le informazioni che fornisci e quello che stai cercando di fare, penso che il tuo obiettivo sia quello di incorporare le copertine degli album in mp3. Se questo è il tuo obiettivo, ciò si adatterebbe meglio alle tue esigenze:
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
-map_metadata = L' identificatore di metadati ffmpeg per l'output del file dall'infile. In questo caso ( zero ) i metadati globali.
-map 0 = Stream di input 1 (audio).
-map 1 = Input stream 2 (immagine).
Se nulla qui soddisfa le tue richieste, ti preghiamo di fornire maggiori informazioni.