4

У меня есть папка с аудиофайлами MP3 и видеофайлами. Оба названы одинаково.

  • Example.mp3
  • Example.mp4

Я хочу воспроизвести видео и добавить звук.
Оба файла должны оставаться одинаковыми, и я не хочу, чтобы в них был новый файл.

Есть ли способ сделать это с помощью командной строки?

2 ответа2

3

Как воспроизвести беззвучное видео и одновременно добавить аудиофайл?
Я хочу воспроизвести видео и добавить звук.

С (экспериментальным) - --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 использует только последний указанный.

1

Я хотел то же самое, что кажется. У меня есть средство запуска приложений, которое я написал в 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++

    }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .