[vlc] Issues transcoding from FLV and WMV to MP2V
Simon Hailstone
simon.hailstone at gmail.com
Mon Oct 8 20:23:12 CEST 2007
Hi all,
This issue has been brought up a few times in the forums, but I have not
seen a solution ( or seen it discussed on the mailing list ) so I hope you
won't mind me posting about it here.
I have been using VLC to transcode a wide range of videos ( generally FLV,
WMV, MPEG-1 or MOV ) to a standard MPEG TS container with MPEG-2 video and
MPEG-1/2 audio. Generally, this process works well. However, I have some
occasional problems with transcoding from FLV and WMV sources. While the
resulting TS file is playable, the first portion shows a bunch of green
artifacts. These green artifacts aren't displayed when using VLC to display
the original file - at least not green... Generally, these artifacts
persist in the output stream until the point that matches the arrival of the
first I-Frame ( or key-frame etc depending on original codec ) in the source
file. A message like this "[00000578] ffmpeg decoder warning: warning:
first frame is no keyframe" appears in the debug output. It seems that
while transcoding, VLC is rendering a bright green colour for areas where
data probably isn't available.
When viewing some of the source files with VLC - particularly FLV files - it
appears that VLC is using black, instead of the bright green 00FF00-like
colour, to render areas without proper data. This is much more pleasant to
the eye... Sometimes the areas affected are just black masking bars at the
top/bottom of the screen, when rendered in black the artifacts can appear
pretty much identical to the original stream. It would be fantastic if this
behaviour could be applied while transcoding, too.
As a side note, it appears that transcoding from these same sources to a
similar target format ( but using h264 instead of MPEG-2 for the video codec
) is much less prone to the green artifact issue.
Are there any command-line parameters that can influence this behaviour? I
haven't been able to find anything. After browsing through the source (
/modules/codec/ffmpeg/video_filter.c ), I tried adding the ffmpeg
"padcolor=000000" parameter to my list, but this did not help.
A sample VLC command line I might use looks like this :
vlc "c:\staging\videoAsset.flv" -I logger
--logfile="c:\staging\videoAsset.txt" --logmode="text"
--sout=#transcode{vcodec=mp2v,vb=4096,width=720,height=576,fps=25,venc=ffmpeg{strict=1,hq=bits,strict-rc,trellis,keyint=12},audio-sync,acodec=mpga,ab=160,channels=2}:standard{access=file,mux=ts,dst="c:\staging\videoAsset.ts"}
vlc:quit
Incidentally, generating snapshots of the video using image /
--image-out-format / --image-out-ratio etc suffers from the same problem
too.
Does anyone have any suggestions for things I could try? I will continue
poking around in the source, but I am unfamiliar with the code base(s) so it
might take me a while...
Thanks,
Simon Hailstone
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc/attachments/20071008/3fac4b40/attachment.html>
More information about the vlc
mailing list