怎样倒算时间?
dwing吧
全部回复
仅看楼主
level 11
asillychild 楼主
-ss 就是从什么时间开始。
但是我想设置去掉最后60秒,也就是说一般的片头片尾曲,我把它想把它去掉,这个该怎么操作?
2019年07月08日 05点07分 1
level 11
asillychild 楼主
例如, 有一堆要处理的文件在10-11分钟之间 ,片头曲占60-62秒不等, 内容为9:30-左右, 最后还有一分钟片尾曲...
怎样批量操作
for %%a in ("f:\aaa\*.mkv") do ffmpeg -ss 60秒 -to (文件总时间-60秒) -i "%%a" -filter_complex "[0:v][0:s]overlay,delogo=166:58:134:84,scale=-2:480[v]" -map "[v]" -map 0:a:0 -map 0:a:1 -ab 128k "f:\aaa\%%~na.mp4" -y
2019年07月08日 09点07分 2
level 3
--sseof
2019年07月09日 06点07分 3
这个只能当开始,结束用不到
2019年07月09日 07点07分
@asillychild 不是,我没理解你这句话的意思,什么是sseof只能当开始,结束用不到
2019年07月09日 07点07分
@asillychild 哦 我傻了 以为你要的是结尾。。
2019年07月09日 07点07分
@高丽猴120 我要去头去尾.只留中间
2019年07月09日 07点07分
level 11
asillychild 楼主
输入的文件是10秒的,我想前2秒和后3.5秒去掉..但出来只有去掉了开头
2019年07月09日 08点07分 4
level 3
手机。。。。你手机性能有点好
如果手机有的话ffprobe -v 0 -show_entries format=duration -of compact=p=0:nk=1 in.mp4
2019年07月09日 08点07分 5
手机只有ffmpeg
2019年07月09日 09点07分
还有,我不是用来看,我是转码
2019年07月09日 09点07分
@asillychild 电脑下写bat把值存起来吧。。。
2019年07月09日 10点07分
level 1
例如总时间10秒 去掉开头2秒和结尾3.5秒
ffmpeg -ss 2 -t 4.5
2019年07月09日 09点07分 6
我有180个视频想处理,我不想一个个这样来写来看。
2019年07月09日 09点07分
@asillychild 那么多建议PC 用gui直接截图,然后批量,180个我20分钟就搞点了
2019年07月09日 21点07分
@asillychild 打多了个图字,如果时间长度不一样和想剪切的时间也不一样,命令行更麻烦。
2019年07月09日 21点07分
level 3
ffmpeg -i in.mp4 -filter_complex "[0]split[s1][s2]; [s1]trim=10,setpts=PTS-STARTPTS,fifo[bv]; [s2]trim=10,setpts=(PTS-STARTPTS)+10/TB,fifo[v]; [bv][v]overlay=shortest=1,trim=10,setpts=PTS-STARTPTS[fv]; [0]volume=0[b];[0]adelay=10000|10000[a]; [b][a]amix=duration=first,volume=2,atrim=20,asetpts=PTS-STARTPTS[fa]"-map "[fv]" -map "[fa]" trimmed.mp4
2019年07月09日 10点07分 7
我觉得这我这种做法应该不存在overlay。我好像看不太明你那个。fifo和+10/TB不懂
2019年07月09日 11点07分
吧务
level 14
给视频开头加10秒黑屏?然后维持原视频长度切割?然后把开头切20秒?[阴险]
2019年07月09日 12点07分 8
好吧.请自动脑补把10换成60
2019年07月09日 12点07分
好像和我的目的和要求都不一样。
2019年07月09日 13点07分
@asillychild 也许是你无法理解
2019年07月09日 13点07分
吧务
level 14
ffmpeg -i src.mkv -f lavfi -t 60 -i color=black:s=WxH -filter_complex "[1:v][0:v]concat[v];[0:v][v]overlay=shortest=1[v];[v]trim=120[v];[v]setpts=PTS-STARTPTS[v]" -map [v] target.mkv
这个只是视频,音频的话同理。。。
2019年07月09日 13点07分 9
好吧,其实只要把原视频trim之后再overlay就行了[狂汗]
2019年07月09日 13点07分
然后我弄个时间长点的视频内存就爆了[滑稽]
2019年07月09日 14点07分
level 11
asillychild 楼主
不懂的如下: -f lavfi是什么, -t 是否给黑色用, 如果前面58秒,后面65秒这样是不是要做两个黑色Input?最后的t rim=两个黑色之和。
2019年07月09日 14点07分 10
吧务
level 14
7楼正解[滑稽]
2019年07月09日 14点07分 11
不过改成前后切60秒之后还是差点爆内存,源文件1080p
2019年07月09日 14点07分
@Mr-Z♂ 现在重看7楼明白了,但不明白1. +10/TB是什么, 2为什么ADELAY=10000|10000, 而不是ADELAY=10000
2019年08月17日 07点08分
level 11
asillychild 楼主
要求,
0-10秒去掉,
最后7.5秒去掉。
只取左声道。
视频放在中间改为720X480另外两边模糊到852X480的大小。
F:\>for %a in ("f:\180\*.rmvb") do f -i "%a" -filter_complex "[0:v]split[s1][s2],[s1]scale=852:480,g
blur=40,trim=10,setpts=PTS-STARTPTS,fifo[bv],[s2]scale=720:480,trim=7.5,setpts=(PTS-STARTPTS)+10/TB,
fifo[v],[bv][v]overlay=x=66:y=0:shortest=1,trim=17.5,setpts=PTS-STARTPTS[fv],[0:a]volume=0[b];[0:a]a
delay=10000|10000[a],[b][a]amix=duration=first,volume=2,atrim=17.5,asetpts=PTS-STARTPTS[fa]" -map "[
fv]" -map "[fa]" -map_channel 0.0.0 "f:\180\%~na.mp4" -y
2019年07月17日 02点07分 12
level 6
不是有工具剪吗
avidemux
2019年08月22日 16点08分 13
1