FFMpeg concat de demuxer nome file non sicuro


14

Sto usando ffmpeg nella mia applicazione .net per unire (concatenare) alcuni brevi video con le stesse dimensioni di codifica, larghezza e altezza. Ho creato un file txt come dice la documentazione e questo è il mio txt:

concatTextDirectory è la directory del mio file txt.

file 'C:\Users\mtst\Desktop\Clips\keep\a1.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a2.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a3.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a4.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a5.mp4'

E questa è la parte dell'argomento ffmpeg:

ffmpeg.StartInfo.Arguments = "/c ffmpeg.exe -f concat -i " + concatTextDirectory + " -c copy " + videoOut + " -y -report";

ma non ha alcun risultato e di seguito è riportato il rapporto

ffmpeg avviato il 25-04-2016 alle 19:02:30 Relazione scritta in
"ffmpeg-20160425-190230.log" Riga di comando: ffmpeg.exe -f concat -i
"C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt "-c copy
" C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.mp4 "-y -report
versione ffmpeg N-79546-g13406b6 Copyright (c) 2000-2016 the FFmpeg
22.100 libavcodec 57. 35.100 / 57. 35.100 libavformat 57. 34.102 / 57. 34.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 44.100 / 6. 44.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Suddivisione della riga di comando. Lettura dell'opzione '-f' ... abbinata come opzione
'f' (formato forzato) con argomento 'concat'. Lettura dell'opzione '-i' ...
abbinata come file di input all'argomento
'C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt'. Lettura dell'opzione '-c' ...
associata all'opzione 'c' (nome codec) con l'argomento 'copia'. Lettura
dell'opzione "C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.mp4" ... corrispondente come
file di output. Lettura dell'opzione '-y' ... abbinata all'opzione 'y' (sovrascrivi i file di output) con l'argomento '1'. Lettura dell'opzione '-report' ... abbinata all'opzione 'report' (genera un report) con l'argomento '1'. Terminata la
divisione della riga di comando. Analisi di un gruppo di opzioni: globale.
Applicazione dell'opzione y (sovrascrivere i file di output) con l'argomento 1.

analizzato un gruppo di opzioni. Analisi di un gruppo di opzioni: file di input
C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt. Applicazione dell'opzione f (
formato forzato ) con argomento concat. Analizzato con successo un gruppo di opzioni. Apertura di un file di input: C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt.
[file @ 00000000027d3ee0] Impostazione file whitelist predefinito ', crittografia'
[concat @ 00000000027d3800] Nome file non sicuro
'C: \ Users \ mtst \ Desktop \ Clips \ keep \ a1.mp4' [AVIOContext @
0000000000957ca0] Statistiche: 238 byte letti, 0 cerca
C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt: operazione non consentita

come puoi vedere alla fine dice:

Nome file non sicuro 'C: \ Users \ mtst \ Desktop \ Clips \ keep \ a1.mp4'

... e operazione non consentita. Ho provato ad aggiungere barre rovesciate extra o cambiare barre rovesciate in avanti o sfuggire a due punti, aggiungendo virgolette doppie o virgolette all'inizio o alla fine di concatTextDirectory ... nessuna di queste modifiche ha prodotto alcun risultato.

Risposte:


26

O correre

ffmpeg.exe -f concat -safe 0 -i
"C:\Users\mtst\Desktop\Clips\keep\keep.txt" -c copy
"C:\Users\mtst\Desktop\Clips\keep\keep.mp4

Oppure non usare percorsi assoluti (completi) in keep.txt


Cosa non è sicuro e perché? L'esempio nella documentazione mostra percorsi assoluti, quindi penso che non sia questo il problema.
Gustavo Rodrigues,

1
ffmpeg.org/pipermail/ffmpeg-devel/2013-February/138400.html - fa sì che i percorsi assoluti vengano trattati come non sicuri. Non sono sicuro della sua logica però!
Jamadagni,

Ho anche pensato che si supponesse che fossero percorsi assoluti basati su documenti, ma a quanto pare non è giusto. L'ho fatto solo con nomi di file e ha funzionato benissimo.
Michael Tunnell,

+1 per l'utilizzo dei nomi dei percorsi relativi. Tutti gli esempi sono completi.
pkamb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.