Некоторые из моих альбомов имеют свои метаданные в конце файлов. Это нормально, пока вы на самом деле не захотите транслировать один из них на сетевой медиаплеер. Игрок либо выбрасывает, либо жалуется.
К счастью, есть небольшой инструмент, который может собирать данные с конца и вставлять их спереди. Менее хорош его синтаксис. Это единственный формат, который он принимает:
qt-faststart <infile.mov> <outfile.mov>
Нет возможности передать ему каталог. Нет варианта для нескольких файлов. Нет возможности для фиксации на месте.
Как я могу заставить команду, подобную этой, работать для моих файлов, если я хочу обрабатывать каждый файл в каталоге с таким же заданным расширением?
Самая большая проблема здесь не способна перезаписывать тот же файл. Мы должны переместить файл из пути и затем записать новый с qt-faststart
и затем вымыться:
find -iname '*m4a' -exec sh -c 'mv "{}" tmp; qt-faststart tmp "{}"; rm tmp' \;
Bish колотят ерунду, зафиксированный альбом.
Я настроил ответ Oli. Если они будут ошибкой (т.е. если MOOV не будет в конце файла), сценарий выше приведет к удаляемому файлу. Эта версия избегает этого mv'ing tmp файл в конце. Если qt-faststart перестал работать, нет никакого tmp файла так сбои mv также продажа в розницу исходного файла.
find -iname '*.mp4' -exec sh -c 'echo "{}"; qt-faststart "{}" tmp; mv tmp "{}" ' \;