分页: 1 / 2

视频无损分割,Linux 有否?

发表于 : 2015-03-22 18:57
自由建客
不转换格式,仅复制数据,修改相应文件头,速度超快。 :em01

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-23 1:46
vickycq
关注此问题,最近有类似需求。 :em09
调研中......

这个如何?用ffmpeg/avconv。

代码: 全选

avconv -ss 00:10:00 -t 00:30:00 -i input.mp4 -acodec copy -vcodec copy output.mp4
从10分00秒开始转录30分00秒,即0:10:00-0:40:00的内容。

[测试]
从一段1.6GiB的视频中提取10:00-40:00的内容,耗时数秒。
但实际提取的却是10:00-50:00的内容。看了avconv的man page,确认没理解错-ss和-t的含义。难道ffmpeg有bug? :em20
EDIT:已解决,见楼下

原文件信息:

代码: 全选

$ avprobe Mahler\ -\ Symphony\ No.\ 2\ _\ udamel\ ·\ Simón\ Bolivar\ Symphony\ Orchestra\ of\ Venezuela-hZzFruQCofM.mp4 
avprobe version 11.3-6:11.3-1, Copyright (c) 2007-2014 the Libav developers
  built on Mar 13 2015 23:08:20 with gcc 4.9.2 (Debian 4.9.2-10)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Mahler - Symphony No. 2 _ Dudamel · Simón Bolivar Symphony Orchestra of Venezuela-hZzFruQCofM.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2014-11-25 18:45:11
  Duration: 01:33:51.04, start: 0.000000, bitrate: 2246 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 2051 kb/s, 25 fps, 25 tbn, 50 tbc (default)
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      creation_time   : 2014-11-25 18:46:05
# avprobe output
处理过程:

代码: 全选

$ avconv -ss 00:10:00 -t 00:30:00 -i Mahler\ -\ Symphony\ No.\ 2\ _\ Dudamel\ ·\ Simón\ Bolivar\ Symphony\ Orchestra\ of\ Venezuela-hZzFruQCofM.mp4  -acodec copy -vcodec copy output.mp4
avconv version 11.3-6:11.3-1, Copyright (c) 2000-2014 the Libav developers
  built on Mar 13 2015 23:08:20 with gcc 4.9.2 (Debian 4.9.2-10)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Mahler - Symphony No. 2 _ Dudamel · Simón Bolivar Symphony Orchestra of Venezuela-hZzFruQCofM.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2014-11-25 18:45:11
  Duration: 01:33:51.04, start: 0.000000, bitrate: 2246 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 2051 kb/s, 25 fps, 25 tbn, 50 tbc (default)
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      creation_time   : 2014-11-25 18:46:05
Output #0, mp4, to 'output.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2014-11-25 18:45:11
    encoder         : Lavf56.1.0
    Stream #0.0(und): Video: libx264, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 2051 kb/s, 25 tbn, 25 tbc (default)
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo, 192 kb/s (default)
    Metadata:
      creation_time   : 2014-11-25 18:46:05
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press ctrl-c to stop encoding

frame= 6794 fps=6661 q=-1.0 size=   72316kB time=271.72 bitrate=2180.2kbits/s   
frame= 7734 fps=5088 q=-1.0 size=   81091kB time=309.32 bitrate=2147.6kbits/s   
frame= 9228 fps=4555 q=-1.0 size=  102520kB time=369.08 bitrate=2275.5kbits/s   
frame=10596 fps=4195 q=-1.0 size=  119645kB time=423.80 bitrate=2312.7kbits/s   
frame=12146 fps=3951 q=-1.0 size=  137053kB time=485.80 bitrate=2311.1kbits/s   
frame=14762 fps=4130 q=-1.0 size=  169146kB time=590.44 bitrate=2346.8kbits/s   
frame=17788 fps=4366 q=-1.0 size=  205196kB time=711.48 bitrate=2362.6kbits/s   
frame=20811 fps=4550 q=-1.0 size=  240457kB time=832.40 bitrate=2366.4kbits/s   
frame=23907 fps=4711 q=-1.0 size=  271342kB time=956.24 bitrate=2324.6kbits/s   
frame=26259 fps=4561 q=-1.0 size=  300913kB time=1050.32 bitrate=2347.0kbits/s  
frame=28465 fps=4528 q=-1.0 size=  325501kB time=1138.56 bitrate=2342.0kbits/s  
frame=30622 fps=4512 q=-1.0 size=  348723kB time=1224.84 bitrate=2332.3kbits/s  
frame=31717 fps=4343 q=-1.0 size=  364530kB time=1268.64 bitrate=2353.9kbits/s  
frame=33038 fps=4216 q=-1.0 size=  382423kB time=1321.48 bitrate=2370.7kbits/s  
frame=34583 fps=4120 q=-1.0 size=  399492kB time=1383.28 bitrate=2365.9kbits/s  
frame=35824 fps=4028 q=-1.0 size=  416353kB time=1432.92 bitrate=2380.3kbits/s  
frame=37479 fps=3976 q=-1.0 size=  432004kB time=1499.12 bitrate=2360.7kbits/s  
frame=39027 fps=3931 q=-1.0 size=  449892kB time=1561.04 bitrate=2360.9kbits/s  
frame=39602 fps=3798 q=-1.0 size=  456476kB time=1584.04 bitrate=2360.7kbits/s  
frame=40560 fps=3694 q=-1.0 size=  470113kB time=1622.36 bitrate=2373.8kbits/s  
frame=42434 fps=3697 q=-1.0 size=  486139kB time=1697.32 bitrate=2346.3kbits/s  
frame=44187 fps=3689 q=-1.0 size=  507062kB time=1767.44 bitrate=2350.2kbits/s  
frame=45353 fps=3634 q=-1.0 size=  521867kB time=1814.08 bitrate=2356.6kbits/s  
frame=46907 fps=3614 q=-1.0 size=  539625kB time=1876.24 bitrate=2356.1kbits/s  
frame=48601 fps=3606 q=-1.0 size=  559602kB time=1944.00 bitrate=2358.2kbits/s  
frame=50055 fps=3580 q=-1.0 size=  576633kB time=2002.16 bitrate=2359.3kbits/s  
frame=51661 fps=3567 q=-1.0 size=  593252kB time=2066.40 bitrate=2351.9kbits/s  
frame=53036 fps=3540 q=-1.0 size=  611454kB time=2121.40 bitrate=2361.2kbits/s  
frame=54347 fps=3510 q=-1.0 size=  628902kB time=2173.84 bitrate=2370.0kbits/s  
frame=55943 fps=3500 q=-1.0 size=  647246kB time=2237.68 bitrate=2369.5kbits/s  
frame=57612 fps=3495 q=-1.0 size=  667391kB time=2304.44 bitrate=2372.5kbits/s  
frame=59510 fps=3504 q=-1.0 size=  680502kB time=2380.36 bitrate=2341.9kbits/s  
frame=60000 fps=3488 q=-1.0 Lsize=  687658kB time=2399.96 bitrate=2347.2kbits/s 

video:630125kB audio:56251kB other streams:0kB global headers:0kB muxing overhead: 0.186786%
输出文件信息:

代码: 全选

$ avprobe output.mp4 
avprobe version 11.3-6:11.3-1, Copyright (c) 2007-2014 the Libav developers
  built on Mar 13 2015 23:08:20 with gcc 4.9.2 (Debian 4.9.2-10)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2014-11-25 18:45:11
    encoder         : Lavf56.1.0
  Duration: 00:40:00.03, start: 0.000000, bitrate: 2347 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 2150 kb/s, 25 fps, 25 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2014-11-25 18:45:11
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      creation_time   : 2014-11-25 18:45:11
# avprobe output
可见output.mp4时长40分钟 :em20

除此之外,很好用。

参考:
https://robert.accettura.com/blog/2012/ ... nt-page-1/
http://askubuntu.com/questions/35605/sp ... n-mp4-file
http://superuser.com/questions/377343/c ... ith-ffmpeg

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-23 2:30
vickycq
上面的问题解决了,把 -t 00:30:00 挪到后面:

代码: 全选

avconv -ss 00:10:00 -i F1-2015-R01-FP1-Onboard.mp4 -acodec copy -vcodec copy -t 00:30:00 output.mp4
:em20 这样输出文件的长度就正常了(30min)。 若放在-ss 00:10:00后面,则为40min :em20

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-23 2:46
vickycq
又仔细看了一下主楼的描述,若要把视频从某一帧精确分割为两段,上面的路子貌似行不通?(不精确且麻烦)

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-23 9:53
rosynirvana
按GOP切割简单,按帧无损切割很困难,不知道有人实现过没

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-23 13:01
nyfair
看格式,wmv用asfbin,其他用ffmpeg,关键参数就是-acodec copy -vcodec copy。
不过开源软件bug多大家都懂的,具体成不成得看你rp

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-23 14:16
adagio
视频合并、分隔、剪切、压缩、编码、转换,用avidemux,几乎全格式兼容,我用来剪切1080几十G的文件不过几分钟而已
之所以说几乎,是因为现在最流行的mkv貌似无能,有这个需求的话用mkvtoolnix,所见即所得方面稍差一点,但速度一样杠杠的
另外还有rmvb和wmv我就没法了,幸好这种格式用的不太多,至少现在的手机视频录制不会用
还有以上两种软件都有linux和windows版,全GUI,管你菜鸟老鸟xx鸟上手就用

当然,你要是喜欢敲码,那就当我没说

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-23 22:59
angel_za
mkvtools,有分割功能

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-24 14:48
tang.zhe
marks.

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-24 16:17
gdgglhy
marks

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-24 18:35
自由建客
其实我就是想把岛国片精彩内容收藏下,这么麻烦,还是买硬盘算了。 :em01

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-24 20:37
onlylove
:em20 :em20 :em20 目的还真单纯

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-24 23:22
adagio
自由建客 写了:其实我就是想把岛国片精彩内容收藏下,这么麻烦,还是买硬盘算了。 :em01
你意思是把high段子切下来再拼接成一个size几百G时长几百小时中日欧美混搭H.264杜比环绕WM9FHD1080P+480小邮票统统管他妈强撸灰飞烟灭的片片然后打开一包5块钱的烟再打开一袋十二卷一大包的卷纸然后再按下repeat按钮 again and again until end the world酱紫?
那我已经说了avidemux正合适你怎么就是不听非要花这些个冤枉钱养肥希捷西数东芝日立那一帮子心怀叵测的JS让他们又拿你的冤枉钱去拍成G成G的高清无码绿肥红瘦眼波才动心肝疼的片片来塞满你的硬盘只好咬牙再花冤枉钱again and again?
想想喔

Re: 视频无损分割,Linux 有否?

发表于 : 2015-03-25 11:19
eexpress
完全无损,那要解码到帧。
你这要求,不如听假狐狸的。

Re: 视频无损分割,Linux 有否?

发表于 : 2017-06-27 22:16
自由建客
@adagio, 又买硬盘了 终于凑够 8TB 了 :em22
IMG_20170622_172132.jpg