pcmify.sh
· 645 B · Bash
原始文件
#! /bin/bash
askYesNo() {
local answer=
while [ "$answer" != "y" ] && [ "$answer" != "n" ]; do
read -e -n 1 -p "$1 (y/n) " answer
done
if [ "$answer" != "y" ]; then
return 1
fi
}
transcode() {
for i in *.mov; do
if [ -e "$i" ]; then
ffmpeg -i "$i" -c:v copy -c:a pcm_s16le "${i%.mov}-pcm.mov"
fi
done
for i in *.mp4; do
if [ -e "$i" ]; then
ffmpeg -i "$i" -c:v copy -c:a pcm_s16le "${i%.mp4}-pcm.mov"
fi
done
}
cd "$1"
ls -1 *.mov 2> /dev/null
ls -1 *.mp4 2> /dev/null
if askYesNo "Transcode AAC audio to Linear PCM audio and rewrap as .mov for the above files?"; then
transcode
fi
| 1 | #! /bin/bash |
| 2 | askYesNo() { |
| 3 | local answer= |
| 4 | while [ "$answer" != "y" ] && [ "$answer" != "n" ]; do |
| 5 | read -e -n 1 -p "$1 (y/n) " answer |
| 6 | done |
| 7 | |
| 8 | if [ "$answer" != "y" ]; then |
| 9 | return 1 |
| 10 | fi |
| 11 | } |
| 12 | |
| 13 | transcode() { |
| 14 | for i in *.mov; do |
| 15 | if [ -e "$i" ]; then |
| 16 | ffmpeg -i "$i" -c:v copy -c:a pcm_s16le "${i%.mov}-pcm.mov" |
| 17 | fi |
| 18 | done |
| 19 | |
| 20 | for i in *.mp4; do |
| 21 | if [ -e "$i" ]; then |
| 22 | ffmpeg -i "$i" -c:v copy -c:a pcm_s16le "${i%.mp4}-pcm.mov" |
| 23 | fi |
| 24 | done |
| 25 | } |
| 26 | |
| 27 | cd "$1" |
| 28 | ls -1 *.mov 2> /dev/null |
| 29 | ls -1 *.mp4 2> /dev/null |
| 30 | |
| 31 | if askYesNo "Transcode AAC audio to Linear PCM audio and rewrap as .mov for the above files?"; then |
| 32 | transcode |
| 33 | fi |