Script Bash com ffmpeg e sed

0

Portanto, estou tentando escrever um script no bash que adicionará o caminho relativo ao início de cada linha do concat_files.txt e, em seguida, quero concatenar todos os arquivos e colocar o arquivo de saída no mesmo diretório definido no arquivo. variável de caminho. Até agora, o comando sed está funcionando bem, eu só preciso descobrir como posso inserir o caminho na frente do arquivo de saída. A maneira mais fácil é concatenando-os no diretório atual e, em seguida, movendo o arquivo de saída para a variável path, mas não tenho espaço suficiente no diretório atual, portanto, isso não é uma opção.

#!/bin/bash

# Script that concatenates all the files defined in concat_files.txt

path=/mnt/disk/video_evaluation/XDROOT/Clip/

sed -i "s@^@file '$path@" concat_files.txt
sed -i "s/$/'/" concat_files.txt


ffmpeg -f concat -i concat_files.txt -c copy $path/output.mxf

E talvez outra melhoria no script seja se eu puder selecionar todos os arquivos com alguma extensão específica e colocá-los no arquivo. Mas eu não sei como eu posso fazer isso ...

    
por Georgе Stoyanov 15.02.2017 / 11:46

1 resposta

0

na verdade o @fox estava certo, o script funciona muito bem, eu o modifiquei um pouco para acomodar as mudanças sugeridas por ele:

#!/bin/bash

# Script that concatenates all the files defined in concat_files.txt
path=/mnt/disk/video_evaluation/XDROOT/Clip/

sed -e "s@^@file '$path@" concat_files.txt > new.txt
sed -e "s/$/.MXF'/" new.txt > final.txt
ffmpeg -f concat -safe 0 -i final.txt -c copy $path/output.mxf

Agora, sinto falta apenas da funcionalidade para adicionar os arquivos com uma extensão específica para um arquivo.

    
por 15.02.2017 / 15:43

Tags