Saya perlu menggunakan concat dengan jalur absolut, tetapi sepertinya tidak berhasil. Dalam dokumen itu dikatakan harus bekerja. Adakah yang punya ide bagaimana membuatnya bekerja? ffmpeg Doc
Itu tidak berfungsi karena tampaknya menambahkan direktori file teks ke path file
Impossible to open 'C:/temp/ffmpeg/c:/temp/ffmpeg/01.mov'
Saya menggunakan Windows 7.
ffmpegTest.txt:
file 'c:/temp/ffmpeg/01.mov'
file 'c:/temp/ffmpeg/02.mov'
"Y:/Shotgun/bin/ffmpeg/bin/ffmpeg.exe" -f concat -i "C:/temp/ffmpeg/ffmpegTest.txt" -c copy "C:/temp/ffmpeg/test.mov
ffmpeg version N-58949-g0e575c2 Copyright (c) 2000-2013 the FFmpeg developers
built on Dec 9 2013 22:06:49 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 58.100 / 52. 58.100
libavcodec 55. 45.100 / 55. 45.100
libavformat 55. 22.100 / 55. 22.100
libavdevice 55. 5.102 / 55. 5.102
libavfilter 3. 92.100 / 3. 92.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
[concat @ 0000000000337920] Impossible to open 'C:/temp/ffmpeg/c:/temp/ffmpeg/01.mov'
C:/temp/ffmpeg/ffmpegTest.txt: Invalid argument
Anda dapat juga menggunakan file teks yang merupakan daftar file masukan seperti:
ATAU
Anda dapat secara eksplisit memberi nama file seperti:
Perhatikan bahwa Anda menggunakan 2 input satu demi satu, dan kemudian gunakan
-c:v copy
untuk mengatakan bahwa seharusnya tidak ada penyatuan kembali pengkodean saja. Juga, ini adalah demuxer concat . Ini fleksibel, tetapi membutuhkan 2 file input untuk memiliki codec yang sama.Konten file teks adalah seperti yang Anda tulis:
Perhatikan kutipan tunggal
Format generik adalah:
Itu akan berlaku untuk banyak drive dan jalur.
Berikut ini adalah contoh nyata dari file gabungan yang berfungsi:
Ini melintasi:
Satu drive internal Satu drive
USB eksternal
Satu drive jaringan pada mesin windows lain pada domain yang sama
Penggunaan perintah adalah:
Ini berfungsi seperti yang diharapkan tanpa kesalahan.
sumber
Memperhatikan; pada Windows, jika Anda menggunakan concat dengan textfile, path di textfile harus relatif terhadap path output .
Misalnya
Jika file Anda berada di direktori
C:\temp\bar.mp4
filefile Anda terlihat seperti ini:sumber
"
Karakter yang hilang ?Menggunakan
Dalam kasus Anda
Kuncinya adalah -aman 0 . Itu memungkinkan Anda untuk meletakkan path absolut dalam file txt.
sumber
@ Eric menjawab memberikan instruksi penting untuk memungkinkan path lengkap dalam input demuxer concat (Anda harus memberikan
-safe 0
opsi ke ffmpeg). Namun, di bawah Windows, demuxer concat ffmpeg tidak benar menangani path absolut / penuh dimulai dengan nama disk . Meskipun ia benar mengenali jalur penuh dalam pemeriksaan keamanannya, ia salah menafsirkan jalur tersebut sebagai relatif (karena tidak dimulai dengan garis miring) saat membuka file. Karena jalur non-absolut relatif terhadap lokasi skrip input demuxer concat,ffmpeg
tambahkan path yang terakhir ke path file. Jika argumen baris perintah skrip concat tidak mengandung pemisah jalur file (yaitu hanya nama file) masalahnya tertutup.Ilustrasi:
sumber
Walaupun
cmd.exe
case-insensitive,ffmpeg
tidak (sedang dibangun terutama di linux, ia cenderung ke * nix shell conventions). Jika Anda mengubahc:
pada setiap baris file input AndaC:
, itu akan berfungsi, saya pikir.sumber