转换AVCHD的m2ts文件到avi
授权方式:署名,非商业用途,保持一致,转载时请务必以超链接(http://www.fwolf.com/blog/post/361)的形式标明文章原始出处和作者信息及本声明。Sony的硬盘录像机是好东西,高清晰、宽屏幕录像,大容量存储,可录的时候爽了,后期浏览和加工转换实在是不方便(这位仁兄也有同样感受: Jeff Cai的流水账 - Play with AVCHD,机型都是Sony HDR-SR1),无论想在哪台电脑上浏览录像,都要装一个Sony Handycam Application Software软件(安装盘仅400M),这个软件也相当霸道,不让选择安装位置、安装哪些组件,甚至不允许单独安装其中的某一个程序,安装完成后居然还提示要重启xp,当然不重启我试了也能使用。注册媒体库位置的时候不让选择网上邻居资源或者映射的网络驱动器。
如果这些都不是问题的话,录像文件拷出来能用其他工具浏览或加工也行啊,可偏偏他的录像格式m2ts(扩展名MTS)目前支持的工具还相当少,不过还是在网上找到了一些文章,能够用开源工具进行转换。Sony自带软件也能转换成通用格式,不过我的印象是会损失一些清晰度,用肉眼就能轻易的分辨出来的差异。参考文章:
- AVCHD .m2ts conversion for Linux, view style 1, view style 2
- Computer freezes: AVCHD (.mts from Sony HDR-SR1)
基本思路都是这样的:
- 用xporthdmv把m2ts转换为mpv和mpa格式
- 用ldecod把mpv转换为yuv格式
- 用yuv4mpeg把yuv转换为y4m格式
- mpa直接当ac3格式的音频使用
- 用ffmpeg合成视频和音频部分为avi格式(avi就是一个容器)
讨论中还有一些其他的提示:
- ffmpeg可以用mencoder替代
- ldecod生成的yuv文件大小可以达到4G/分钟,不过可以用命名管道(named pipe)来省去使用中间文件
- 视频和音频的同步,pal格式录像可以设定fps为25,ntsc格式录像可以使用参数-r 29.97。
参考文章中的第一篇给了一个附件(我还在这里存了一份解压、编译好的版本),这个很好用,下载下来解包,里面的readme.txt和Makefile解释了使用方法,不过在ubuntu下使用的话,建议先作以下几步准备工作:
- 安装svn客户端
- 用apt安装x264-bin和ffmpeg以及mplayer
- 在’src/JM/ldecod’目录下创建一个空的子目录’obj’
- 脚本运行之后会自动转换samplevideo.avi,会用去一些时间,想省略的话把这个文件删除或改名即可
- download文件中有一句
set version=12.2,现在的jm版本已经是12.4了,更新之,不然下载不到(404错误)
然后就简单了:
- ./download
- ./compile
- ./install
或者再用installasroot安装,你就可以使用m2tstoavi了:
$ m2tstoavi
usage: /usr/local/bin/m2tstoavi filename.m2ts ...
我也转了一个自己录的文件,完成后发现视频、音频不同步,并且播放速度很慢,可能是一些设置参数的问题,转换方式肯定是没有问题的,并且好像是目前最好的方式了。(修改/usr/local/bin/m2tstoavi,注意上面说的pal和ntsc制式的区别)mplayer播放最终生成的avi文件,信息如下:
Playing samplevideo.avi.
AVI file format detected.
VIDEO: [h264] 1440×1080 24bpp 29.970 fps 13323.1 kbps (1626.4 kbyte/s)
Clip info:
Software: MEncoder 2:1.0~rc1-0ubuntu9.1
open: No such file or directory
[MGA] Couldn’t open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn’t open: /dev/mga_vid
[VO_TDFXFB] Can’t open /dev/fb0: No such file or directory.
[VO_3DFX] Unable to open /dev/3dfx.
It seems there is no Xvideo support for your video card available.
Run ‘xvinfo’ to verify its Xv support and read DOCS/HTML/en/video.html#xv!
See ‘mplayer -vo help’ for other (non-xv) video out drivers. Try -vo x11
Opening video filter: [screenshot]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Forced audio codec: mad
Opening audio decoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback…
VDec: vo config request - 1440 x 1080 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 1 -> 1
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: BICUBIC scaler, from yuv420p to bgr24 using MMX2
SwScaler: using 4-tap MMX scaler for horizontal luminance scaling
SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
SwScaler: using n-tap MMX scaler for vertical scaling (BGR)
SwScaler: using MMX2 YV12->BGR24 Converter
SwScaler: 1440×1080 -> 1920×1080
VO: [x11] 1440×1080 => 1920×1080 Planar YV12
A:4358.2 V: 2.9 A-V:4355.240 ct: 0.297 89/ 89 148% 0% 1.1% 37 0
有时间了再仔细研究视频、音频不同步和播放速度很慢的问题。不过还是那句话,技术都是好东西,可对商业利益的无止境追求使他们变成了恶魔。
软件环境:Ubuntu 7.04 Feisty
Update @ 2008-02-14
发现视频、音频不同步的原因了,我的机器太慢!精度太高了,3.2双核都跑不动!对结果再此进行降频转换之后,播放还是很流畅的,但感觉人物动作略微有一点点快呢?帧率不对?
mencoder -oac copy -ovc xvid -xvidencopts bitrate=5000 $file.avi -o $output.avi
Tags: avchd, avi, m2ts, mencoder
Save to Browser Favorites
Ask
backflip
blinklist
BlogBookmark
Bloglines
BlogMarks
Blogsvine
BUMPzee!
CiteULike
co.mments
Connotea
del.icio.us
DotNetKicks
Digg
diigo
dropjack.com
dzone
Facebook
Fark
Faves
Feed Me Links
Friendsite
folkd.com
Furl
Google
Hugg
Jeqq
Kaboodle
linkaGoGo
LinksMarker
Ma.gnolia
Mister Wong
Mixx
MySpace
MyWeb
Netvouz
Newsvine
PlugIM
popcurrent
Propeller
Reddit
Rojo
Segnalo
Shoutwire
Simpy
sk*rt
Slashdot
Sphere
Sphinn
Spurl.net
Squidoo
StumbleUpon
Technorati
ThisNext
Webride
Windows Live
Yahoo!
Email This to a Friend
If you like this then please subscribe to the
October 30th, 2007 at 9:21:10
一直对硬盘形式的摄像机不感冒,主要也是因为文件格式,还有硬盘大小的问题。看了你的文章,我会 stay away from sony!!!
[Reply]
October 30th, 2007 at 10:10:23
我也是,更倾向于照相机,格式通用,后期存储、加工方便,
简单录像的任务也能完成,
摄像机,还是偏“专业化”一些。
[Reply]
January 28th, 2008 at 22:52:02
哇塞,兄台比我认真好多哦。你的参考资料我也看到过,但是看到步骤这么多就放弃了。哈哈。
今天无意中看看Analytics,才发现你的网站,过来踩一脚。
[Reply]
January 28th, 2008 at 23:43:19
@Jeff Cai 我也是没办法啊,需求驱动嘛,但对视频这块实在是懂得太少,转出来的结果帧数极低,根本就没法用,只能暂时搁浅在这里,把m2ts文件连同sony的驱动光盘一起刻在dvd上给别人。。。
[Reply]
April 29th, 2008 at 14:41:46
HDR-SR E系列摄像机最好能向JVC那样随机付带一张摄像后期的编辑光盘(近似”会声会影”的编辑器).目前HDR-SR E所摄的视频M2TS好多编辑器不能导入,编辑不了.摄回的视频不能编辑有什么用呢!从HDR-SR E目前付带的光盘看,对所摄的视频只能简单的剪辑,而不能编辑,真是太不完美了!
[Reply]
Fwolf reply on 2008-4-29 15:35:27:
随机带的软件功能一般的比较弱,
大家都希望能用自己更顺手的工具来编辑,
这就要求厂商提供更兼容的格式,
但这也是厂商为了商业利益所最不愿意作的事情了。
[Reply]