
Tengo una carpeta con un archivo de audio MP3 y un archivo de video. Ambos se llamaron igual.
- Ejemplo.mp3
- Ejemplo.mp4
Quiero reproducir el video y agregar el sonido.
Ambos archivos deben permanecer iguales y no quiero ningún archivo nuevo que contenga ambos.
¿Hay alguna manera de hacerlo con la línea de comando?
Respuesta1
¿Cómo reproducir un video sin sonido y agregar un archivo de audio al mismo tiempo?
Quiero reproducir el video y agregar el sonido.
Con el interruptor (experimental) --input-slave
.
¿Hay alguna manera de hacerlo con la línea de comando?
Si su video no tiene pistas de audio, simplemente puede usar algo como lo siguiente:
vlc example.mp4 --input-slave=example.mp3
Si su video tiene una pista de audio, VLC la usará de forma predeterminada, por lo que debe especificar la pista alternativa de la siguiente manera:
vlc exmaple.mp4 --input-slave=example.mp3 --audio-track=1
Si su video tiene dos pistas de audio, entonces usaría --audio-track=2
y así sucesivamente (la primera pista es 0
, por lo que el número que usa para el audio externo es igual al número de pistas de audio en el video).
Además, (actualmente) solo puedes especificar una única pista de audio externa, por lo que esto no funcionará:
vlc example.mp4 --input-slave=example.mp3 --input-slave=example2.mp3
En este caso, VLC sólo utiliza el último especificado.
Respuesta2
Yo quería lo mismo al parecer. Tengo un iniciador de aplicaciones que escribí en PowerShell, y una de las cosas que hago es crear una lista de reproducción aleatoria de 8 pistas de mi biblioteca de música y coloca un video de visualización aleatoria en la parte superior en modo de pantalla completa.
Se parece a esto: 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++
}