録画済みの GoToMeeting ビデオを wmv から mp4 形式に変換するという課題がありました。Citrix から入手できる GoToMeeting トランスコーダ アプリ (g2mtranscoder.exe) を使って、ソース wmv を取得し、ffmpeg が wmv で動作できるようにします。問題は、その後、その wmv を取得して mp4 にトランスコードしようとすると発生します。
私はここからWindows用のffmpegの最新のプリコンパイルされた静的バージョンを使用していますhttp://ffmpeg.zeranoe.com/builds/
変換を開始するために使用しているコマンド ラインは次のとおりです。
"C:\ffmpeg\ffmpeg.exe" -i "999_1366_768_g2m_transcoded.wmv" -f "mp4" -b "1000k" -r "30" -ab "128k" -ar "22050" -s "1366x768" -strict "experimental" -y "999.mp4"
FFMPEG の出力は次のとおりです。最後の行は、DOS ウィンドウが実行を停止/ロックアップしているように見える部分です (ロックアップとは、マシン全体ではなく、DOS ウィンドウだけがロックアップしていることを意味します)。
ffmpeg version N-31932-g41bf67d, Copyright (c) 2000-2011 the FFmpeg developers built on Aug 16 2011 18:54:12 with gcc 4.6.1
configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 51. 12. 0 / 51. 12. 0
libavcodec 53. 10. 0 / 53. 10. 0
libavformat 53. 7. 0 / 53. 7. 0
libavdevice 53. 3. 0 / 53. 3. 0
libavfilter 2. 31. 1 / 2. 31. 1
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
[asf @ 01BBB600] max_analyze_duration 5000000 reached at 5194000
Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 59.92 (719/12)
Input #0, asf, from 'D:\Inetpub\g2m\Transcoding\999_1366_768_g2m_transcoded.wmv':
Metadata:
WMFSDKVersion : 10.00.00.4007
WMFSDKNeeded : 0.0.0.0000
IsVBR : 1
VBR Peak : 4403
Buffer Average : 1470
WM/ToolVersion : 4.8 Build 723
WM/ToolName : GoToMeeting
BitRateFrom the writer: 1553
Audio samples : 6221
Video samples : 3455
recording time : Mon, 22 Aug 2011 11:48:42 Eastern Daylight Time
Duration: 00:38:30.71, start: 0.000000, bitrate: 160 kb/s
Stream #0.0: Audio: wmav2, 44100 Hz, 1 channels, s16, 48 kb/s
Stream #0.1: Video: wmv3 (Main), yuv420p, 1366x768, 2154 kb/s, 59.92 tbr, 1k tbn, 1k tbc
[buffer @ 01BBC120] w:1366 h:768 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Output #0, mp4, to '\\nas4\FMS_APPLICATIONS\SVC\sk12\webinars\999.mp4':
Metadata:
WMFSDKVersion : 10.00.00.4007
WMFSDKNeeded : 0.0.0.0000
IsVBR : 1
VBR Peak : 4403
Buffer Average : 1470
WM/ToolVersion : 4.8 Build 723
WM/ToolName : GoToMeeting
BitRateFrom the writer: 1553
Audio samples : 6221
Video samples : 3455
recording time : Mon, 22 Aug 2011 11:48:42 Eastern Daylight Time
encoder : Lavf53.7.0
Stream #0.0: Video: mpeg4, yuv420p, 1366x768, q=2-31, 1000 kb/s, 30 tbn, 30 tbc
Stream #0.1: Audio: aac, 22050 Hz, 1 channels, s16, 128 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop, [?] for help
frame= 149 fps= 63 q=23.5 size= 1103kB time=00:00:04.96 bitrate=1818.6kbits/s dup=144 drop=0
なぜ DOS ウィンドウがロックされ、ファイルを MP4 に変換できないのか、理由がわかる人はいませんか? 友人に Linux ボックスでテストしてもらったところ、問題なくビデオを変換できました。
ありがとう