MP3オーディオファイルとビデオファイルを含むフォルダがあります。どちらも同じ名前です。
ビデオを再生してサウンドを追加したい。
両方のファイルは同じままである必要があり、両方が含まれる新しいファイルは必要ありません。
コマンドラインでそれを行う方法はありますか?
無音のビデオを再生し、同時にオーディオファイルを追加するにはどうすればよいですか?
ビデオを再生してサウンドを追加したい。
(実験的)--input-slave
swtichを使用します。
コマンドラインでそれを行う方法はありますか?
ビデオにオーディオトラックがない場合は、次のようなものを使用できます。
vlc example.mp4 --input-slave=example.mp3
ビデオにオーディオトラックがある場合、VLCはデフォルトでそれを使用するため、代替トラックを次のように指定する必要があります。
vlc exmaple.mp4 --input-slave=example.mp3 --audio-track=1
ビデオに2つのオーディオトラックがある場合は、--audio-track=2
などを使用します(最初のトラックは0
であるため、外部オーディオに使用する数は、ビデオのオーディオトラックの数と同じです。 )。
また、(現在)指定できる外部オーディオトラックは1つだけなので、これは機能しません。
vlc example.mp4 --input-slave=example.mp3 --input-slave=example2.mp3
この場合、VLCは最後に指定されたもののみを使用します。
見た目と同じものが欲しかった。私はPowerShellで作成したアプリランチャーを持っています。それを実行しているのは、音楽ライブラリからランダムな8トラックのプレイリストを作成することです。これにより、フルスクリーンモードでランダムな視覚化ビデオが上部に表示されます。
次のようになります:vlc.ps1
#cache variables
$videopath = "C:\path\to\your\mp4\videos"
$musicpath = "C:\path\to\your\music"
$numtracks = 8
$slave = @()
$slavecount =0
$Rand = 0
$track = ""
$i=0
#Grab a random video
Get-Childitem -Path $videopath -Include *.mp4, *.avi, *.mkv -Recurse |
Foreach {
# Flip those slashes around
$slave += $_.Fullname -replace "\\","/"
}
$slavecount = $slave.Count
# Build a random 8-track
Get-Childitem -Path $musicpath -Include *.mp3, *.flac -Recurse |
Get-Random -Count $numtracks |
Foreach {
#Choose a random video from the array of videos
# This only used if they fix VLC to allow multiple slaves
$Rand = Get-Random -Minimum 0 -Maximum $slavecount
# Add the double quotes just how vlc likes it
$track = """" + $_.Fullname + """"
if ($i -lt 1) {
#start vlc, queue your first track and slave the random visualization
vlc --started-from-file --play-and-stop $track --input-slave=file:///$slave[$Rand] --fullscreen
} else {
#now enqueue the remaining tracks
#if multiple slaves are eventually supported this whole if statement can be removed
vlc --started-from-file --playlist-enqueue $track
}
$i++
}