我正在编写一个命令行工具,将具有各种格式的输入音乐库(flac/ogg/mp3/...)转换为给定格式的输出音乐库(flac/ogg/mp3).我将它基于avconv(或ffmpeg,如果avconv不可用),因为它是我发现的最完整的命令行转换器.我的脚本可从此URL(GitHub)获得:
https://github.com/biapy/howto.biapy.com/blob/master/various/mussync-tools
我正在尝试将元数据从输入库文件传递到输出/转换的库文件.
我想出了这段代码:
local MAP_METADATA=' 0:g'
# Specific needs for some input formats/
case "${INPUT_FILE_MIMETYPE}" in
'application/ogg' )
# Get input metadata from first audio stream and direct it to global.
MAP_METADATA=' 0:s:0'
;;
* )
# Do nothing.
# MAP_METADATA=' 0:g'
;;
esac
# Specific needs for some output formats/
local OUTPUT_OPTIONS=""
case "${OUTPUT_FORMAT}" in
'flac' )
# No encoding options needed.
ENCODING_OPTIONS=""
;;
'ogg' )
# Set vorbis as default codec for ogg.
OUTPUT_OPTIONS="-codec:a libvorbis -f ${OUTPUT_FORMAT}" …Run Code Online (Sandbox Code Playgroud)