YouTubeのビデオURLから最初にx秒トリミングしたmp3をダウンロードしたいと思います。
youtube-dlがYouTubeからローカルマシンに動画をダウンロードできることがわかりました。しかし、youtube-dlのmanページを見ると、トリムオプションが見つかりませんでした。Bash:YouTube URLからトリムされたmp3をダウンロードするbashスクリプト
ダウンロードしたmp3ファイルをトリミングするためにffmpegを使用しようとしました。
これを行う代わりに2つのステップがあります。私は同じことをする1つのbashスクリプトを書くのが好きです。
私の試みは以下の通りです。
しかし、私は1つの場所で立ち往生しました:
"出力ファイルの可変名をYOUTUBE-DLから取得する方法は?"
は、スクリプトは以下のとおりである:
# trim initial x seconds of mp3 file
# e.g. mytrim https://www.youtube.com/watch?v=dD5RgCf1hrI 30
function mytrim() {
youtube-dl --extract-audio --embed-thumbnail --audio-format mp3 -o "%(title)s.%(ext)s" $1
ffmpeg -ss $2 -i $OUTPUT_MP3 -acodec copy -y temp.mp3
mv temp.mp3 $OUTPUT_MP3
}
変数値$ OUTPUT_MP3を取得する方法は?
echo "%(タイトル)s。%(ext)s"は逐語的な出力を与え、出力ファイル名は与えません。
スクリプトを動作させるにはどうすればよいですか?
ヘルプは高く評価されます。
1.テキストファイルから曲をダウンロードするにはyoutube-dlの出力ファイルですが、その名前を '-i'値として' ffmpeg'に渡すことはできませんか? 2. 'ffmpeg -i file 2> 1 |の出力を解析することができます。 grep -i title'を実行して、ファイルに埋め込まれているタイトル名を抽出します。または、 'ffmpeg -i file'の出力を見て、必要なデータを与える別のキー値があるかどうか確認してください。いくつか小さなサンプルを期待してファイル名などをあなたのQ.に追加すると助けになるかもしれません。 – shellter
私はあなたの問題に答えるのに役立つ方向をあなたに指摘しようとしています。最初に 'ffmpeg -i file 2>&1 | grep -i title'は何か役に立つものを作り出しています。それがあなたが使用したいと思う正確な値を示しているなら、あなたは 'OUTPUT_MP3 = $(ffmpeg -i file 2>&1 | grep -i title')を意味すると思います。そうでなければ、サンプルデータを使用してQを改善する必要があります。幸運です。 – shellter
@shellter私はyoutube-dlから作成された出力ファイル名、例えばhello.mp3を取得しますが、スクリプトにはわかりません。 –