VideoHelp Forum
+ Reply to Thread
Results 1 to 10 of 10
Thread
  1. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    I've been experimenting with creating better quality vids. While the overall resolution is pretty decent, I have some issues with the flv file not seeming to handle certain kinds of movement well.


    Here's a sample made with EasyFLV:

    http://www.youtube.com/watch?v=ekfPEukNycg

    When there's not much motion, things look decent - overall the quality of the flv is pretty good compared to the original source file, but there are these artifacts where you see these streaks, sort like sections of the image don't quite keep up with each other. It's most obvious when the camera either pans or orbits around the singer.

    Is the blame on the FLV converter? I've also tried one called Any Video Converter and get the same results.

    This particular file is made at 512x384, created from 720x480 DV.


    Thanks for all input.
    Quote Quote  
  2. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    If that is good compared to the original source, the source must have been horrible. Sorry, but there is no way you can convince me that is quality video. It looks like most other low bitrate FLV encoded video - and therein lies your problem. All the artifacts that are throughout the video are caused simply by lack of bitrate. There is not enough data to properly encode the video, which is why it looks blocky, smudgy, and overall youtube-ish.
    Read my blog here.
    Quote Quote  
  3. Originally Posted by brassplyer
    there are these artifacts where you see these streaks, sort like sections of the image don't quite keep up with each other. It's most obvious when the camera either pans or orbits around the singer.
    I'm not sure exactly what you are describing but here are two possible problems:

    The FLV player plugin doesn't use video overlay. This means it is writing RGB data directly to the desktop and is unaware of when the video is being displayed and when the graphics card is in the vertical blanking period. This can lead to tearing where part of the visible frame is from one source frame and part from another frame:



    The tear will always be horizontal and the vertical position may vary from frame to frame. This is a playback issue not an encoding problem. It will vary from computer to computer depending on the CPU speed, the AGP/PCIe bus speed, and the refresh rate.

    Another possibility comes from the way high compression codecs work. One of the most important methods used to reduce video file size is not to encode parts of the picture that don't change from frame to frame. The decoder is simply told to leave those parts of the frame the same and just updated the parts of the picture that have changed.

    When the frame-to-frame changes start getting too big for the allowed bitrate the encoder starts considering parts of the picture that have changed only a little as not having changed. So when decompressed the new frame may still contains a parts of the old frame. Eventually, those slightly changing portions of the picture may change enough to warrant an update. Or a new keyframe will come along and the entire frame will be updated. The result of this is parts of the frame moving at different rates. Areas of subtle shading will lag behind areas of bigger changes.

    This type of problem is exacerbated by fast camera movement, video noise (like off-air analog recordings), smoke, heavy rain, etc.
    Quote Quote  
  4. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by guns1inger
    If that is good compared to the original source, the source must have been horrible. Sorry, but there is no way you can convince me that is quality video. It looks like most other low bitrate FLV encoded video - and therein lies your problem. All the artifacts that are throughout the video are caused simply by lack of bitrate. There is not enough data to properly encode the video, which is why it looks blocky, smudgy, and overall youtube-ish.

    It's actually fairly close to the original. Keep in mind that the source is VHS tape which was then run through a Sony Digital8 camcorder via passthrough to DV AVI. I really don't think bit rate is an issue, the original flv file before appending the black portion is 1382kbps - set at 1200 video and 160 mp3 audio the highest rate for audio & vid this particular app will do, which of course is watered down by adding the long, low bit black segment, which brings it down to 298.


    Do you see the artifact I'm referring to? The horizontal streaking?

    As a demonstration that it's pretty close to the original, here's a segment of the original .avi, direct stream cut using Virtualdub. It's the section that most clearly shows the issue I'm having with the .flv conversion.


    http://www.fileden.com/files/2007/5/31/1130283/resolution_demo.avi
    Quote Quote  
  5. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by jagabo
    Originally Posted by brassplyer
    there are these artifacts where you see these streaks, sort like sections of the image don't quite keep up with each other. It's most obvious when the camera either pans or orbits around the singer.
    I'm not sure exactly what you are describing but here are two possible problems:

    The image you posted fairly well demonstrates it.

    The FLV player plugin doesn't use video overlay. This means it is writing RGB data directly to the desktop and is unaware of when the video is being displayed and when the graphics card is in the vertical blanking period. This can lead to tearing where part of the visible frame is from one source frame and part from another frame:

    The tear will always be horizontal and the vertical position may vary from frame to frame. This is a playback issue not an encoding problem. It will vary from computer to computer depending on the CPU speed, the AGP/PCIe bus speed, and the refresh rate.
    So you think the problem may be with the player, not the file?

    Is there one that you recommend?
    Quote Quote  
  6. I don't know if you can use another player for youtube streaming. But you can download the FLV or MP4 files (via KeepVid.com or whatever) and use VLC or KMplayer. Make sure they players are set up to use video overlay, vertical sync., and double or tripple buffering. Some graphic drivers may have broken video sync so you may not be able to get around the problem.
    Quote Quote  
  7. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by jagabo
    I don't know if you can use another player for youtube streaming.

    I realized later I was having a cerebral infarct, I see the problem on YouTube as well, not just the onboard player.

    But you can download the FLV or MP4 files (via KeepVid.com or whatever) and use VLC or KMplayer. Make sure they players are set up to use video overlay, vertical sync., and double or tripple buffering. Some graphic drivers may have broken video sync so you may not be able to get around the problem.

    I just adjusted the refresh rate on my display to see if that made a difference, but I'm still seeing the tearing.

    When you refer to the graphic drivers, do you mean drivers for the video card? I've got an NVidia GeForce FX 5200. An older card but seems to work fine for playing DVD's, video games look good on it, etc.

    My hardware doesn't seem to be the first culprit, since I see other video on YouTube that looks fine. I believe it has something to do with what happens to the data. Something I've noticed, that for example if I play a DVD, it looks fine. Now, if I record the output of that same DVD or a VCR via passthrough going through my Dig8 camcorder, I get the tearing artifacts as mentioned above. What does this tell me?
    Quote Quote  
  8. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by jagabo
    But you can download the FLV or MP4 files (via KeepVid.com or whatever) and use VLC or KMplayer

    Thanks! Using the KMplayer the issue went away in whatever the default mode is. That's interesting. Looks like a great little app, though there are a mind-boggling number of parameters that can be adjusted.

    So if my system is clearly capable of playing the video without problems, why do you think I'm seeing the issue on YouTube?
    Quote Quote  
  9. Banned
    Join Date
    Jun 2007
    Location
    UNREACHABLE
    Search Comp PM
    brassplyer wrote:

    So if my system is clearly capable of playing the video without problems,
    why do you think I'm seeing the issue on YouTube?
    If you're talking about the omnipresent Adobe Flash Plugin,
    then the answer is: the Adobe Flash plugin itself. Apparently it was designed
    to "optimally"-playback only sub-quality and sub-complexity FLV1 videos
    Give it anything less bad, and probably it will stutter and stumble.
    Illogical? Funny? Saddening indeed
    Quote Quote  
  10. Originally Posted by brassplyer
    Using the KMplayer the issue went away in whatever the default mode is...

    So if my system is clearly capable of playing the video without problems, why do you think I'm seeing the issue on YouTube?
    The issue is video overlay. KMPlayer will uses video overlay by default. Most media players do. The Flash plugin for IE and Apple's Quicktime player do not. (Actually, it is more correct to say that IE doesn't use video overlay when playing video's decoded by the Flash plugin.)

    When players use video overlay they write the video frame to an off-screen buffer then ask Windows to flip the display to the new buffer at the next vertical blanking interval (the time between drawing the end of one frame and the start of the next frame on the monitor). This way they can be assured there will be no tearing.

    But when players draw directly to the desktop there is no way for them to know when the vertical blanking interval is. So the video frame buffer can get updated with a new frame as it is displaying the previous one. You end up seeing part of the old frame and part of the new frame.

    You can verify this by opening two instances of KMPlayer. Only one program can use video overlay. So one will get it, the other won't. Play a video in both. You should see tearing in one, not in the other.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!