I'm using a script (hwdVideoShare - an addon for joomla. I've also tried clipshare out, and had the same problem as described below) and .avis etc transcode to flv just fine, but I've found there are certain 'problem formats' (wmvs and mp4s - there might be more but I haven't had time to test). These refuse to transcocde properly. Frames get dropped, resulting in audio/video sync errors etc. Here is the command hwdVideoShare it supposed to run:
Code:
$cmd_mencoder = "$mencoderpath $path_original -o $path_new -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=800:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -vf scale=450:400 -srate 22050";
But that errors out like so:
Code:
$ mencoder test.wmv -o test.flv -of lavf -oac mp3lame -lameopts abr:br=56
vcodec=flv:vbitrate=800:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -vf scale=450:400 -srate 22050
MEncoder 1.0rc2-4.1.2 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 Quad CPU @ 2.40GHz (Family: 6, Model: 15, Stepping: 7)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
Option lavfopts: Unknown suboption i_certify_that_my_video_stream_does_not_use_b_frames
Error parsing option on the command line: -lavfopts
Exiting... (error parsing command line)
So to fix, I have to remove
Code:
-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames
from the conversion command. That leaves me with this:
Code:
mencoder test.wmv -o test.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=800:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=450:400 -srate 22050
I ran this command in order to convert the test file and to write the output into a file:
Code:
mencoder test.wmv -o test.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=800:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=450:400 -srate 22050 > output
Here is what is in 'output' after the conversion is complete:
Code:
MEncoder 1.0rc2-4.1.2 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 Quad CPU @ 2.40GHz (Family: 6, Model: 15, Stepping: 7)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
success: format: 0 data: 0x0 - 0xd836e
ASF file format detected.
[asfheader] Audio stream found, -aid 1
[asfheader] Video stream found, -vid 2
VIDEO: [WMV3] 640x480 24bpp 1000.000 fps 768.0 kbps (93.7 kbyte/s)
[V] filefmt:6 fourcc:0x33564D57 size:640x480 fps:1000.00 ftime:=0.0010
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, s16le, 96.0 kbit/6.81% (ratio: 12005->176400)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
==========================================================================
OK, exit
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [scale w=450 h=400]
==========================================================================
Opening video decoder: [dmo] DMO video codecs
Creating new registry
Failed to open registry file '/var/www/.mplayer/registry' for writing.
DMO dll supports VO Optimizations 0 1
DMO dll might use previous sample when requested
Failed to open registry file '/var/www/.mplayer/registry' for writing.
Failed to open registry file '/var/www/.mplayer/registry' for writing.
Failed to open registry file '/var/www/.mplayer/registry' for writing.
GetOutput r=0x0 size:921600 align:1
StreamCount r=0x0 1 1
Decoder supports the following formats: YV12 YUY2 UYVY YVYU RGB8 RGB555 RGB565 RGB24 RGB32
Decoder is capable of YUV output (flags 0x1b)
VDec: vo config request - 640 x 480 (preferred colorspace: Packed YUY2)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: libavcodec (450x400 fourcc=31564c46 [FLV1])
[VE_LAVC] High quality encoding selected (non-realtime)!
Selected video codec: [wmv9dmo] vfm: dmo (Windows Media Video 9 DMO)
==========================================================================
MP3 audio selected.
VIDEO CODEC ID: 22
AUDIO CODEC ID: 15001, TAG: 0
Writing header...
I'm also getting a lot of
Code:
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
65 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
65 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
32 duplicate frame(s)!
32 duplicate frame(s)!
34 duplicate frame(s)!
32 duplicate frame(s)!
32 duplicate frame(s)!
33 duplicate frame(s)!
36 duplicate frame(s)!
31 duplicate frame(s)!
31 duplicate frame(s)!
66 duplicate frame(s)!
34 duplicate frame(s)!
39 duplicate frame(s)!
36 duplicate frame(s)!
35 duplicate frame(s)!
36 duplicate frame(s)!
36 duplicate frame(s)!
35 duplicate frame(s)!
36 duplicate frame(s)!
36 duplicate frame(s)!
35 duplicate frame(s)!
36 duplicate frame(s)!
34 duplicate frame(s)!
35 duplicate frame(s)!
35 duplicate frame(s)!
35 duplicate frame(s)!
skipped frame errors. So many in fact, that i can't even scroll back up far enough.
Note the skipped frames. This causes huge issues with audio/video sync.
HOW TO FIX THESE SKIPPED FRAMES! I suspect getting "i_certify_that_my_video_stream_does_not_use_b_frames" is the key, but so far I've been unsuccessful. I'm pulling my hair out and have been for some time.
ANY help appreciated. I'm desperate.