用什么工具可以快速剪辑音频/视频?

如果只需要从较长的音频/视频中裁剪,我可以使用什么工具?我尝试过OpenShot,但发现导出视频很慢,可能是因为它将所有的"层"编译成一个新的电影?也许我只需要一个简单的音频/视频裁剪工具就足够了。

1你处理什么样的视频格式?你是在寻找图形用户界面(GUI)还是命令行界面(CLI)的解决方案? - fossfreedom
1格式可能是mp4、flv、mp3。图形用户界面(GUI)或命令行界面(CLI)都可以。 - Jiew Meng
2请访问以下链接以了解如何使用FFmpeg来剪辑视频:http://superuser.com/questions/138331/using-ffmpeg-to-cut-up-video - Dennis Golomazov
22个回答

我本来要提到像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/

7请注意:根据man手册[http://linux.die.net/man/1/ffmpeg],这样做会导致不自然的、重叠的剪辑效果。例如,第二个命令从00:30:00开始,但持续一个小时,即到01:30:00,因此第三个命令从01:00:00开始,将产生一个重叠的剪辑。这可能是目标,但并不太自然。 - ezequiel-garzon
1我可以为Ezequiel提到的情况作证。在使用ffmpeg或avconv进行测试时,如果按照上述所说的时间进行操作,就会出现重叠的效果。我将更新一个更准确的效果,不过需要提醒的是,第一秒也会有重叠。我会修复这两个问题,并添加avconv到该组中。谢谢Ezequiel的建议。 - Luis Alvarado
谢谢!但是这些ppa版本已经过时了。Precise 12.04的版本好吗?还是有其他更好的建议? - nealmcb
感谢通知我。等我回到家后,我会发布一个更新的链接。 - Luis Alvarado
谢谢!avconv非常快速、清晰和方便,如果你知道开始/结束时间,它可以很容易地将剪辑分离出来。无需弄清楚你的源文件对应的OpenShot视频格式,这一点我仍然不确定... - nealmcb
注意视频编解码器的复制;否则可能会出现没有视频的介绍,直到下一个关键帧。 - user165448
在那件事真正发生在我身上之前,我本来会说对@user165448来说是不可能的。我不得不进行大量研究来了解为什么会发生这种情况。虽然罕见,但确实有可能发生。所以请听他的话。 - Luis Alvarado
太好了!avconv速度非常快。我在Ubuntu 15.10上尝试运行avconv命令,但似乎是ffmpeg在运行而不是avconv!这是怎么回事?另外,请推荐一个CLI工具,用于将音频/视频的左右部分横向组合在一起!提前感谢。同时也想@Philippe Gachoud。 - Ravi
3至少在使用avconv时,你不需要分别调用视频和音频编解码器。你只需要使用$ avcon -i 输入文件 -codec copy [任何选项,如 -ss -t -fs ... 只需在 ubuntu.manpages.com 上查看 avconv] 输出文件即可。 - Antonio
你还可以使用sudo apt-get install openshot进行安装。 - MainActivity
对于 avconv,添加 -map 0 将复制所有流。 - pim
@ezequiel-garzon 你可以通过强制关键帧来解决这个问题。请参考如何使用ffmpeg提取精确时间段的视频片段 - jchook
-t 对我来说不起作用,我使用了 -to 替代:ffmpeg -ss 00:02:19 -i input.avi -vcodec copy -acodec copy -to 00:00:44 output.avi,其中 -to 参数是提取的持续时间。 - Taoufik Mohdit
在使用ffmpeg处理mkv文件时,可以使用-codec copy选项。这个选项的示例可以在这里查看:https://superuser.com/a/743085/71560 - AlikElzin-kilaka
这个回答也很有用 https://askubuntu.com/a/59388/578917 - Salma Gomaa
这些视频编辑器的问题在于它们会默认改变你的视频分辨率。 - Flimm

使用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”可能会出现问题,因此应该省略。我曾经使用一个程序(即Bombono DVD)在尝试读取用“-ss 0”替换原始文件的文件时崩溃过。 - Incnis Mrsi
谢谢Philippe!这对我帮助很大。我可以问一下参数-c:a copy -c:v copy的意思吗? - Alex
3@Alex c=编解码器 a=音频 v=视频 - Philippe Gachoud
啊哈和复制 - Alex
2@Alex复制以将音频编解码器和视频编解码器复制到目标流。更多信息请参阅https://ffmpeg.org/ffmpeg.html#Main-options,并参考ffmpeg文档获取更多信息。 - Philippe Gachoud
我不确定这个答案是否仍然有效。在Ubuntu 20.04.3 LTS中似乎没有avconv。我怀疑 ffmpeg 是替代方案,但它也不起作用:如果剪切时间与关键帧不对齐,视频的开始/停止可能会出现一些奇怪的问题。 - MRule
@MRule 请参考https://stackoverflow.com/questions/9477115/what-are-the-differences-and-similarities-between-ffmpeg-libav-and-avconv - Philippe Gachoud

kdenlive(根据我的经验)是最容易使用的软件,可以让您在几个步骤中完成任务而无需遇到问题。尽管如此,OpenShot Video Editor 项目也很有用,但它还需要大量的努力才能接近kdenlive。

以下是kdenlive和openshot的截图:

enter image description here

enter image description here

祝你好运!

Kdenlive是我最喜欢的软件。其他所有的Linux编辑器在使用我的Kodak Zi8相机的MOV文件时都会崩溃。它易于使用且功能强大。 - Ramon Suarez
2不确定我的编辑出了什么问题。在编辑模式下看起来没问题,但在这里却乱了。 - Insperatus
抱歉,我无法理解。您介意提供更多细节吗?如果您认为有必要,请就您的问题提出一个问题。谢谢! - Geppettvs D'Constanzo
对于OT的干扰我感到抱歉,也感谢您的热情友好。我会在适当的时候处理这个问题。祝您有个愉快的一天! - Insperatus
3Kdenlive这个最简单的软件在开始一个项目之前会问一些毫无关联的问题,真是让人头疼。但是当要做一些操作时,它会生成avconv,而且每当失败时,Kdenlive都不会提供帮助来纠正情况,甚至不会报告它运行avconv时使用了哪些参数。对于只想简单剪辑视频文件的人来说,绝对不是一个明智的选择。 - Incnis Mrsi
2就个人而言,kdenlive看起来不错,但界面非常不直观且过于复杂。此外,似乎存在一些错误。加载片段后,有时片段会播放,有时则不会。不推荐使用。 - Nav
kdenlive 在 Debian Stable 上不可用。 - Prvt_Yadav
kdenlive 从一开始就提出了毫无意义的问题,后来在打开第一个视频文件之前崩溃了。用命令行编辑视频文件比这好多了。 - reducing activity
kdenlive 对于某些任务来说可能看起来有点过于专业,我同意,就像 Photoshop 在裁剪图片这方面可能显得有些“高攀不起”。但是,如果你对 kdenlive 感到很舒适,它同样适用于简单的任务。如果你试图将 20 个片段混合成一个带有过渡效果的大片段,呃,祝你好运使用 avconf - ffflabs
根据我的观点,以快照回答并显示这一功能应该被接受。感谢@GeppettvsD'Constanzo详细的分享。 - Nam G VU


在Snap Store上可用 :) - Fábio Batista
3通常情况下,合并后的下一个剪辑的前几帧在最终导出的视频中可能会出现故障。 - Harsha
1@Harsha,我不确定这是否与该问题相关,但你是否使用了关键帧剪切选项? - David Oliver
简单而极快(3小时的视频->在Ubuntu虚拟机中2小时,不到10秒!) - Pierre
这是最快的一种,因为它不会渲染视频,但它并不准确。 - Saleh Abdulaziz

我也喜欢使用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

2你可以使用WinFF(ffmpeg的图形用户界面)来完成。 - jahid65

OpenShot视频编辑器看起来很有前途。你有没有试过?看看它的功能: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 text

如果他在使用Maverick,那么它应该在仓库中。 - Sabacon
Openshot 万岁! :) - OpenNingia
如果OP只想快速裁剪视频,那么AVIDemux比OpenShot更容易使用。我刚刚尝试了它们两个 - 令人惊讶的是,OpenShot在为一个视频轨道定义起点和终点方面非常繁琐。 - Dan Dascalescu
OpenShot绝对比这里其他得到高赞的回答更加用户友好。 - Nav
OpenShot在问题中被提及为一个失败的程序,但对我来说是可以接受的(导出速度较慢,但至少它有工作预览功能,显示我裁剪的位置,并且不会崩溃,而其他我尝试过的解决方案则不同)。 - reducing activity

我正在使用ffmpeg的CLI界面来完成这个任务。它非常简单和快速。
  • 剪辑视频:

    ffmpeg -i 输入文件 -vcodec copy -acodec copy -ss 00:00:00 -t 00:01:32 输出文件
    
  • 剪辑音频:

    ffmpeg -i 输入文件 -vn -acodec copy -ss 00:00:00 -t 00:01:32 输出文件
    
在这两个例子中,-ss 是起始点,而 -t 是片段的持续时间。
你可以使用 LibreOffice Calc 或者 Python 的 dateutil 包来计算持续时间,或者你可以直接使用接受结束时间的 -to 选项。

这个答案也非常有帮助 - Salma Gomaa

我对简单的视频剪辑一直偏爱使用avidemux。 Avudemux logo 只需将视频和音频编码设置为“复制”,然后选择你想要的容器格式,合理即可。
安装方法: 在apps.ubuntu.com上查看入口 Install avidemux
sudo apt-get install avidemux

尝试使用Avidemux 安装avidemux
sudo apt-get install avidemux

或者 LiVES 安装 LiVES
sudo apt-get install lives

Avidemux 在我使用 Ubuntu 13.10 的时候多次出现卡顿的情况,即使是在配备 x4 CPU 的情况下也不例外。 - Lucio

还有一个名为WinFF的avconv图形界面。它非常好用。我是从Ubuntu软件中心安装的。
这是截图: WinFF