Eu tenho muitos arquivos de vídeo antigos. Quando eu os converto, eles recebem uma nova data de criação (nascimento). Então a classificação e a pesquisa não 'funcionam' mais.
Como preservar a data de criação do vídeo original também no arquivo de vídeo convertido? Melhor ainda se puder preservar todas as informações? Talvez até mesmo substituir os dados de vídeo e áudio por vídeo convertido e manter todos os outros dados?
Responder1
Existem alguns métodos que vêm à mente. O mais simples é que vocênomeo vídeo com a data/hora, como Emmas-birthday-20190722.mp4
e use o nome do arquivo para estabelecer a data em que o vídeo foi gravado. Se você deseja que suas datas sejam classificáveis, talvez use 20190722-Emmas-birthday.mp4
.
O outro método envolve (suspiro)fazendo backup de seus arquivosantes de iniciar o processo de conversão. Depois de converter todos eles, você pode definir os carimbos de data e hora dos arquivos convertidos de volta aos valores dos arquivos originais em seu backup.
Definir uma função torna isso fácil. Este exemplo usa sintaxe que funciona no FreeBSD.
setdate()
{
# set file $1 to have same timestamp as file $2
touch -t $(date -r "$2" "+%Y%m%d%H%M.%S") "$1"
}
Aqui está um exemplo de uso da setdate
função:
$ ls -ltTr
total 10
-rw------- 1 jim jim 405 Jul 22 14:12:52 2019 foo
-rw------- 1 jim jim 361 Jul 22 14:13:06 2019 bar
-rw------- 1 jim jim 0 Jul 22 16:17:06 2019 farkle
$ setdate farkle bar # sets timestamp of file 'farkle' to be the same as 'bar'
$ ls -ltTr
total 10
-rw------- 1 jim jim 405 Jul 22 14:12:52 2019 foo
-rw------- 1 jim jim 0 Jul 22 14:13:06 2019 farkle
-rw------- 1 jim jim 361 Jul 22 14:13:06 2019 bar
Então, se você fizer backup dos seus arquivos primeiro:
$ mkdir backup
$ cp -p *.mp4 backup/
Então, depois de convertê-los todos, você pode:
$ for i in *.mp4; do setdate "$i" "backup/$i"; done
Não só isso, mas se uma de suas conversões der errado, seu vídeo insubstituível do aniversário de Emma ainda estará seguro no backup/
diretório.