使用VLC CLI增加文件的卷

Ram*_*hum 7 audio vlc

我的目标是拥有一个带有音频文件的脚本,并将其音量增加50%.

我目前使用以下AutoHotKey代码段将文件编码为MP3:

run_string := "bash -c ""\""c:\Program Files\VideoLAN\VLC\vlc.exe\"" -I dummy \""" . file_path . "\"" --sout='#transcode{acodec=mp3,vcodec=dummy}:standard{access=file,mux=raw,dst=\""" . file_path . ".mp3\""}' vlc://quit"""
Run Code Online (Sandbox Code Playgroud)

如何修改此行不仅编码为mp3,还将文件的音量增加50%?我尝试过设置,--volume 150但它只是让文件播放,而我不想播放,我想让它与该卷一起保存.

如果您有其他Windows兼容工具的建议来修改可以执行此操作的音频,(以及如何执行此操作的说明),我将很高兴听到它们.

kha*_*han 5

我建议你使用ffmpeg.它非常强大,跨平台32或64位,音频和视频转换器.可以从Zeranoe FFmpeg - Builds下载

下面的示例命令适用于从视频或音频转换器中提取音频,其音量增加或减少支持.

将视频中的音频提取到MP3,或将音频转换为MP3(示例InputFilePath_VideoOrAudio ="e:\ video.mp4"或"e:\ audio.m4a")

e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -acodec libmp3lame -ab 192k -ar 48000 -sn -dn -vn "E:\out.mp3"
Run Code Online (Sandbox Code Playgroud)

将视频中的音频提取到MP3,并在提取-af"volume = 1.5"参数时增加音量150%.

e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -acodec libmp3lame -ab 192k -ar 48000 -sn -dn -vn -af "volume=1.5" "E:\out.mp3"
Run Code Online (Sandbox Code Playgroud)

音频转换器参数列表(mp3,ogg,ac3,wma,flac,wav,aiff,m4a ....).转换为音频添加-af"volume = VolumeValue"参数时更改音量级别.

VolumeValue = 0.5减少体积%50

VolumeValue = 1.5增加体积%150

VolumeValue = 2.0增加音量%200,依此类推.

e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -acodec libmp3lame -ab 192k -ar 48000 -sn -dn -vn -af "E:\out.mp3"
e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -acodec ac3 -ab 192k -ar 48000 -sn -dn -vn "E:\out.ac3"
e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -f ogg -acodec libvorbis -ab 192k -ar 48000 -sn -dn -vn "E:\out.ogg"
e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -acodec wmav2 -ab 192k -ar 48000 -sn -dn -vn "E:\out.wma"
e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -acodec flac -sn -dn -vn "E:\out.flac"
e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -sn -dn -vn "E:\out.wav"
e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -f aiff -sn -dn -vn "E:\out.aiff"
e:\ffmpeg\ffmpeg.exe -y -i "InputFilePath_VideoOrAudio" -acodec aac -ab 192k -ar 48000 -sn -dn -vn "E:\out.m4a" 
Run Code Online (Sandbox Code Playgroud)

注1:在这种情况下,某些编解码器可能是实验性的,您应该使用-strict experimental-strict -2参数.

注2: -ab参数表示音频比特率.有些设备无法播放比特率大于-ab 192k的音频文件.使用-ab 128k-ab 192k-ar 44100参数来生成可以播放大多数移动设备的音频文件.-ac 2参数表示立体声-ac 1表示单声道.

转换输入文件的特定部分使用-ss 00:00:00-t参数.-ss表示从-t开始表示持续时间.重要:参数-ss应放在-i参数之前,否则ffmpeg会慢慢寻找-ss位置.

示例:假设输入文件持续时间为00:20:00(20分钟)

仅使用-ss 00:05:00表示将输入文件从第5分钟转换为输入文件的结尾.输出文件的持续时间为15分钟.

使用-ss 00:05:00-t 120-t 00:02:00表示转换120秒,从第5分钟开始.输出文件的持续时间为120秒.

e:\ffmpeg\ffmpeg.exe -y -ss 00:05:00 -i "InputFilePath_VideoOrAudio" -t 120 -acodec libmp3lame -ab 192k -ar 48000 -sn -dn -vn -af "E:\out.mp3"
Run Code Online (Sandbox Code Playgroud)

注意: -y意味着事先ffmpeg的是/否问题,例如输出文件已存在,是否写入?使用-y参数ffmpeg over写入输出文件(如果它已经存在而不询问用户).

-sn禁用字幕,-vn禁用视频,-dn禁用输出文件的数据流.