「Ffmpeg」の版間の差分

提供:onayami
(ページの作成:「<pre> 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. </pre>」)
 
編集の要約なし
 
(同じ利用者による、間の5版が非表示)
1行目: 1行目:
<pre>
* http://offliberty.io/
 
 
<syntaxhighlight lang="bash" line>




18行目: 21行目:
The VBR example has a target bitrate of 165 Kbit/s with a bitrate range of 140...185.
The VBR example has a target bitrate of 165 Kbit/s with a bitrate range of 140...185.


</pre>
 
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}
 
 
</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>

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}"