Hi all,<br><br>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.<br><br>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.
<br><br>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.
<br><br>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.<br><br>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.
<br><br>A sample VLC command line I might use looks like this :<br>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
<br><br>Incidentally, generating snapshots of the video using image / --image-out-format / --image-out-ratio etc suffers from the same problem too.<br><br>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...
<br><br>Thanks,<br>Simon Hailstone<br><br>