Що використовувати для швидкого скорочення аудіо / відео


150

Якщо мені просто потрібно обрізати аудіо / відео з більш довгої композиції, що я можу використовувати? Я спробував OpenShot, але я вважаю експортне відео повільним, можливо, його суміщення всіх "шарів" у новий фільм? Можливо, мені просто потрібен простий інструмент "обрізати" для аудіо / відео?


З якими відеоформатами ви маєте справу? Шукаєте GUI чи рішення CLI?
fossfreedom

1
Формати, ймовірно, будуть mp4, flv, mp3. GUI або CLI будуть добре.
Jiew Meng

Відповіді:


159

Я збирався згадати такі команди, як ffmpeg або avconv (новий), які можуть ОБОВ'ЯЗКО розділити файли на групи. Наприклад:

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

Або

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

Або

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

Або виконайте такий сценарій, як тут: http://icephoenix.us/notes-for-myself/auto-splitting-video-file-in-equal-chunks-with-ffmpeg-and-python/


6
Остерігайтесь: За даними сторінки [ linux.die.net/man/1/ffmpeg ], це призводить до неприродних скорочень, що перекриваються. Наприклад, друга команда починається о 00:30:00, але триває протягом години; тобто до 01:30:00, тому третя команда, яка починається о 01:00:00, дасть розріз, що перекривається. Це може бути мета, але це було б не дуже природно.
ezequiel-garzon

1
Я можу поручитися за те, що згадує єзеквіль. Під час виконання тестів за допомогою ffmpeg або avconv ефект перекриття з’являється, якщо використовувати вказані вище часи. Я оновлю до більш точного ефекту, хоча мушу зазначити, що перша секунда також буде перетинатися. Я виправлю і те, і додамо avconv до групи. Дякую ezequiel.
Луїс Альварадо

Дякую! Але ці версії ppa застаріли. Чи хороші версії в точності 12.04? Або хтось може запропонувати кращих?
nealmcb

Дякуємо, що повідомили мене. Коли я повернуся додому, я опублікую оновлене посилання.
Луїс Альварадо

1
Принаймні, коли ви використовуєте avconv, вам не потрібно окремо викликати відео та аудіокодек. Ви просто повинні перейти з копією $ avcon -i вхідного файлу -codec копією [будь-який варіант, наприклад -ss -t -fs ... просто перевірити на ubuntu.manpages.com для avconv] вихідний файл
Антоніо

31

З новою версією від ubuntu avconv

avconv -i srcFileName -c:a copy -c:v copy -ss 00:03:40 -t 00:01:12 targetFileName
  • Перший час аргументу - час від часу
  • Другий аргумент - тривалість (не кінцевий час), тривалість може бути або в секундах, або у формі "hh: mm: ss [.xxx]".

Щоб вказати час закінчення, скористайтеся опцією -to [кінцевий час].

Для отримання додаткової інформації зверніться до документації ffmpeg


Спасибі, експерт. Блін мені, щоб не читати відповіді третьої теми в темі, перш ніж робити щось. Без цього прикладу не вдалося б вимкнути перекодування відео ("-vn" чомусь не вдалося створити цей ефект), а також виникли б інші проблеми. До речі, чи "-c: s copy" робить те ж саме для субтитрів?
Incnis Mrsi

Крім того, оскільки мій досвід, коли вирізати лише останню частину (тобто коли початок нового відео співпадає з початком оригінального відео), "-ss 0" є потенційно проблематичним і його слід опустити. Ī̲ у програмі (а саме на DVD "Бомбоно") стався збій, намагаючись прочитати файл, зроблений із "-ss 0", заміщеним замість вихідного файлу.
Incnis Mrsi

Дякую Філіппе! Це мені дуже допомогло. чи можу я запитати, що -c:a copy -c:v copyозначають арги ?
Олексій

2
@Alex c = codec a = audio v = video
Philippe Gachoud

1
@Alex copy - скопіювати аудіокодек та відеокодек у цільовий потік. Дивіться більше @ ffmpeg.org/ffmpeg.html#Main-options та перегляньте документацію ffmpeg для отримання додаткової інформації
Філіп Гачуд

30

kdenlive - це (на мій досвід) найпростіше програмне забезпечення, яке дозволить вам виконати це завдання в кілька кроків і без проблем. Незважаючи на це, проект OpenShot Video Editor також корисний, але він ще потребує багато наполегливої ​​роботи, щоб наблизитися до kdenlive.

Ось знімок екрана kdenlive та відкритий знімок відповідно:

введіть тут опис зображення

введіть тут опис зображення

Удачі!


Kdenlive - мій улюблений. Усі інші редактори Linux вийшли з ладу під час використання файлів MOV з моєї камери Kodak Zi8. Простота у використанні та дуже потужна.
Рамон Суарес

1
Не впевнений, що відбувається з моєю редагуванням. Виглядає чудово в режимі редагування, але тут його зіпсували.
Інсперат

Вибачте, я не можу зрозуміти. Ви не хочете дати детальнішу інформацію? Якщо ви вважаєте за потрібне, будь ласка, відкрийте питання щодо своїх проблем. Дякую!
Geppettvs D'Constanzo

3
Просте програмне забезпечення Kdenlive запитує пекельне недоречні запитання ще до початку проекту. Але коли збирається щось зробити, воно породжується, avconvі коли це не вдається, Kdenlive не запропонує допомогти виправити ситуацію і навіть не повідомляє, з якими саме параметрами вона працювала avconv. Однозначно не вибір для того, хто хоче просто обрізати відеофайл.
Incnis Mrsi

2
Особисто kdenlive здавався гарним, але інтерфейс дуже неінтуїтивний і надмірно складний. Також, здається, є якась помилка. Після завантаження кліпу іноді кліп відтворюється. Іноді це не так. Не рекомендовано.
Nav

13

Мені подобається kdenlive як для закінчення, так і для вирізання невеликих шматочків ... але якщо він хоче розділити ВЕЛИКІ лекції на більш дрібні шматки, він може спробувати:

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

обговорення команди тут: http://ubuntuforums.org/showthread.php?t=480343


ви можете використовувати winff (GUI для ffmpeg) також
jahid65

8

OpenShot Video Editor виглядає перспективно. Ви це перевірили? Ознайомтесь з функціями: http://www.openshot.org/features/

Офіційний спосіб встановлення через AppImage доступний за посиланням https://www.openshot.org/download/

Щоб встановити його, просто відкрийте термінал і запустіть такі команди:

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

Просто спробуйте. alt текст


Якщо він використовує maverick, він знаходиться у сховищі
Сабакон

Відкриття FTW! :)
OpenNingia

Якщо ОП хоче лише швидко обрізати відео, то AVIDemux набагато простіше, ніж OpenShot. Я щойно спробував їх обидва - OpenShot був напрочуд незграбним, що дозволило мені визначити точки введення та виведення для однієї відеодоріжки.
Дан Даскалеску

OpenShot, безумовно, зручніший для користувачів, ніж будь-який з інших високооцінених відповідей тут.
Nav

OpenShot згадується в питанні як програма, яка не вдалася, але для мене це було прийнятним (експорт повільний, але принаймні, він працював попереднім переглядом позиції, де я вирізав і не вийшов з ладу - на відміну від інших рішень, які я намагався).
Mateusz Konieczny

5

Мої переваги щодо легкого відсікання відео завжди були avidemux . Логотип Avudemux

Просто встановіть кодування відео та аудіо на " Копіювати" та виберіть потрібний формат контейнера.

Установка:

запис на apps.ubuntu.com Встановіть avidemux

sudo apt-get install avidemux

3

Спробуйте Avidemux Встановіть avidemux

sudo apt-get install avidemux

або LIVES Встановити життя

sudo apt-get install lives

Avidemux кілька разів заморожувався для мого під Ubuntu 13.10, навіть із процесором x4.
Lucio

2

Для вирізання, злиття, масштабування тощо можна використовувати… Blender (так, це 3D-редактор, але він також має частину редагування відео). Вам потрібно тренуватись 20-хвилинний підручник, щоб пережити інтерфейс, але тоді це здається несподівано приємним у використанні.


2

Також є WinFF, який є графічним інтерфейсом avconv. Це чудово працює. Я встановив його з програмного центру Ubuntu.

Ось скріншот: WinFF


2

Я використовую для цього інтерфейс CLI ffmpeg. Це дуже легко і швидко:

  • вирізати відео:

    ffmpeg -i InputFile -vcodec copy -acodec copy -ss 00:00:00 -t 00:01:32 OutPutFile
    
  • скоротити звук:

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

В обох з них -ssє початковою точкою, а -tтривалістю твору.

Ви можете обчислити тривалість, наприклад, використовуючи LibreOffice Calc або dateutilпакет python , або ви можете скористатися -toопцією, яка безпосередньо приймає час завершення.


1

Я використовую Kdenlive, але я не здивуюсь, якби ви навіть змогли нарізати відео таким чином у PiTiVi:

  1. Створіть новий проект зі своєю повною лекцією.
  2. Встановіть початкову та кінцеву точки для першого "керованого шматка" на моніторі кліпу.
  3. Перетягніть відео з монітора кліпу вниз до вашої шкали часу. Це буде просто шматок, який ви вибрали.
  4. Встановіть нові початкові та кінцеві точки на моніторі кліпу та повторіть за потребою.

1
Я оглянувся навколо, і не можу знайти жодного способу розділити довгий кліп на кілька коротших кліпів, якими легко керувати. Немає "монітора кліпу"; PiTiVi дуже простий (і я маю на увазі це в хороший спосіб!) Очевидно, я міг просто вирізати відео та реорганізувати неназвані шматки на часовій шкалі, але я хотів би знати, чи є кращий спосіб.
Еван Кроске

1

У PiTiVi 0.13.5 (Ubuntu 10.10) мені вдалося просто вибрати кліп і перейти до Timeline> Split (або просто натиснути "S").


1

Для швидкого різання я використовував MythTV. Я записав якесь шоу, нехай воно автоматично шукає комерційні брейки та точно налаштовує знайдені маркери. Після цього я запустив функцію архівації Myth і записав все на DVD, без рекламних роликів.

Я мушу визнати, він працював на смак приблизно з 2006 року. Десь у 2008 чи 2009 році якесь оновлення все це зруйнувало, мої маркери десь зрушили.

Зараз я зараз переустановлюю цей міф, щоб побачити, чи зможу я тример / редактор та архіватор працювати.


1

vidcutter - дуже корисний інструмент для вирізання, обрізки та об’єднання відео в ubuntu:

Встановити vidcutter:

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

працює в ubuntu 17.10



1

Вчора я щойно виявив, що можу це зробити в Інтернеті, з обліковим записом на ютубі :) Якщо ви поспішаєте і не маєте достатньо часу, щоб спробувати, яке програмне забезпечення ubuntu працює для вас, то зробіть це в Інтернеті.

Перейдіть до облікового запису youtube, завантажте своє відео, потім виберіть Менеджер відео, є опція Покращення, у нижньому правому куті лежить параметр Обрізання

Перегляньте цей 1-хвилинний підручник, якщо ви все ще не можете його знайти

Захоплення екрана в меню обрізання


0

Якщо ви хочете , додаток з графічним інтерфейсом ви можете використовувати dmMediaConverter , в FFmpeg фронтендів, який має роздвоєння функцію, без перекодування, швидко . Просто додайте точки розділення та натисніть Виконати. Крім того, він може робити багато іншого. http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html Приклад функції розділення


На жаль, не з відкритим кодом.
Мартін Р.

Так, але це безкоштовно.
mdalacu

0

Я написав помічник для ffmpeg, який імітує substr()синтаксис.

Використання

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

Приклади

# 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

Код

#!/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"

Caveat

Зауважте, що ffmpeg розділиться лише на ключових кадрах. Зазвичай це працює досить добре в більшості випадків, але якщо вам потрібні точні сегменти відео, див. Як витягнути точні за часом відео сегменти за допомогою ffmpeg? . Ви можете примусити всі необхідні ключові кадри перед сегментацією.


-1

Пітіві занадто складний? Ну ... я пропоную вам навчитися користуватися мишею, а потім хаха

У всякому разі, я завжди використовую Kdenlive. Просто імпортуйте відео, перетягніть його на часову шкалу, натисніть на місце, де ви хочете поділити його, клацніть правою кнопкою миші та виберіть вирізати. Потім видаліть деталь, яка вам не потрібна.


Дякую за корисну пропозицію, але для того, що мені потрібно, вони занадто складні. Зауважте, що я не сказав занадто важким у використанні, просто надмірно роздутий для своїх цілей. Я в кінцевому підсумку використовував openshot
jfoucher

1
@jfoucher: тоді слід прийняти відповідь Geppettvs;)
Таккат

-1

Я боровся з цим самим випуском, маючи великий відеофайл, який я хочу вирізати та зберегти як окремі сцени. Спробувавши це зробити у звичайних підозрюваних, перерахованих усіма іншими, тут я перейшов до використання Кіно .

Вам доведеться імпортувати файл так, як Kino потребує його у форматі DVD (що б це не було), а потім ви можете вказати початкову та кінцеву точку кожного кліпу на вкладці Правка, а потім експортувати кожен кліп окремо на вкладку Експорт. Працює чудово і швидко, найповільніша частина - це початковий імпорт відеофайлу. Ви навіть можете додавати ефекти, як назви, до кожного кліпу.

Я виявив, що важко знайти точне місце, щоб вирізати сцену в Кіно, і коли я граю VID у вбудованому програвачі, звуку немає (є, коли експортується), і він відтворюється занадто швидко, тому я відтворюю відео в avidemux , знайдіть час або номер кадру, де я хочу його скоротити, а потім скористайтеся цією інформацією в Кіно.

Я вважаю, що це збоїв досить небагато (я використовую Ubuntu 15.04 Kino v1.3.4), але він відновиться там, де ви були при перезапуску.


Оновлення на веб-сторінці Kino :

Kino - мертвий проект
(05.08.2013 14:15)
Кіно не підтримується активно з 2009 року. Ми рекомендуємо спробувати інші відеоредактори Linux, такі як Shotcut, Kdenlive, Flowblade, OpenShot, PiTiVi, LiVES та LightWorks.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.