Czego użyć, aby szybko wyciąć audio / wideo

150

Jeśli wystarczy przyciąć audio / wideo z dłuższej ścieżki, czego mogę użyć? Próbowałem OpenShot, ale uważam, że eksportowanie wideo jest powolne, być może kompiluje wszystkie „warstwy” w nowy film? Być może potrzebuję tylko prostego narzędzia „przycinania” audio / wideo, które będzie surfować?

Jiew Meng
źródło
Z jakimi formatami wideo masz do czynienia? Szukasz GUI lub rozwiązania CLI?
fossfreedom
1
Formaty to prawdopodobnie mp4, flv, mp3. GUI lub CLI będzie w porządku.
Jiew Meng,

Odpowiedzi:

159

Chciałem wspomnieć o poleceniach takich jak ffmpeg lub avconv (nowy), które mogą ZNACZNIE podzielić pliki na grupy. Na przykład:

FFMPEG

ffmpeg -ss 00:00:00 -t 00:30:00 -i input.avi -vcodec copy -acodec copy output1.avi
ffmpeg -ss 00:30:00 -t 00:30:00 -i input.avi -vcodec copy -acodec copy output2.avi  
ffmpeg -ss 01:00:00 -t 00:30:00 -i input.avi -vcodec copy -acodec copy output3.avi

Lub

ffmpeg -ss 0 -t 100 -i source.m4v -vcodec copy -acodec copy part1.m4v
ffmpeg -ss 100 -t 100 -i source.m4v -vcodec copy -acodec copy part2.m4v  
ffmpeg -ss 200 -t 100 -i source.m4v -vcodec copy -acodec copy part3.m4v  
ffmpeg -ss 300 -t 100 -i source.m4v -vcodec copy -acodec copy part4.m4v

AVCONV

avconv -i input.avi -vcodec copy -acodec copy -ss 00:00:00 -t 00:30:00 output1.avi
avconv -i input.avi -vcodec copy -acodec copy -ss 00:30:00 -t 00:30:00 output2.avi  
avconv -i input.avi -vcodec copy -acodec copy -ss 01:00:00 -t 00:30:00 output3.avi

Lub

avconv -ss 0 -i source.m4v -t 100 -vcodec copy -acodec copy part1.m4v
avconv -ss 100 -i source.m4v -t 100 -vcodec copy -acodec copy part2.m4v
avconv -ss 200 -i source.m4v -t 100 -vcodec copy -acodec copy part3.m4v  
avconv -ss 300 -i source.m4v -t 100 -vcodec copy -acodec copy part4.m4v

Lub wykonaj skrypt jak tutaj: http://icephoenix.us/notes-for-myself/auto-splitting-video-file-in-equal-chunks-with-ffmpeg-and-python/

Luis Alvarado
źródło
6
Uwaga: Według strony man [ linux.die.net/man/1/ffmpeg ] powoduje to nienaturalne, nakładające się cięcia. Na przykład drugie polecenie zaczyna się o 00:30:00, ale trwa przez godzinę; tzn. do 01:30:00, więc trzecie polecenie, które zaczyna się o 01:00:00, spowoduje nakładanie się cięć. Może to być cel, ale nie byłoby to zbyt naturalne.
ezequiel-garzon
1
Mogę ręczyć za to, o czym wspomina ezequiel. Podczas wykonywania testów za pomocą ffmpeg lub avconv pojawia się nakładający się efekt, jeśli używa się czasów wymienionych powyżej. Będę aktualizować, aby uzyskać dokładniejszy efekt, chociaż powinienem wspomnieć, że pierwsza sekunda również się nakłada. Naprawię oba i dodam avconv do grupy. Dzięki ezequiel.
Luis Alvarado,
Dzięki! Ale te wersje ppa są nieaktualne. Czy wersje w Precise 12.04 są dobre? A może ktoś zaproponuje lepsze?
nealmcb
Dzięki za powiadomienie mnie. Kiedy wrócę do domu, opublikuję zaktualizowany link.
Luis Alvarado,
1
Przynajmniej podczas korzystania z avconv nie musisz wywoływać osobno kodeka wideo i audio. Powinieneś po prostu iść z $ avcon -i plik wejściowy -kodek kopiować [dowolna opcja jak -ss -t -fs ... po prostu sprawdź ubuntu.manpages.com dla avconv] plik wyjściowy
Antonio
31

Dzięki nowej wersji z Ubuntu Avconv

avconv -i srcFileName -c:a copy -c:v copy -ss 00:03:40 -t 00:01:12 targetFileName
  • Czas na pierwszy argument pochodzi z czasu
  • Drugim argumentem jest czas trwania (nie czas zakończenia), może on być w sekundach lub w postaci „hh: mm: ss [.xxx]”.

Aby zamiast tego określić czas zakończenia, użyj opcji -to [czas zakończenia].

Więcej informacji można znaleźć w dokumentacji ffmpeg

Philippe Gachoud
źródło
Dzięki, ekspert. Niech mnie diabli, żebym nic nie przeczytał w wątku po trzeciej ocenie. Bez tych przykładów Ī̲ nie wyłączyłby przekodowywania wideo („-vn” z jakiegoś powodu nie dał tego efektu) i miałby również inne problemy. Nawiasem mówiąc, czy „-c: s copy” robi to samo w przypadku napisów?
Incnis Mrsi,
Ponadto, ponieważ z mojego doświadczenia wynika, że ​​wycinanie tylko ostatniej części (tj. Kiedy początek nowego wideo zbiega się z początkiem oryginalnego wideo), „-ss 0” jest potencjalnie problematyczne i powinno zostać pominięte. Ī̲ miał awarię programu (a mianowicie Bombono DVD) podczas próby odczytu pliku utworzonego z „-ss 0” podstawionym zamiast oryginalnego pliku.
Incnis Mrsi,
Dzięki Philippe! To mi bardzo pomogło. czy mogę zapytać, co -c:a copy -c:v copyoznaczają argumenty ?
Alex
2
@Alex c = kodek a = audio v = wideo
Philippe Gachoud
1
@Alex copy, aby skopiować kodek audio i kodek wideo do strumienia docelowego. Zobacz więcej @ ffmpeg.org/ffmpeg.html#Main-options i zapoznaj się z dokumentacją ffmpeg, aby uzyskać więcej informacji
Philippe Gachoud
30

kdenlive jest (z mojego doświadczenia) najłatwiejszym oprogramowaniem, które pozwoli ci wykonać to zadanie w kilku krokach i bez problemów. Mimo to projekt OpenShot Video Editor jest również przydatny, ale wymaga dużo ciężkiej pracy, aby zbliżyć się do kdenlive.

Oto zrzut ekranu odpowiednio kdenlive i openshot:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Powodzenia!

Geppettvs D'Constanzo
źródło
Kdenlive jest moim ulubionym. Wszystkie inne edytory linuksowe uległy awarii podczas korzystania z plików MOV z mojej kamery Kodak Zi8. Łatwy w użyciu i bardzo wydajny.
Ramon Suarez,
1
Nie jestem pewien, co się dzieje z moją edycją. Wygląda dobrze w trybie edycji, ale tutaj jest popsuty.
Insperatus,
Przepraszam, nie rozumiem Czy możesz podać dalsze szczegóły? Jeśli uważasz, że to konieczne, otwórz pytanie dotyczące swoich problemów. Dziękuję Ci!
Geppettvs D'Constanzo
3
Najłatwiejszy oprogramowanie Kdenlive prosi piekło nieistotnych pytań jeszcze przed rozpoczęciem projektu. Ale kiedy ma zamiar coś zrobić, odradza się avconvi za każdym razem, gdy zawiedzie, Kdenlive nie zaoferuje pomocy w naprawie sytuacji, a nawet nie zgłasza, z jakimi dokładnie parametrami działał avconv. Zdecydowanie brak wyboru dla osób, które chcą po prostu przyciąć plik wideo.
Incnis Mrsi,
2
Osobiście kdenlive wydawało się dobre, ale interfejs jest bardzo nieintuicyjny i niepotrzebnie złożony. Ponadto wydaje się, że jest jakiś błąd. Po załadowaniu klipu czasami klip jest odtwarzany. Czasem tak nie jest. Niepolecane.
Nav
13

Lubię Kdenlive do wykańczania lub wycinania małych kawałków ... ale jeśli chce podzielić DUŻY wykład na mniejsze kawałki, może spróbować:

ffmpeg -i input.mpg -ss 00:00:10 -t 00:00:30 out1.mpg -ss 00:00:35 -t 00:00:30 out2.mpg

omówienie polecenia jest tutaj: http://ubuntuforums.org/showthread.php?t=480343

RobotHumans
źródło
możesz także użyć winff (GUI dla ffmpeg)
jahid65
8

Edytor wideo OpenShot wygląda obiecująco. Sprawdziłeś to? Sprawdź funkcje: http://www.openshot.org/features/

Oficjalna metoda instalacji jest za pośrednictwem AppImage dostępnego na https://www.openshot.org/download/

Aby go zainstalować, po prostu otwórz terminal i uruchom następujące polecenia:

sudo add-apt-repository ppa:jonoomph/openshot-edge
sudo apt-get update
sudo apt-get install openshot openshot-doc

Po prostu spróbuj. alternatywny tekst

aneeshep
źródło
Jeśli używa indywidualisty, to jest w repozytorium
Sabacon
Openshot FTW! :)
OpenNingia,
Jeśli OP chce tylko szybko przyciąć wideo, AVIDemux jest znacznie łatwiejszy w użyciu niż OpenShot. Właśnie wypróbowałem je oba - OpenShot był zaskakująco trudny, pozwalając mi zdefiniować punkty wejścia i wyjścia dla jednej ścieżki wideo.
Dan Dascalescu
OpenShot jest zdecydowanie bardziej przyjazny dla użytkownika niż jakakolwiek inna wysoko oceniana odpowiedź tutaj.
Nav
OpenShot jest wymieniony w pytaniu jako program, który zawiódł, ale dla mnie był akceptowalny (eksport jest wolny, ale przynajmniej miał działający podgląd pozycji, w której wycinałem i nie powodował awarii - w przeciwieństwie do innych rozwiązań, które wypróbowałem).
Mateusz Konieczny
5

Moje preferencje dla łatwego przycinania wideo zawsze Avidemux . Logo Avudemux

Wystarczy ustawić kodowanie wideo i audio na Kopiuj i wybrać odpowiedni format kontenera, z uzasadnionego powodu.

Instalacja:

wpis na apps.ubuntu.com Zainstaluj avidemux

sudo apt-get install avidemux
Kees Cook
źródło
3

Wypróbuj Avidemux Zainstaluj avidemux

sudo apt-get install avidemux

lub LiVES Zainstaluj życie

sudo apt-get install lives
TheShadowFog
źródło
Avidemux zamarzł kilka razy dla mojego pod Ubuntu 13.10, nawet z procesorem x4.
Lucio
2

Do cięcia, łączenia, skalowania itp. Można użyć… Blendera (tak, ten edytor 3D, ale ma także część do edycji wideo). Aby przetrwać interfejs, musisz ćwiczyć 20-minutowy samouczek, ale wydaje się on nieoczekiwanie przyjemny w użyciu.

Mekk
źródło
2

Istnieje również WinFF, który jest interfejsem graficznym avconv. Działa świetnie. Zainstalowałem go z Centrum Oprogramowania Ubuntu.

Oto zrzut ekranu: WinFF

Almas Dusal
źródło
2

Używam do tego interfejsu CLI ffmpeg. To bardzo łatwe i szybkie:

  • wyciąć wideo:

    ffmpeg -i InputFile -vcodec copy -acodec copy -ss 00:00:00 -t 00:01:32 OutPutFile
    
  • wyciąć audio:

    ffmpeg -i InputFile  -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutPutFile
    

W obu przypadkach -ssjest to punkt początkowy, zaś -tczas trwania utworu.

Możesz obliczyć czas trwania, np. Używając LibreOffice Calc lub dateutilpakietu Pythona , lub możesz użyć -toopcji, która bezpośrednio akceptuje czas zakończenia.

Cegła suszona na słońcu
źródło
1

Używam Kdenlive, ale nie byłbym zaskoczony, gdybyś mógł pokroić wideo w ten sposób w PiTiVi:

  1. Stwórz nowy projekt z pełnym wykładem.
  2. Ustaw punkty początkowe i końcowe dla pierwszego „zarządzalnego fragmentu” na monitorze klipu.
  3. Przeciągnij z wideo na monitorze klipu do osi czasu. To będzie tylko kawałek, który wybrałeś.
  4. Ustaw nowe punkty początkowe i końcowe w monitorze klipu i powtórz w razie potrzeby.
esoltys
źródło
1
Rozejrzałem się i nie mogę znaleźć sposobu na podzielenie długiego klipu na wiele krótszych klipów, którym mógłbym łatwo zarządzać. Nie ma „monitora klipów”; PiTiVi jest bardzo prosty (i mam na myśli to w dobry sposób!) Oczywiście, mógłbym po prostu wyciąć wideo i zreorganizować nienazwane fragmenty na osi czasu, ale chciałbym wiedzieć, czy jest lepszy sposób.
Evan Kroske,
1

W PiTiVi 0.13.5 (Ubuntu 10.10) mogłem po prostu wybrać klip i przejść do osi czasu> Split (lub po prostu nacisnąć „S”).

Jordan Uggla
źródło
1

Do szybkiego cięcia użyłem MythTV. Nagrałem jakiś program, pozwól mu automatycznie wyszukać przerwy reklamowe i dopracuj znalezione znaczniki. Następnie uruchomiłem funkcję archiwizacji Myth i nagrałem wszystko na DVD, bez reklam.

Muszę przyznać, że działało to od około 2006 roku. Gdzieś w 2008 lub 2009 r. Niektóre aktualizacje zepsuły to wszystko, moje znaczniki uległy jakimś zmianom.

W tej chwili jestem w trakcie ponownej instalacji tej mitycznej rzeczy, aby sprawdzić, czy mogę uruchomić trymer / edytor i archiwizator.

CBee
źródło
1

vidcutter to bardzo przydatne narzędzie do wycinania, przycinania i łączenia filmów w Ubuntu:

Zainstaluj vidcutter:

sudo add-apt-repository ppa:ozmartian/apps
sudo apt update
sudo apt install vidcutter

działa w Ubuntu 17.10

Riyafa Abdul Hameed
źródło
1

LosslessCut koncentruje się całkowicie na przycinaniu / wycinaniu, jest prosty w obsłudze i nie koduje ponownie, co oznacza, że ​​zapisywanie na dysku jest prawie natychmiastowe.

wprowadź opis zdjęcia tutaj

Aby zapewnić synchronizację dźwięku z obrazem, użyj opcji wycinania klatek kluczowych .

David Oliver
źródło
1

Wczoraj właśnie odkryłem, że mogę to zrobić online, z kontem youtube :) Jeśli się spieszysz i nie masz wystarczająco dużo czasu, aby wypróbować, które oprogramowanie ubuntu działa dla Ciebie, zrób to online.

Przejdź do konta youtube, prześlij film, a następnie wybierz Menedżera filmów, jest opcja Ulepszenia, w prawym dolnym rogu znajduje się opcja Przytnij

Obejrzyj ten 1-minutowy samouczek, jeśli nadal nie możesz go znaleźć

Zrzut ekranu z menu przycinania

użytkownik870474
źródło
0

Napisałem pomocnika dla ffmpeg, który naśladuje substr()składnię.

Stosowanie

ffslice infile [start [duration [outfile [ffmpeg-args]]]]

Przykłady

# Get the last 5 minutes of an MP3
ffslice input.mp3 -5:00

# Get the first 30 seconds of a webm
ffslice input.webm 0 30

# Get 5 minutes of video starting at 2 minutes in
ffslice input.mp4 2:00 5:00

Kod

#!/bin/bash
# substr() for MPEG-encoded files

infile="$1"; shift
start="$1"; shift
end="$1"; shift
outfile="$1"; shift
args=()

# Input file requred
if [ -z "$infile" ]; then
  echo "Usage: $(basename -- "$0") infile [start [duration [outfile [ffmpeg-args]]]]" >&2
  echo "Example: $(basename -- "$0") input.mp3 -5:00" >&2
  exit 1
fi

# Start
if [ "${start:0:1}" = "-" ]; then args+=('-sseof' "$start")
elif [ -n "$start" ]; then args+=('-ss' "$start")
fi

# Input
args+=('-i' "$infile")

# Duration
if [ "${end:0:1}" = "-" ]; then args+=('-sseof' "$end")
elif [ -n "$end" ]; then args+=('-to' "$end")
fi

# Default output filename
if [ -z "$outfile" ]; then
  filename=$(basename -- "$infile")
  extension="${filename##*.}"
  filename="${filename%.*}"
  outfile="${filename}-${start}-${end}.${extension}"

  # Cannot have colon in the filename with ffmpeg
  # https://unix.stackexchange.com/questions/412519/ffmpeg-protocol-not-found-for-normal-file-name
  outfile="$(printf "$outfile" | sed 's/:/./g')"
fi

ffmpeg "${args[@]}" -c copy "$@" "$outfile"

Zastrzeżenie

Zauważ, że ffmpeg podzieli się tylko na klatki kluczowe. Zwykle działa to wystarczająco dobrze w większości przypadków, ale jeśli potrzebujesz precyzyjnych segmentów wideo, zobacz Jak wyodrębnić segmenty wideo dokładne czasowo za pomocą ffmpeg? . Możesz wymusić wszystkie potrzebne klatki kluczowe przed segmentacją.

jchook
źródło
-1

Pitivi jest zbyt skomplikowany? Cóż ... Proponuję nauczyć się korzystać z myszy, a następnie lol

W każdym razie zawsze używam Kdenlive. Wystarczy zaimportować film, przeciągnąć go na oś czasu, kliknąć miejsce, w którym chcesz go podzielić, kliknąć prawym przyciskiem myszy i wybrać cięcie. Następnie usuń część, której nie potrzebujesz.

RobinJ
źródło
Dziękuję za pomocną sugestię, ale za to, czego potrzebuję, są zbyt skomplikowane. Zauważ, że nie powiedziałem, że jest zbyt trudny w użyciu, po prostu niepotrzebnie wzdęty dla moich celów. Skończyło się na użyciu openshot
jfoucher
1
@jfoucher: powinieneś zaakceptować odpowiedź Geppettvsa;)
Takkat
-1

Walczyłem z tym samym problemem, mając duży plik wideo, który chcę wyciąć i zapisać jako osobne sceny. Po próbie zrobienia tego u zwykłych podejrzanych wymienionych tutaj przez innych, skończyłem z użyciem Kino .

Będziesz musiał zaimportować plik, ponieważ Kino potrzebuje go w formacie dv (cokolwiek to jest), a następnie możesz określić punkt początkowy i końcowy dla każdego klipu na karcie Edycja, a następnie wyeksportować każdy klip osobno na karcie Eksport. Działa świetnie i jest szybki, najwolniejszą częścią jest początkowy import pliku wideo. Do każdego klipu możesz nawet dodawać efekty takie jak tytuły.

Odkryłem, że trudno jest znaleźć dokładne miejsce, aby wyciąć scenę w Kino, a kiedy odtwarzam vid we wbudowanym odtwarzaczu, nie ma dźwięku (jest po wyeksportowaniu) i gra zbyt szybko, więc odtwarzam wideo w avidemux , znajdź czas lub numer klatki, w której chcę go wyciąć, a następnie użyj tych informacji w Kino.

Uważam, że dość mocno się zawiesza (używam Ubuntu 15.04 Kino v1.3.4), ale odzyska miejsce tam, gdzie byłeś po ponownym uruchomieniu.


Aktualizacja na stronie Kino :

Kino to martwy projekt
(05.08.2013 14:15)
Kino nie jest aktywnie utrzymywane od 2009 roku. Zachęcamy do wypróbowania innych edytorów wideo dla Linuksa, takich jak Shotcut, Kdenlive, Flowblade, OpenShot, PiTiVi, LiVES i LightWorks.

tykwa
źródło