電子書籍の厳選無料作品が豊富!

os.system( f"ffmpeg\
-loglevel quiet\
-headers 'X-Radiko-Authtoken:{token}'\
-i '{m3u8}'\
/tmp/moning.mp3" )
のように、m3u8またはtokenの変数を記述して想定通り動いてるものを

c = '\"ffmpeg'
c += ' -loglevel quiet'
c += ' -headers X-Radiko-Authtoken:' + str({token})
c += ' -i ' +str({m3u8})
c += ' /tmp/moning.mp3\"'
os.system( c )

に変えて上記記述を含んだ./radiko_back.py HENSU実行すると

b'JP13,\xtest.e6\x9d\xb1\xe4\xba\xac\xe9\x83\xbd,tokyo Japan\r\n'
sh: ffmpeg -loglevel quiet -headers X-Radiko-Authtoken:{'QxTi0UX50OQn05qhtPzw0A'} -i {'http://test.ne.jp/HENSU/_definst_/chunklist_w108 …} /tmp/moning.mp3: not found
になるのですが、どこがおかしいのでしょうか?指摘頂ければ幸いです

A 回答 (1件)

c = '\"ffmpeg'


c += ' /tmp/moning.mp3\"'

これだと、cには「二重引用符で ffmpeg(略).mp3 を括った文字列」になるので、
ffmpegコマンドに各種引数を付けたものではなく、
「ffmpeg(略).mp3」という長いコマンドを引数無しに実行しようとします。
おそらくそんなコマンドは無いので not found になります。

なぜ、二重引用符でくくったのでしょうか?
    • good
    • 0
この回答へのお礼

参考になりました、もとのソースをcに設定するソース'f\"ffmpeg'にしたところfffmpgeを実行しようとしているように見えたので、f\を削除しました。
アドバイスを読んで間違いを認識できました。ありがとうございます。

お礼日時:2021/08/01 11:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!