FFMpeg concat demuxer güvensiz dosya adı


14

Aynı kodlama ve genişlik ve yükseklik boyutlarına sahip bazı kısa videoları birleştirmek (birleştirmek) için .net uygulamamın içinde ffmpeg kullanıyorum. Belgelerin söylediği gibi bir txt dosyası oluşturdum ve bu benim txt:

concatTextDirectory benim txt dosyamın dizinidir.

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'

Ve bu ffmpeg argüman kısmı:

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

ama hiçbir sonucu yok ve aşağıda rapor

ffmpeg 2016-04-25 tarihinde 19:02:30 tarihinde başladı Rapor
"ffmpeg-20160425-190230.log" yazılması Rapor Komut satırı: ffmpeg.exe -f concat -i
"C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt "-c kopya
" C: \ Kullanıcılar \ mtst \ Desktop \ Clips \ keep \ keep.mp4 "-y -report ffmpeg
sürüm N-79546-g13406b6 Telif Hakkı (c) 2000-2016 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 Komut satırını bölme. '-F' okuma seçeneği ... seçenek olarak eşleştirildi
'conc' argümanı ile 'f' (kuvvet biçimi). '-İ' okuma seçeneği ... 'C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt'
argümanıyla girdi dosyası olarak eşleşti
. Okuma seçeneği '-c' ...
'kopya' argümanı ile 'c' (kodek adı) seçeneği olarak eşleşti.
'C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.mp4' ... okuma seçeneği , komut satırını bölme olarak eşleşti . Bir grup seçeneği ayrıştırma: global. 1. argümanla seçenek y (çıktı dosyalarının üzerine yaz) uygulanıyor. 1. argümanla seçenek raporu uygulama (rapor oluşturma) başarıyla uygulandı . Bir grup seçeneği ayrıştırma: girdi dosyası C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt. Seçenek f (zorla) uygulanıyor
çıkış dosyasının. '-Y' okuma seçeneği ... '1' argümanı ile 'y' seçeneği (çıktı dosyalarının üzerine yaz) seçeneği olarak eşleşti. Okuma seçeneği 'rapor' ...





biçim) argüman concat ile. Bir grup seçeneği başarıyla ayrıştırdı. Bir giriş dosyası açma: C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt.
[file @ 00000000027d3ee0] Varsayılan beyaz liste 'dosyasını ayarlama, kripto'
[concat @ 00000000027d3800] Güvenli olmayan dosya adı
'C: \ Users \ mtst \ Desktop \ Clips \ keep \ a1.mp4' [AVIOContext @
0000000000957ca0] İstatistikler: 238 bayt okuma, 0,
C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt dosyasını arar: İşleme izin verilmiyor

sonunda gördüğünüz gibi diyor:

Güvenli olmayan dosya adı 'C: \ Users \ mtst \ Desktop \ Clips \ keep \ a1.mp4'

... ve İşleme izin verilmiyor. Ekstra ters eğik çizgi eklemeyi veya eğik çizgi iletmek veya çift kolondan kaçmak için ters eğik çizgileri değiştirmeyi, concatTextDirectory'nin başında veya sonunda çift tırnak veya tek tırnak eklemeyi denedim ... bu değişikliklerin hiçbiri herhangi bir sonuç vermedi.

Yanıtlar:


26

Ya koş

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

Veya içinde mutlak (tam) yollar kullanmayın keep.txt


Güvenli olmayan nedir ve neden? Belgelerdeki örnek mutlak yolları gösterir, bu yüzden sorun olmadığını düşünüyorum.
Gustavo Rodrigues

1
ffmpeg.org/pipermail/ffmpeg-devel/2013-Şubat/138400.html - mutlak yolların güvensiz kabul edilmesine neden olur. Ama mantığı hakkında emin değilim!
jamadagni

Ayrıca, belgelere dayalı mutlak yollar olduğunu düşünmüştüm ama görünüşe göre bu doğru değil. Sadece dosya isimlerini yaptım ve harika çalıştı.
Michael Tunnell

Göreli yol adlarını kullanmak için +1. Bütün örnekler dolu.
pkamb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.