前提
ソフトの目的としてやりたいこと
ーYoutubeの動画をPytubeでダウンロードし、ffmpegで変換したい
この質問で聞きたいこと
Q1ーPytubeで取得した動画のタイトルに「/」が入っていると、後にffmpegにわたすときにパスの一部として認識されてしまうのですが、これをパスの一部としてではなく、受け取ったタイトル名を1つの文字列として処理できるようにするにはどうすればよいでしょうか?
Q2ーまた取得したタイトルに「」があるとそもそも出力した動画に「」だけ飛ばされてしまうのはどう治せばよいでしょうか? ffmpegに渡すさいにフルパスで指定しているので1文字でも飛ばされてしまうとできなくなってしまうので直したいです。
###コードの概要
ytdl_ahyn Pytubeを用いて動画のDLとタイトルを取得している。titleという変数にタイトルを入れて、convert_nnに渡しています。
convert_nn ダウンロードした動画の変換を担当する関数です。ここで処理するときタイトルに入ってる文字によって上記の問題が起きてしまいます
該当のソースコード
Python
1def ytdl_ahyn(): 2 global url 3 global fldpath 4 global filename 5 global readyfilename 6 global dirchk 7 global dlpath 8 global title 9 filename = filenameinput.get() 10 url = urlinput.get() 11 qual = qualSelect.get() 12 ext = extSelect.get() 13 dirchk = fldpath + "./GreenTea" 14 print(qual) 15 dlpath = dirchk 16 17 yt = YouTube(url) 18 stream = yt.streams.get_audio_only() 19 finished = stream.download(dlpath) 20 title = yt.title 21 str(title) 22 convert_nn() 23 print(title)
Python
1def convert_nn(): 2 global dlpath 3 global title 4 str(title) 5 filename = filenameinput.get() 6 cvvideoname = dlpath + "/" + title + ".mp4" 7 cvaudioname = dlpath + "/" + title 8 print(cvaudioname) 9 ff = ffmpy.FFmpeg( 10 inputs={cvvideoname: None}, 11 outputs={cvaudioname + ".mp3": None}) 12 ff.run() 13 print("convert-Finish")
試したこと
元々str(title)というのはありませんでしたが、自分で入れてみました
それでも当該の問題は起きてしまいます
補足情報(FW/ツールのバージョンなど)
Python3.9.4
Pytube 10.7.2
VSCode
Windows 10 Home 64bit
少し前に似た質問をしたのですが、そのときはtitleそのものが取得できないという質問で、今回は取得はできるのだけれど、取得したものの内容によって正常に動作しない、という形です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/01 07:53
2021/05/01 14:04
2021/05/01 15:05