YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-10 (水)


[一語一絵/IT系]

二ヶ国語音声対応 / 2020-06-28 (日)

昨年の二ヶ国語音声対応では日本語/英語それぞれ2chステレオを確保した2トラックに対して全てMAPオプションで列挙する事で多国語対応したのだが、『きかんしゃトーマス』がL/Rを日本語/英語に置き換えたモノラル2カ国語フォーマットで聞きづらいので、これもL/Rを分離してモノラルマルチトラックとする事に。

要は"channelsplit[FL][FR]"で分離して -map "[FL]" -map "[FR]" すれば良いという事なので、 ~/bin/stereo2bilingual.sh

#!/bin/bash

TMPFIL=$$.mp4
# IN_FILES="${1:-*.mp4}";
IN_FILES=$*

for f in ${IN_FILES}; do
    ffmpeg -i ${f} \
      -filter_complex "channelsplit[FL][FR]" -map "0:v" -map "[FL]" -map "[FR]" \
      -metadata:s:a:0 language=jpn -metadata:s:a:1 language=eng \
      -c:v copy ${TMPFIL};
    mv ${f} ${f}.origin;
    mv ${TMPFIL} ${f};
    touch --reference=${f}.origin ${f};
done
というスクリプトを書いて録画済みの『きかんしゃトーマス』をコンバート。jpn/engをmetadataとして入れるのもポイントだ。

今後の録画エンコードについては~/bin/get_stream_map.plにchannelsplit対応を追加した~/bin/get_audio_parameter.plを作成。ストリームからステレオ/多国語の判断はできそうにないので、ファイル名に【二】が入っているかどうかとして、着地。

【参照】
●82.hatenablog.com http://82.hatenablog.com/
Ubuntu ffmpegでTSファイルの複数音声(2ヶ国語)を処理する 2016年3月15日
●ニコラボ https://nico-lab.net/
任意の音声チャンネルを出力する channelsplit 2019年8月24日
●FFmpeg https://ffmpeg.org/
AudioChannelManipulation
●Wikipedia https://ja.wikipedia.org/wiki/
音声多重放送
二重音声放送
2か国語放送
H.264
FFmpeg
x264