
MP3 오디오 파일과 비디오 파일이 들어 있는 폴더가 있습니다. 둘다 이름이 똑같네요.
- 예.mp3
- 예.mp4
영상을 재생하고 소리를 추가하고 싶어요.
두 파일 모두 동일하게 유지되어야 하며 두 파일이 모두 포함된 새 파일을 원하지 않습니다.
명령줄로 완료할 수 있는 방법이 있나요?
답변1
소리 없는 비디오를 재생하는 동시에 오디오 파일을 추가하는 방법은 무엇입니까?
영상을 재생하고 소리를 추가하고 싶어요.
(실험적인) --input-slave
스위치를 사용합니다.
명령줄로 완료할 수 있는 방법이 있나요?
비디오에 오디오 트랙이 없으면 다음과 같이 간단하게 사용할 수 있습니다.
vlc example.mp4 --input-slave=example.mp3
비디오에 오디오 트랙이 있는 경우 VLC는 기본적으로 이를 사용하므로 다음과 같이 대체 트랙을 지정해야 합니다.
vlc exmaple.mp4 --input-slave=example.mp3 --audio-track=1
비디오에 두 개의 오디오 트랙이 있는 경우 --audio-track=2
등을 사용합니다(첫 번째 트랙은 0
이므로 외부 오디오에 사용하는 번호는 비디오의 오디오 트랙 번호와 동일합니다).
또한 (현재) 단일 외부 오디오 트랙만 지정할 수 있으므로 다음과 같이 작동하지 않습니다.
vlc example.mp4 --input-slave=example.mp3 --input-slave=example2.mp3
이 경우 VLC는 마지막으로 지정된 것만 사용합니다.
답변2
나도 똑같은 것을 원했던 것 같다. 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++
}