2016-07-02 16 views
8

Jak usunąć tylko jedną ścieżkę (nie wszystkie) z kontenera pliku wideo (.vob lub .mkv) za pomocą ffmpeg?Jak usunąć jedną ścieżkę z pliku wideo za pomocą ffmpeg?

Wiem, że mogę po prostu skopiować wideo (-c:v copy -an) i określoną ścieżkę audio z kontenera do dwóch oddzielnych plików, a następnie dołączyć do nich.

Ale czy jest łatwiejszy sposób? Czy mogę po prostu usunąć konkretną ścieżkę dźwiękową z pojemnika? Polecenie ffmpeg?

Odpowiedz

13

Zastosowanie negative mapping wykluczyć określoną potok (s):

ffmpeg -i input -map 0 -map -0:a:1 -c copy output 

Ten przykład mapowania wszystko oprócz drugiego strumienia audio.

+0

Wow, nie wiedziałem o funkcji mapowania negatywnego, świetna! – v010dya

+0

Mam problem, gdy plikiem wyjściowym jest .vob ('ffmpeg -i" in.vob "-map 0 -map -0: a: 1 -c copy" out.vob "'): _ Nieprawidłowe dane o typie mediów dla strumienia wyjściowego # 0_ i _Nie można zapisać nagłówka dla pliku wyjściowego # 0 (niepoprawne parametry kodeku?): Niepoprawny argument_ ale jeśli zmienię out.vob na out.ts działa 'ffmpeg -i" in.vob "-map 0 -map - 0: A: 1-copy „out.ts” ' – user25

+0

@ user25 muszę zobaczyć pełną moc konsoli z Twojego polecenia. Możesz użyć strony pastebin i podać link. – LordNeckbeard

2

Szukasz -map.

Zmieniono na używanie avconv, ale powinno być mniej więcej takie samo.

Załóżmy, że masz plik o nazwie "input.vob" z jednym filmem i dwiema ścieżkami audio; i chcesz mieć "output.vob" z wideo i ostatnim dźwiękiem.

byłoby to zrobić:

avconv -i input.vob -map 0:0 -c:v copy -map 0:2 -c:a copy output.vob 

Należy zauważyć, że:

  1. nie kopiować -map 0:1
  2. nie muszę robić , ponieważ istnieją ścieżki. Jeśli jednak w ogóle nie ma ścieżek audio, może być konieczne użycie takiego atrybutu.
  3. Czasami strumienie nie są numerowane w opisany przeze mnie sposób, na przykład dźwięk może pojawić się przed wideo.
  4. Jeśli są tam strumienie napisów, musisz dowiedzieć się, jak sobie z nimi poradzić.

Nie można pracować na plikach "na miejscu", należy zapisać do innego pliku.

P.S. Możesz zadawać takie pytania następnym razem pod numerem video.stackexchange.com.