如果仅需要从更长的轨道上裁剪音频/视频,该怎么用?我尝试过使用OpenShot,但是我发现导出视频的速度很慢,也许将所有“图层”都编入了新电影中?也许我只需要一个简单的“裁剪”工具就可以使音频/视频冲浪?

评论

您要处理哪种视频格式?您在寻找GUI或CLI解决方案吗?

格式可能是mp4,flv,mp3。 GUI或CLI都可以。

参见superuser.com/questions/138331/using-ffmpeg-to-cut-up-video

#1 楼


Avidemux(来自PPA)-http://avidemux.sourceforge.net/

OpenShot(来自PPA)-https://launchpad.net/openshot/ http:// www。 openshot.org/ppa/

Pitivi(来自PPA)-http://www.pitivi.org/?go=download


我正要提到诸如ffmpeg或avconv(新命令)之类的命令,它们可以将文件明显地分成几组。例如:


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-为我自己/将视频文件与ffmpeg和python等效地分块/

评论


当心:根据手册页[linux.die.net/man/1/ffmpeg],这会导致切割不自然,重叠。例如,第二条命令从00:30:00开始,但持续一个小时;也就是说,直到01:30:00,所以从01:00:00开始的第三个命令将产生重叠的切割。这可能是目标,但这不是很自然。

–ezequiel-garzon
2012-09-24 22:12



我可以保证ezequiel提到的内容。使用ffmpeg或avconv进行测试时,如果使用上述时间,则会出现重叠效果。我将更新为更准确的效果,尽管我应该提到第一秒也会重叠。我将修复这两个问题并将avconv添加到该组。谢谢ezequiel。

–路易斯·阿尔瓦拉多(Luis Alvarado)
2012年9月25日3:00在

谢谢!但是这些ppa版本已过时。 Precise 12.04中的版本是否良好?还是有人可以提出更好的建议?

–nealmcb
13-10-14在14:47

感谢您通知我。当我回到家时,我将发布更新的链接。

–路易斯·阿尔瓦拉多(Luis Alvarado)
13-10-14在15:03

至少在使用avconv时,您不需要分别调用视频和音频编解码器。您应该只使用$ avcon -i输入文件-codec复制[任何选项-ss -t -fs ...只需在ubuntu.manpages.com上查看avconv]输出文件

– Antonio
16年3月3日,0:20



#2 楼

根据我的经验,kdenlive是最简单的软件,它将使您能够分几个步骤执行该任务,而不会出现问题。即便如此,OpenShot Video Editor项目也很有用,但它仍然需要大量的工作才能更接近kdenlive。

以下分别是kdenlive和openshot的屏幕截图:





祝你好运!

评论


Kdenlive是我的最爱。使用我的Kodak Zi8相机的MOV文件时,所有其他Linux编辑器都崩溃了。易于使用,功能非常强大。

–拉蒙·苏亚雷斯(Ramon Suarez)
2012年6月16日下午6:52

不知道我的编辑是怎么回事。在编辑模式下看起来不错,但在这里混乱了。

–Insperatus
2012年9月5日于20:59

对不起,我听不懂。您介意提供更多细节吗?如果您认为有必要,请提出一个有关您的问题的问题。谢谢!

– Geppettvs D'Constanzo
2012年9月5日在21:17

最简单的软件Kdenlive甚至在启动项目之前都会提出一些无关紧要的问题。但是,当要执行某操作时,它会生成avconv,并且每当失败时,Kdenlive都不会提供帮助以纠正情况,甚至不报告它使用了哪个参数来运行avconv。对于只愿意修剪视频文件的人来说绝对是不明智的选择。

– Incnis Mrsi
15年8月22日在11:07



就个人而言,kdenlive看起来不错,但是界面非常不直观并且不必要地复杂。另外,似乎还有一些错误。加载剪辑后,有时会播放剪辑。有时并非如此。不建议。

–Nav
17年7月23日在19:47

#3 楼

使用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复制”对字幕是否有相同的作用?

– Incnis Mrsi
15年8月22日在11:24

另外,根据我的经验,当仅切出最后一部分(即新视频的开头与原始视频的开头重合时)时,“-ss 0”可能会出现问题,应省略。 Ī̲某个程序(即Bombono DVD)崩溃,试图读取用“ -ss 0”代替原始文件制成的文件。

– Incnis Mrsi
15年8月22日在12:01

谢谢菲利普!这对我很有帮助。请问args -c:a复制-c:v复制是什么意思?

– Alex
16年1月3日,9:43

@Alex c =编解码器a =音频v =视频

– Philippe Gachoud
16年1月3日在20:03

@Alex copy将音频编解码器和视频编解码器复制到目标流。查看更多@ ffmpeg.org/ffmpeg.html#Main-options,并参阅ffmpeg文档以获取更多信息。

– Philippe Gachoud
16年1月4日在10:51

#4 楼

我喜欢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(ffmpeg的GUI)

– Jahid65
11年8月6日在17:36

#5 楼

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


只需尝试一下。


评论


如果他使用的是特立独行的话,它将在存储库中

– Sabacon
2010年11月11日下午6:26

Openshot FTW! :)

– OpenNingia
2010年11月11日14:16

如果OP仅希望快速裁剪视频,则AVIDemux的使用要比OpenShot容易得多。我都尝试过这两种方法-OpenShot令人惊讶,因为它让我定义了一个视频轨道的入点和出点。

– Dan Dascalescu
16年1月27日在22:40

OpenShot绝对比这里其他任何受好评的答案更加用户友好。

–Nav
17年7月23日在20:10

问题中提到OpenShot是失败的程序,但对我来说是可以接受的(导出速度很慢,但至少可以预览到我剪切的位置并且没有崩溃-与我尝试过的其他解决方案不同)。

–减少活动
18/12/20在5:39

#6 楼

LosslessCut完全专注于剪切/剪切,使用简单并且不会重新编码,这意味着保存到磁盘几乎是即时的。

要确保音频与图像保持同步,请使用关键帧剪切选项。

评论


在Snap Store上可用:)

–法比奥·巴蒂斯塔(FábioBatista)
20年6月22日在18:13

#7 楼

我一直喜欢avidemux来进行轻松的视频剪辑。


在合理的范围内,只需将视频和音频编码设置为“复制”并选择所需的容器格式即可。

安装:

进入apps.ubuntu.com

sudo apt-get install avidemux


#8 楼

还有WinFF,它是avconv图形界面。效果很好。我是从Ubuntu软件中心安装的。

以下是屏幕截图:


#9 楼

试试Avidemux

sudo apt-get install avidemux


或LiVES

sudo apt-get install lives


评论


即使在使用x4 CPU的情况下,Avidemux在Ubuntu 13.10下也冻结了几次。

– Lucio
2014年1月1日19:01



#10 楼

可以进行剪切,合并,缩放等操作…Blender(是的,此3D编辑器,但也有视频编辑部分)。您需要锻炼一些20分钟的教程才能生存下来,但是使用起来似乎令人意外。

#11 楼

我为此使用ffmpeg CLI界面。非常简单,快速:



剪切视频:

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或python的dateutil软件包,也可以使用直接接受结束时间的-to选项。

#12 楼

我使用Kdenlive,但如果您甚至可以在PiTiVi中以这种方式对视频进行切片,也不会感到惊讶:


用您的完整演讲创建一个新项目。
设置开始剪辑监视器中第一个“可管理块”的端点。
从剪辑监视器中的视频拖动到时间线。这只是您选择的块。
在剪辑监视器中设置新的起点和终点,然后根据需要重复。


评论


我环顾四周,找不到任何方法可以将一个长剪辑分为多个我可以轻松管理的短剪辑。没有“剪辑监视器”; PiTiVi非常简单(我的意思是,这是一种很好的方法!)显然,我可以剪辑视频并在时间轴中重新组织未命名的块,但我想知道是否有更好的方法。

–埃文·克罗斯克(Evan Kroske)
2010年11月11日下午6:05

#13 楼

在PiTiVi 0.13.5(Ubuntu 10.10)中,我可以简单地选择一个剪辑,然后转到“时间轴”>“拆分”(或只需按“ S”)。

#14 楼

为了快速切割,我使用了MythTV。我录制了一些节目,让它自动搜索广告时段并微调找到的标记。此后,我启动了神话存档功能,然后将其全部刻录到DVD,没有商业广告。

我不得不承认,它在2006年左右就开始运作了。在2008年或2009年的某个地方,某些更新破坏了这一切,我的标记在某种程度上发生了变化。

现在,我正在重新安装此神话材料,以查看是否可以获取修剪器/编辑器和存档器工作。

#15 楼

vidcutter是用于在ubuntu中剪切,修剪和合并视频的非常有用的工具:

安装vidcutter:

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


在ubuntu 17.10中工作
/>

#16 楼

昨天,我发现我可以在线上进行操作,
使用youtube帐户:)如果您很着急,并且没有足够的时间尝试使用哪种ubuntu软件,
然后在线进行。
转到youtube帐户,上传视频,然后
选择
视频管理器,
有一个增强选项,
在右下角角落处有Trim选项
如果仍然找不到它,请观看此1分钟教程


#17 楼

如果要使用GUI应用程序,则可以使用ffmpeg前端dmMediaConverter,它具有拆分功能,无需重新编码即可快速进行。只需添加分割点,然后按运行即可。此外,它还可以做很多其他事情。
http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html


评论


可惜的是,它不是开源的。

– Martin R.
17年4月28日在14:15

是的,但是它是免费的。

–mdalacu
17年5月1日在7:18

#18 楼

我为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=""; shift
start=""; shift
end=""; shift
outfile=""; shift
args=()

# Convert time to seconds
# https://unix.stackexchange.com/questions/412868/bash-reverse-an-array
timetosec() {
  rev="$(<<< "" tr ':' '\n' | sed 's/^0\+\([0-9]+\)//' | tac | tr '\n' ' ')"
  IFS=' ' read -a times <<< "$rev"
  let secs="${times[0]:-0} + (${times[1]:-0} * 60) + (${times[2]:-0} * 3600)"
  printf '%i' "$secs"
}

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

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

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

# End (use + or - to specify relative to the starting point)
if [ "${end:0:1}" = "+" ]; then args+=('-to' "$end")
elif [ "${end:0:1}" = "-" ]; then args+=('-sseof' "$end")
elif [ -n "$end" ]; then
  let dur="$(timetosec "$end") - $(timetosec "$start")"
  args+=('-to' "$dur")
fi

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

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

# Slice audio
ffmpeg "${args[@]}" -c copy "$@" "$outfile" 1>&2

# Output the final location
printf '%s' "$(readlink -f "$outfile")"
 
<请注意,ffmpeg仅会在关键帧上分割。在大多数情况下,这通常效果很好,但是如果您需要精确的视频片段,请参阅如何使用ffmpeg提取时间精确的视频片段?您可以在分段之前强制所有必需的关键帧。

#19 楼

使用此

我已经编写了它,可以从录制的电视视频中剪切广告。使用随附的remuxer,您甚至不必重新编码。没什么好看的。很快。

#20 楼

我一直在为同样的问题而苦苦挣扎,有一个大的视频文件,我想将其剪切并保存为单独的场景。在尝试对所有其他此处列出的可疑对象进行此操作后,我最终使用了Kino。

您将必须导入文件,因为Kino需要dv格式(无论是哪种格式),然后可以在“编辑”选项卡上为每个剪辑指定起点和终点,然后分别在上导出每个剪辑导出标签。效果很好,速度很快,最慢的部分是视频文件的初始导入。您甚至可以在每个剪辑中添加标题之类的效果。

我发现很难找到切入Kino场景的确切位置,并且当我在内置播放器中播放vid时,声音(在导出时会出现),并且播放速度太快,因此我在avidemux中播放视频,找到要剪切的时间或帧号,然后在Kino中使用此信息。

我确实发现它崩溃了(我使用Ubuntu 15.04 Kino v1.3.4),但是它会在重启时恢复到原来的位置。


更新Kino网页:


Kino是一个死项目
(05.08.2013 14:15)
Kino自2009年以来一直没有得到积极维护。我们鼓励您尝试使用其他Linux视频编辑器,例如Shotcut,Kdenlive,Flowblade,OpenShot,PiTiVi,LiVES和LightWorks。


#21 楼

我一直使用Kdenlive。
只需导入视频,将其拖到时间轴上,单击要拆分的位置,右键单击它,然后选择剪切即可。然后删除不需要的部分。

评论


感谢您的有用建议,但是对于我的需求,它们太复杂了。注意,我并没有说太难使用,只是出于我的目的而肿了。我最终使用了openshot

– jfoucher
11年8月22日在23:06

@jfoucher:您应该接受Geppettvs的回答;)

–塔卡特语
11年8月23日在7:31