ダウンロードした音楽動画は動画ファイルなのでそこそこの容量を持ちます
スマホなどの限られた保存領域のために容量を小さくしたいので音楽ファイルに変換しました
ただ、数個ならフリーソフトを使い一つ一つやればいいのですが数百個になると気が遠くなります
なので一括でバッチ処理をしたいと思います
元の動画
NoCopyrightSounds(以下NCS)の
Michael White – All Eyes On Me [NCS Release]
NCSについて
NoCopyrightSoundsを翻訳すると著作権のないサウンドです
よくBGMに無断で音楽を使うと著作権違反などに引っかかりますが、NCSは曲名と作者のクレジットを記載することを条件に無償で利用できる団体です(だと思います)
NoCopyrightSounds is a record label dedicated to releasing FREE music for the sole purpose of providing creators with the finest sounds to enhance the creativity and popularity of their content, safe from any copyright claims or infringement.
• NCS Music is free to use for independent Creators and their UGC (User Generated Content) on YouTube & Twitch – please remember to credit the artist, track and NCS and link back to our original upload.
• If you’re a brand or a commercial organisation interested in using NCS music on Youtube or anywhere else, get in touch at [email protected]
引用元:NoCopyrightSounds – YouTube
普通のPVなどを使うと何かしら問題が起こるのでこちらを使います(元々からNCSの音楽は好きですけどね)
この動画をダウンロードするなりキャプチャするなりして動画にします
ffmpeg
ffmpegは動画と音声を変換できるフリーソフトです
様々なOSでも使えます
ダウンロード
公式サイトにあるリンクからWindwos版でビルドされたものをダウンロードします
公式サイトのトップページにあるDownloadをクリック
次に開かれるページで下部にあるWindwosアイコンをクリックしてから、Windows Buildsを開きます
外部のページになりますがここで、ビルドされたものをダウンロードできます
ダウンロードした.zipファイルを展開し、binフォルダ内の「ffmpeg.exe」のみ動画ファイルのあるフォルダへコピーします。
残りは削除しても構いません
音声の抽出
ffmpegを使い音声を抽出するにはいくつか方法があります
1番簡単(と思うもの)なのは変換をかけないでそのまま抽出する方法です
まず、動画ファイルに記録されている音声の形式を知ります
ffmpeg.exeを置いたフォルダのなにもないところをシフトキーを押しながら右クリックすると「コマンドウィンドウをここで開く」と出てくるのでこちらからコマンドプロントを開きます
ffmpeg.exe -i <ファイル名>
とすると、動画の情報が出てきます
その情報の下部にあるAudioという項目を確認します
この動画ではAACです
主に.mp4などで使われているようです
この動画はvorbisのようです
主に.oggで使われています。ガラケーなど.oggを読み込む事ができる物がありましたね(世代がっ
この動画はmp3です
mp3はかなり普及されていますね
このように動画によってエンコード方式が変わってしまいます
この方法で抽出するには動画にあった方法でやる必要が出てきますが、今回動画の全ては同じNCSの動画で、幾つか見たところAACが多かったのですべてAACでやってしまいます
抽出
ffmpegで抽出するには
ffmpeg.exe -y -i <ファイル名> -acodec copy <出力ファイル名>
とやると出来ます
今回の動画はAACだったので、ファイル名はm4aとなります
よって
ffmpeg.exe -y -i 〇〇.mp4 -acodec copy 〇〇.m4a
となります
こちらも一つ一つやってたらキリがないのでスクリプトを組んでやってしまいます
スクリプト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
cd /d %~dp0 | |
setlocal enabledelayedexpansion | |
rem || ffmpegの設定及び引数 | |
rem ———————— | |
set FFMPEG=ffmpeg.exe -y -i | |
set FFMPEGOUT= -acodec copy | |
rem ———————— | |
rem ||ファイル名が「.mp4」のみ対象 | |
for /f "usebackq" %%i in (`dir /B /S *.mp4`) do ( | |
echo —————————————————- | |
echo %%i | |
echo. | |
rem ||ファイル名を変数に格納 | |
set dmpppp=%%i | |
rem ||抽出コマンド実行(ffmpeg.exe -y -i <ファイル名> -acodec copy <出力ファイル名> | |
%FFMPEG%%%i%FFMPEGOUT%!dmpppp:~0,-3!m4a | |
echo —————————————————- | |
) | |
echo. | |
rem pause>NUL | |
pause | |
exit /b 0 |
このスクリプトをコピーして、〇〇.batとしてffmpeg.exeと同じフォルダに保存します(まるまるはご自由に)
始めのsetの項目は行の最後にスペースがあるので注意してください
そしてこのファイルを実行するだけでエンコードが自動でほとんどのファイルを抽出してくれます
問題点
実行するとわかりますが「スペース文字があるファイル」があるとファイル名の指定に失敗し、ffmpegでも実行出来ません
ちょっとやった程度では難しいですね…
でも、ファイル制約がありますが、そこを除けば十分やりたいことが出来たのでいいとしましょう
参考:
音声コーデックの種類と違い(MP3・AAC・WMA・WAV・Vorbis・AC3・FLAC等)【フォーマット】 – AviUtlの易しい使い方
ffmpeg で動画ファイルから音声だけ抜き出す – katz’s adversaria
Windows、バッチファイル(.bat)で、フォルダ内のすべてのテキストファイル(.txt)を再帰的に取得し、ファイル名と行数を表示する – マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~
Windowsバッチ for文で代入した変数から文字列を抽出 – WindowsでバッチからRuby、Dartへと勉強中
<
p class=”title”>変数から特定部分を抽出するには – コマンドプロンプトを使いこなそう!
コメント