홈>
find 및 ffmpeg를 사용하여 LAMP 서버에서 비디오를 일괄 트랜스 코딩하기 위해 bash 스크립트를 실행하고 있습니다
dir="/srv/videos"
for OUTPUT in "$(find $dir -iname *.AVI -o -iname *.MOV)"
do
ffmpeg -i "$OUTPUT" "${OUTPUT%%.*}.mp4" -hide_banner
done
파일에 공백이 있으면 ffmpeg가 오류를 반환합니다
/srv/videos/file with white spaces.MOV: No such file or directory
공백이없는 파일의 경우 제대로 작동합니다.
따옴표 안에 파일 이름을 인쇄하면 제대로 작동하는 것처럼 보입니다
for OUTPUT in "$(find $dir -iname *.MOV)"; do echo "$OUTPUT";done
반품
/srv/videos/file with white spaces.MOV
오류를 피하기 위해 무엇을 변경해야합니까?
수정 ${OUTPUT %%. *}. mp4에 ""를 추가하면 동일한 오류가 발생하고 확장 대문자가 수정되었습니다 (MOV로 이동)
- 답변 # 1
관련 자료
- batch file - 여러 소스에서 ffmpeg 출력 파일 이름
- python - 비디오 ffmpeg 배치 스크립트에서 파일 이름 표시
- c# - ffmpeg 오류 발생 - 파일 이름 또는 확장자가 너무 깁니다
- FFMPEG 증가 파일 이름이 1000 이상이고 1에서 재설정
- printf - ffmpeg - % 03d를 사용하여 파일 이름 패턴을 만들 때 000을 건너 뛰는 방법은 무엇입니까?
- FFMPEG HLS streaming and transcoding on the fly to HTML player - html 플레이어로 ffmpeg hls 스트리밍 및 코드 변환 - 트랜스 코딩 중 비디오 지속 시간 변경
- amazon s3 - ffmpeg 코드 변환 결과를 S3로 스트리밍
- bash - 파일 이름을 ffmpeg 명령으로 파이프하려면 어떻게해야합니까?
- ffmpeg로 코드 변환 할 때 파일 내에서 PTS 간격을 제거하는 방법은 무엇입니까?
- javascript - NodeJS가 파일 이름에 ffmpeg thumb % t를 생성합니다
관련 질문
- python : 폴더의 각 파일에 대해 bash 스크립트 실행
- bash : 각 이미지 ffmpeg 프로세스에 대한 셸 스크립트 호출(시간 경과)
- linux: m3u8: .m3u8에 나열된 세그먼트에서 mp4를 수동으로 다운로드하고 생성하는 방법
- 이 한 줄 Bash 스크립트의 버그는 어디에 있습니까?
- 파일 또는 폴더 이름에 공백이 있는 경우 Bash 스크립트 오류
- bash : FFMPEG가 동일한 인코딩으로 code 변환을 시도합니까?
- linux : 이 경우 경로를 사용하는 방법은 무엇입니까?
- 20.04 : bash 스크립트의 ffmpeg에서 예기치 않은 출력
- bash : ffmpeg를 시작하는 데 너무 오래 걸립니다.
for 루프를 제거하고 find 명령을 사용하면됩니다 (예 : 아래처럼 smth).