「Ffmpeg」の版間の差分
Moutaku3dayo (トーク | 投稿記録) 編集の要約なし |
Moutaku3dayo (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の1版が非表示) | |||
| 27行目: | 27行目: | ||
yt-dlp -f 636+251 -N10 --progress "https://www.youtube.com/watch?v=xxxxxxxxx" | yt-dlp -f 636+251 -N10 --progress "https://www.youtube.com/watch?v=xxxxxxxxx" | ||
yt-dlp -F --progress ${1} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="python" line> | |||
import sys | |||
import subprocess | |||
import subprocess | |||
import shlex | |||
args = sys.argv | |||
# print(args[0]) | |||
# print(args[1]) | |||
# print(args[2]) | |||
import subprocess | |||
youtubekey = input('youtube key >> ') | |||
cmd = f"yt-dlp -F --progress \"https://www.youtube.com/watch?v={youtubekey}\"" | |||
cmd = f"echo \"https://www.youtube.com/watch?v={youtubekey}\"" | |||
cmd = f"https://www.youtube.com/watch?v={youtubekey}" | |||
# 新しいプロセスを起動し、すぐに制御を戻す | |||
# proc = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |||
proc = subprocess.Popen(['yt-dlp', '-F', '--progress', cmd], stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |||
# 他の処理を並行して行う... | |||
# プロセスの終了を待ち、出力とエラーを取得 | |||
stdout, stderr = proc.communicate() | |||
# proc.wait() と proc.returncode で終了コードも確認可能 | |||
print(stdout.decode()) | |||
ID = str(input('ID >> ')) | |||
########################################################################## | |||
command_list = ['yt-dlp', '-f', ID, '-N10', '--progress', cmd] | |||
print(command_list) | |||
# command_list = ['ls', '-a'] | |||
try: | |||
# stdoutとstderrをキャプチャする設定 | |||
process = subprocess.Popen( | |||
command_list, | |||
stdout=subprocess.PIPE, | |||
stderr=subprocess.PIPE, | |||
text=True # Python 3.7+ では、text=Trueで出力が文字列になる | |||
) | |||
# 外部コマンドが終了するのを待機し、出力とエラーを取得 | |||
stdout, stderr = process.communicate(timeout=15) | |||
if process.returncode == 0: | |||
print("コマンドは正常に終了しました。") | |||
print("標準出力:\n", stdout) | |||
else: | |||
# コマンドがエラーコードを返した場合 | |||
print(f"コマンドはエラーコード {process.returncode} で終了しました。") | |||
print("標準エラー出力:\n", stderr) | |||
except FileNotFoundError: | |||
print(f"エラー: コマンド '{command_list[0]}' が見つかりません。パスを確認してください。") | |||
except subprocess.TimeoutExpired: | |||
print("エラー: コマンドがタイムアウトしました。") | |||
except Exception as e: | |||
print(f"予期せぬエラーが発生しました: {e}") | |||
exit() | |||
print(cmd) | |||
# exit() | |||
# print(youtubekey) | |||
# subprocess.call([cmd]) | |||
subprocess.call(cmd) | |||
exit() | |||
# yt-dlp -f ${2} -N10 --progress "https://www.youtube.com/watch?v=${1}" | |||
</syntaxhighlight> | </syntaxhighlight> | ||
2025年9月28日 (日) 02:01時点における最新版
For FFmpeg with Constant Bitrate Encoding (CBR):
ffmpeg -i video.mp4 -vn \
-acodec libmp3lame -ac 2 -ab 160k -ar 48000 \
audio.mp3
or if you want to use Variable Bitrate Encoding (VBR):
ffmpeg -i video.mp4 -vn \
-acodec libmp3lame -ac 2 -qscale:a 4 -ar 48000 \
audio.mp3
The VBR example has a target bitrate of 165 Kbit/s with a bitrate range of 140...185.
python3 -m pip install -U yt-dlp
yt-dlp -F --progress "https://www.youtube.com/watch?v=xxxxxxxxx"
yt-dlp -f 636+251 -N10 --progress "https://www.youtube.com/watch?v=xxxxxxxxx"
yt-dlp -F --progress ${1}
import sys
import subprocess
import subprocess
import shlex
args = sys.argv
# print(args[0])
# print(args[1])
# print(args[2])
import subprocess
youtubekey = input('youtube key >> ')
cmd = f"yt-dlp -F --progress \"https://www.youtube.com/watch?v={youtubekey}\""
cmd = f"echo \"https://www.youtube.com/watch?v={youtubekey}\""
cmd = f"https://www.youtube.com/watch?v={youtubekey}"
# 新しいプロセスを起動し、すぐに制御を戻す
# proc = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
proc = subprocess.Popen(['yt-dlp', '-F', '--progress', cmd], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 他の処理を並行して行う...
# プロセスの終了を待ち、出力とエラーを取得
stdout, stderr = proc.communicate()
# proc.wait() と proc.returncode で終了コードも確認可能
print(stdout.decode())
ID = str(input('ID >> '))
##########################################################################
command_list = ['yt-dlp', '-f', ID, '-N10', '--progress', cmd]
print(command_list)
# command_list = ['ls', '-a']
try:
# stdoutとstderrをキャプチャする設定
process = subprocess.Popen(
command_list,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True # Python 3.7+ では、text=Trueで出力が文字列になる
)
# 外部コマンドが終了するのを待機し、出力とエラーを取得
stdout, stderr = process.communicate(timeout=15)
if process.returncode == 0:
print("コマンドは正常に終了しました。")
print("標準出力:\n", stdout)
else:
# コマンドがエラーコードを返した場合
print(f"コマンドはエラーコード {process.returncode} で終了しました。")
print("標準エラー出力:\n", stderr)
except FileNotFoundError:
print(f"エラー: コマンド '{command_list[0]}' が見つかりません。パスを確認してください。")
except subprocess.TimeoutExpired:
print("エラー: コマンドがタイムアウトしました。")
except Exception as e:
print(f"予期せぬエラーが発生しました: {e}")
exit()
print(cmd)
# exit()
# print(youtubekey)
# subprocess.call([cmd])
subprocess.call(cmd)
exit()
# yt-dlp -f ${2} -N10 --progress "https://www.youtube.com/watch?v=${1}"