sh 将m4a文件递归转换为mp3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 将m4a文件递归转换为mp3相关的知识,希望对你有一定的参考价值。

#!/bin/bash
#
#
#set -ux
set +e
if [ -z "$1" ] ; then
    TRANSCODEDIR="."
else
    TRANSCODEDIR="$1"
fi

abs_basefolder=`realpath "$TRANSCODEDIR"`
folder_base=`dirname "$abs_basefolder"`
folder_name=`basename "$abs_basefolder"`

function recursive_convert {
    find "$1" -type d -print0 |
    while IFS= read -rd '' directory_to_convert; do 
        echo "Converting files in $directory_to_convert"; 
        output_directory=$directory_to_convert              
        echo "Converted files will be saved in $output_directory"; 
        # TODO only find video files
        # *.mkv *.webm *.flv *.avi *.mov *.wmv *.mp4 *.mp4$ *.m4v *.flv
        find "$directory_to_convert" -maxdepth 1 -mindepth 1 -type f -print0 | 
        while IFS= read -r -d '' file_to_convert; do
            file_to_convert_filename=$(basename "$file_to_convert")
            if [[ ${file_to_convert_filename: -4} == ".m4a" ]]; then
                converted_filepath="$output_directory/${file_to_convert_filename%.*}.mp3"
                # If the file doesn't exist then convert
                if [ ! -e "$converted_filepath" ]; then
                    echo "Converting $file_to_convert"
                    avconv -i "$file_to_convert" "$converted_filepath"  </dev/null
                    rm "$file_to_convert"
                else
                    echo "$converted_filepath already exists"
                fi
            fi
        done
    done
}

recursive_convert "$abs_basefolder"

以上是关于sh 将m4a文件递归转换为mp3的主要内容,如果未能解决你的问题,请参考以下文章

如何将M4A格式转换成MP3格式?

使用 C# 中的 NAudio 将 M4A 音频文件转换为 MP3 的问题/错误

如何将m4a音频换成mp3格式

怎么将MP3转换为m4a的啊

如何以编程方式将 mp3 转换为 iTunes 可播放的 aac/m4a 文件?

如何将m4a音频换成mp3格式