Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
  Condividi: Facebook Twitter
[Risolto] Usare FFmpeg per modificare direzione e velocità di un video
#1
Salve a tutti.
Su un PC avente S.O.: LMDE6, sto usando FFmpeg per elaborare files video.
Sbirciando sul sito ufficiale, 
https://ffmpeg.org/ffmpeg.html#filter_005foption
ho visto che l'opzione da usare per far andare il video in uscita a ritroso, è
Codice:
-vf reverse
mentre l'opzione per far andare il video in uscita al rallentatore è
Codice:
-vf "setpts=2.00*PTS"
quindi pensavo che il comando per fare entrambe le cose sarebbe 
Codice:
ffmpeg -i videoIN0.mkv -an -c:v libx264 -vf reverse -vf "setpts=2.00*PTS" -s 640x360 videoIN0-prova3.mp4
Ma così funziona solo la seconda opzione -vf
Qualcuno è in grado di dirmi come devo scrivere la riga di comando di FFmpeg in modo che modifichi sia il senso, sia la velocità del video?
Ringrazzio sin d'ora chi mi aiuterà.
Cita messaggio
#2
[quote pid="18607" dateline="1698774150"]

Codice:
ffmpeg -i videoIN0.mkv -an -c:v libx264 -vf reverse -vf "setpts=2.00*PTS" -s 640x360 videoIN0-prova3.mp4
Ma così funziona solo la seconda opzione -vf
Qualcuno è in grado di dirmi come devo scrivere la riga di comando di FFmpeg in modo che modifichi sia il senso, sia la velocità del video?
Ringrazio sin d'ora chi mi aiuterà.
[/quote]
Hai provato ad eliminare il secondo "-vf" ? cioè provando così:
Codice:
ffmpeg -i videoIN0.mkv -an -c:v libx264 -vf reverse "setpts=2.00*PTS" -s 640x360 videoIN0-prova3.mp4
Cita messaggio
#3
(31/10/2023, 22:05)m3nhir Ha scritto: [quote pid="18607" dateline="1698774150"]

Codice:
ffmpeg -i videoIN0.mkv -an -c:v libx264 -vf reverse -vf "setpts=2.00*PTS" -s 640x360 videoIN0-prova3.mp4
Ma così funziona solo la seconda opzione -vf
Qualcuno è in grado di dirmi come devo scrivere la riga di comando di FFmpeg in modo che modifichi sia il senso, sia la velocità del video?
Ringrazio sin d'ora chi mi aiuterà.
Hai provato ad eliminare il secondo "-vf" ? cioè provando così:
Codice:
ffmpeg -i videoIN0.mkv -an -c:v libx264 -vf reverse "setpts=2.00*PTS" -s 640x360 videoIN0-prova3.mp4

[/quote]
La cosa è un po' più complicata, ma fattibile.
1) Effettivamente, filtri video vanno dichiarati una volta sola, e le opzioni devono essere separate da una virgola; quindi il comando deve essere 
Codice:
ffmpeg -i videoIN0.mkv -an -c:v libx264 -vf "reverse,setpts=2.00*PTS" -s 640x360 videoIN0-prova3.mp4
oppure
Codice:
ffmpeg -i videoIN0.mkv -an -c:v libx264 -filter:v "reverse,setpts=2.00*PTS" -s 640x360 videoIN0-prova3.mp4
2) il concatenamento dei filtri audio/video, rende l'operazione pesante, quindi ci vuole un processore adeguato, o si rischia il freeze del sistema.
Saaluto.
Cita messaggio
#4
potresti usare uno script per far eseguire un parametro alla volta ( creando un file video intermedio) se farli eseguire in contemporanea carica troppo le risorse del pc.
Cita messaggio
#5
(01/11/2023, 12:08)m3nhir Ha scritto: potresti usare uno script per far eseguire un parametro alla volta ( creando un file video intermedio) se farli eseguire in contemporanea carica troppo le risorse del pc.
Si, confermo che lo script
Codice:
#!/bin/bash
ffmpeg -i videoIN0.mkv -an -c:v libx264 -filter:v "reverse" -s 640x360 provvisorio.mp4
ffmpeg -i provvisorio.mp4 -an -c:v libx264 -filter:v "setpts=2.00*PTS" videoIN0-prova3.mp4
fa quello che mi serve, dilazionando nel tempo il lavoro a carico della CPU, ottenendo risultati qualitativamente accettabili anche se uso CPU poco potenti.
In ogni caso, ritengo che sia dimostrato che, per video editing, è meglio avere una CPU adeguata.
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)