У меня есть два отдельных файла в разных папках с одинаковыми именами, и я хотел бы перенести метаданные из файла в «folder1» в «folder2». Затем я хотел бы добавить целую кучу файлов, подходящих к этому формату, и пакетную передачу всей информации метаданных.
Из нити обмена стека, которую я пробовал:
"The following script will loop through the the files in one directory, find corresponding files in a second directory and then combine these two files into a third output directory
dir1=FIRST DIRECTORY
dir2=SECOND DIRECTORY
output=OUTPUT DIRECTORY
for file in $(ls $dir1); do
ffmpeg -i "$dir1/$file" -i "$dir2/$file" -map 1 -c copy \
# copies all global metadata from in0.mkv to out.mkv
-map_metadata 0 \
# copies video stream metadata from in0.mkv to out.mkv
-map_metadata:s:v 0:s:v \
# copies audio stream metadata from in0.mkv to out.mkv
-map_metadata:s:a 0:s:a \
"$outdir/$file"
done"
Но я не могу заставить ее работать должным образом, и это немного излишне. Он продолжает говорить:
If you want to make something reuseable you could put this in a script with the following header (remove the assignment for dir1, dir2 and output in the script above). And then call it as script.sh dir1 dir2 outdir
#!/bin/bash
set -x errexit # exit immediately on error
dir1="$1"
dir2="$2"
output="$3"
И я полностью потерян. Может кто-нибудь, пожалуйста, помогите мне заставить это работать и проведите меня через это немного легче, поскольку я довольно неопытен с кодом / FFMPEG.
Спасибо.