Announcement

Collapse
No announcement yet.

Questions regarding YUY2/MPEG4 capturing

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Questions regarding YUY2/MPEG4 capturing

    Hello,

    I have been reading a lot about capturing in YUY2-format combined with realtime MPEG4 compression. I have tried this with several capture-programs and I have a few questions:

    1. I got it only working with VirtualDub. AVI_IO, PC-VCR and Adobe Premiere seem to 'ignore' the YUY2 registry hack. What can be the reason for this? (I like to work with AVI_IO since it is the only one that solves my audio-sync problem).

    2. Files created with VirtualDub look very nice when played within VirtualDub itself, but if I play them in PC-VCR or Windows Media Player they dpon't play smooth. I assume that they all use the same DLL for playback the MPEG4 AVI, so what can be the reason for this?

    3. I read several times that capturing YUY2-MPEG4 and transcoding to MPEG1 will produce good results. Thinking about this wouldn't it be better to capture YUY2 raw and feed this to the Ligos encoder immediately to convert it to MPEG1?
    I tried capturing YUY2 raw in 352*288 and it seems to work fine. But I couldn't play the resulting AVI with any player, so I can't feed it to Ligos. Do I need an YUY2 codec for this? Or is it just a matter of adding a line to SYSTEM.INI, poiting YUY2 to an existing codec that can handle YUY2?

    Thanks in advance for your help.

    Spielberg

  • #2
    1. If I remember correctly, it works for me with AVI_IO. But then I must immediately add that I do not use the reg hack because I hacked the capture driver itself so that YUY2 is an additional option in the Video Format dialog box.

    2. What do you mean by they don't look smooth? Apparently the MPEG4 codec does not use the interpolation capabilities of the Matrox card, so that when I play an MPEG4 video at 200%, pixels are simply doubled both horizontally and vertically. Other than that everything is fine here. The programs you mention certainly use the same codec for decompression but not necessarily to display the pictures on screen. Some might well use their own procedures to do the display.

    3.Capturing raw YUY2 (or RGB) is certainly better because you won't lose quality in the compression process. But the files produced will be really huge, so you will need a very large HD, and even if you have one you will hit the wall of the 2Gb file size limit very rapidly. Unless you only record very short clips, you will end up with more problems to concatenate several files at compression time. You are right that in order to be able to do anything (playing or compressing) with a YUY2 file you need to have a special codec installed. I have one on my PC, called Spitfire. I don't know which program installed it, nor the name of the company making it.

    Michka
    I am watching the TV and it's worthless.
    If I switch it on it is even worse.

    Comment


    • #3
      To use YUY2 in AVI_IO, go into the AVI_IO directory and delete the avi_io.ini file. Then apply all the reg hacks that you want (ie 352x240 and YUY2). Then run AVI_IO, make all the other changes you need to capture settings etc. and then choose Save Settings As and save these settings in a separate .ini file. That way, if you ever decided to change to RGB or MJPEG, you can just load that file back in order to change back to YUY2. It's what I do. AVI_IO does not ignore the registry hack. Instead, when it starts up, it loads whatever registry settings were in the .ini file.

      Capture to YUY2 is not really very useful because I've pointed it both to Indeo 5.2 and Matrox's own MJPEG driver ( both of which claim to support YUY2 in the .DLL )but neither will work... Plus the bitrate is too high anyway for mere mortal storage arrays. I capture straight to 6Mbps 352x240x29.97 MPEG4V2 using YUY2 in AVI_IO and transcode to NTSC VCD MPEG1 in MSP6 at basically 9% over realtime with my 500Mhz CPU and the quality difference from that result and the result of going from Raw RGB to NTSC VCD MPEG1 is indistinguishable...trust me.

      I don't use VirtualDub, so I can't answer your other question.


      Hope this helps!

      Garrett
      RBryant

      Tyan 1952DLU Thunder X
      2 PIII Xeon 500Mhz (512k)
      1 512MB ECC PC100 DIMM
      Adaptec AAA-133U2
      3 18 GB U2W Cheetahs
      Jaz 1GB
      UltraPlex40Xmax CDROM
      PlexWriter 8/20 CD-R
      Pioneer 6X DVDROM
      G400 Max
      Rainbow Runner-G
      Obisidan X-24
      ViewSonic P815
      SBLive!
      Cambridge Soundworks 5.1
      3COM 3C905B-TX
      Addtronics 7896 w/12 Fans
      Mitsumi Wireless RF Kbd
      Logitec Opt. Wheel Mouse
      1.5M/256k ADSL
      Trusty Ol' Floppy

      Comment


      • #4
        Michka, Garrett,

        Thanks a lot for you comments.

        Ok, so it looks like I can capture YUY2 with AVI-IO when I follow the steps that Garrett describes. Great! I will try it tonight.

        Michka, if I understand your explanation to my second question correctly, decoding an AVI and displaying it on the screen are two separate things. I will try to convert an MPEG4 to VCD-MPEG1 with Ligos and see what happens.
        By the way, with 'not smooth' I meant that the motion was not smooth; sharpness of the picture was ok. I don't know the right English word for it, but the picture 'freezes' for a moment every now and then.

        About capturing raw YUY2: I understand that the files will be huge, but I just want to try if there is a noticable quality difference between YUY2-MPEG4-VCD and YUY2-VCD directly. I have a dedicated UDMA66 7200rpm harddisk of 22GB, benchmarked at about 11 MB/s, so it should be possible.
        Michka, is there any chance you could send me this Spitfire-codec? Although Garretts statement that the quality is indistinguishable is very convincing, I would still like to try it.
        As my nickname indicates, I'm always looking for the best possible quality ...

        Comment


        • #5
          Michka, if you've got something that lets you play YUY2, go into your SYSTEM.INI and find what VIDC:YUY2 points to and email me that file please... thanks!

          Garrett
          RBryant

          Tyan 1952DLU Thunder X
          2 PIII Xeon 500Mhz (512k)
          1 512MB ECC PC100 DIMM
          Adaptec AAA-133U2
          3 18 GB U2W Cheetahs
          Jaz 1GB
          UltraPlex40Xmax CDROM
          PlexWriter 8/20 CD-R
          Pioneer 6X DVDROM
          G400 Max
          Rainbow Runner-G
          Obisidan X-24
          ViewSonic P815
          SBLive!
          Cambridge Soundworks 5.1
          3COM 3C905B-TX
          Addtronics 7896 w/12 Fans
          Mitsumi Wireless RF Kbd
          Logitec Opt. Wheel Mouse
          1.5M/256k ADSL
          Trusty Ol' Floppy

          Comment


          • #6
            I have since then looked in system.ini, and know the name of the file for YUY2 playback. It is quite old stuff, the date is sometime in the '96. It comes from Oak Technology. If you want to use it just for the fun, or to make tests, then it is OK. If you really want to use it, then it is no luck: it plays the movie upside down!!! Sorry.
            Michka
            P.S.: Spielberg: I don't have your e-mail.

            [This message has been edited by Michel Carleer (edited 23 February 2000).]
            After a bit of thinking: you can always apply the vertical flip filter in virtualdub if you really need to use YUY2. But beware: I don't know which of the capture driver or the YUY2 codec flips the picture. So you could end up, after flipping with virtualdub, with a file which does not conform to the true YUY2 standard.

            [This message has been edited by Michel Carleer (edited 23 February 2000).]
            I am watching the TV and it's worthless.
            If I switch it on it is even worse.

            Comment


            • #7
              Michka,

              I would like to try it. My e-mail adress is d_oomen@hotmail.com

              Thanks,
              Spielberg

              Comment


              • #8
                Indeed AVI_IO captures YUY2 if you follow the right procedure. Thanks a lot Garrett!

                I captured the highlights of the soccer-match Netherlands-Germany yesterday evening in YUY2-MPEG4 with MPEG4 configured as V3 at 6 Mbps. I was pleased with the result of the match (2-1) but not with the result of the capturing.

                AVI_IO seemed to have ignored the 6 Mbps setting, because the actual datarate was about 1,5 Mbps. I did a new capture with VirtualDub and the same MPEG4 settings: same result. I also noticed that when I captured a second clip without closing the capturing-application, the MPEG4 settings were restored to the default values.
                So I guess the MPEG4 settings are not picked up by AVI_IO / VirtualDub. Does anyone have an idea what can be the reason for this problem?

                P.S: I used the MPEG4 coded that is in the download-section of this site.

                Comment


                • #9
                  Two questions,

                  1) Did you leave the crispness at 75?

                  2) What resolution were you capturing at?

                  The crispness directly affects the level of compression, so bump it up to 100. And at low resolution, with very little movement on the screen, the bandwidth could very well never exceed 1.5.... Try MPEG4 V2 or V1 and see if you get the same result...

                  I capture at 6Mbps with 100% crispness and at NTSC VCD (352x240), which even then never really gets upto 6Mbps, but when I play it back on a 640x480, next to the raw RGB capture, I swear I can't tell the difference...

                  In fact, I made a test CD with a 60 second capture that was raw RGB24, one that was raw->MPEG4, one that was raw->VCD, and one that was raw->MPEG4->VCD, and showed it to several clients to see if they could tell the difference on a 21" 640x480 screen, and out of the 7 clients, all 7 said that they could not tell the difference...


                  As far as saving the settings for the MPEG4 codec, I don't think there is a way because those settings are internal to the .DLL and any changes made are just made while it is in memory, and not written back to the disk since it is a DLL

                  Garrett
                  RBryant

                  Tyan 1952DLU Thunder X
                  2 PIII Xeon 500Mhz (512k)
                  1 512MB ECC PC100 DIMM
                  Adaptec AAA-133U2
                  3 18 GB U2W Cheetahs
                  Jaz 1GB
                  UltraPlex40Xmax CDROM
                  PlexWriter 8/20 CD-R
                  Pioneer 6X DVDROM
                  G400 Max
                  Rainbow Runner-G
                  Obisidan X-24
                  ViewSonic P815
                  SBLive!
                  Cambridge Soundworks 5.1
                  3COM 3C905B-TX
                  Addtronics 7896 w/12 Fans
                  Mitsumi Wireless RF Kbd
                  Logitec Opt. Wheel Mouse
                  1.5M/256k ADSL
                  Trusty Ol' Floppy

                  Comment


                  • #10
                    Garrett,
                    You can save the compression settings (goto Capture/Preferences and check Save Compression Settings) in VirtualDub. But only for the internal compression interface, not for the VfW one.
                    Michka
                    I am watching the TV and it's worthless.
                    If I switch it on it is even worse.

                    Comment


                    • #11
                      Michka, thanks for the YUY2-codec. I did some tests, but unfortunately I can't get a correct YUY2-clip to feed to Ligos.
                      Flipping or rotating the clip in VirtualDub doesn't help; when played outside VirtualDub the picture is still upside down.
                      I noticed that VirtualDub has an internal YUY2 codec, which does the job correctly.
                      Too bad, because I was able to capture YUY2 at 352*576 without any dropped frames. I would like to see the result when feeding this directly to Ligos.

                      So I guess I'll have to follow the MPEG4-route. I have to do some more tests, but as Garrett already stated the quality is pretty good.
                      The quality of a VCD-clip made by Ligos from a YUY2/MPEG4 capture from cable/TV is quite satisfactory.

                      Thanks for the help on this topic.

                      Spielberg

                      Comment

                      Working...
                      X