如果这些都不是问题的话,录像文件拷出来能用其他工具浏览或加工也行啊,可偏偏他的录像格式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] 1440x1080 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: 1440x1080 -> 1920x1080
VO: [x11] 1440x1080 => 1920x1080 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
Source: http://www.fwolf.com/blog/post/361