Importing m2t into iMovie with only one conversion

Ok, so m2t files have been beaten to death in these forums, but I'm still puzzled. Here's my situation. I have a Canon HV20 and only replay the tape once to avoid wear and save time (really?). So I capture to m2ts. Fine. Now I'd like to be able to use these in iMovie with only one conversion. I can convert the stream to a framed (QT) format like AIC. But I'd like to do this just once. Meaning, when I convert clip.m2t to clip.mov I'd like to drag this to iMovie and have iMovie just "copy" an not import/convert. Can I convert to a format where I can just drag to the media folder in the given iMovie project?
For those watching. My toolchain is
1. rewind the tape
2. capture with HDVsplit (win), DVHScap (mac), or whatever
3. split/clip the m2t files with HDVsplit (win) or MPEGstremclip (mac/win), or HDVxDV (mac) and leave as m2t
4. convert the m2t clips I want in my movie to QT+AIC
5. import these QT+AIC .mov clips into iMovie
6. edit
I'd like to optimize 4 and 5. (And by the way, someone should port HDVsplit to mac.)
Thanks,
WL

Matti Haveri wrote:
MPEG Streamclip allows you to export as QuickTime with Apple Intermediate Codec (also QT Player can do this but I prefer MPEG Streamclip for these tasks). I think you should set the resolution to 1440x1080 because that's what iMovie uses internally for 1080i.
I did a quick test and iMovie seems to accept such AIC-encoded .mov files directly to its Media folder. But run some tests through your complete workflow before trusting this will work!
Ok this was helpful. If I take 1440x1080 QT/AIC output from MPEGstreamclip, I can efficiently copy the file in the project. Works like a charm and looks great in iMovie. (I can also now take the 1920x1080 QT/AIC output from streamclip and do the same; not sure what change there. I did a test on a 1:24 length mpeg-2 stream. The 1440x1080 with and without deinterlacing were 700MB and 600MB respectively, while the 1920x1080 is at 800MB. So it makes sense to do 1440x1080 since iMovie handles it fine.)
In summary (hope this helps someone), here's what I do:
0a. Macbook with iMovie HD
0b. LaCie macos formated external drive drive (hfs+)
0c. Canon HV20 filmed at 1080i (not sure what do with the 24p cinemode)
1. use DVHScap (mac) to capture the stream from the HV20. This gives file.m2t, for example. This can be viewed with VLC, for example. (on windows use HDVsplit to capture). Copy the m2t file to the external drive.
2. now use MPEGstreamclip to disect the m2t file. use the 'i' and 'o' to mark inputs and outputs and then "save as". Save this as file_clip.ts for example. The .ts is the same as an .m2t file, so save it as either.
3. now you should have 1 or more file_clip.ts depending on how many times you do step 1 and 2.
4. use MPEGstreamclip in batch mode to take the file_clip.ts or m2t files and "export to Quicktime". Select Apple Intermediate Codec as the type compression type. Yank the quality up to 100%. Select 1400x1080 (4:3) as the frame size and click "deinterlace video" (my opinion on the deinterlacing). Save the movie on the external drive as file_clip.mov.
5. now start a new iMovie HD project and save the project to the external drive. Quit iMovie. open-apple-click on the myproject.iMovieProject to "show package contents". After this you can move your file_clip.mov files to the media directory under this package. A move is best since copy does an actual copy. Move just moves a pointer.
6. start up iMovie and view the trash can when prompted ("Some stray files were found in the project...."). Now drag the trash files to the clips area in iMovie.
7. now edit.
This is a nice approach for a couple of reasons. The .m2t files are great storage formats. The conversion from mpeg-2 stream (m2t) to a framed format like QT+AIC (mov) is done +only once+. And the quality is maintained. Also, I can do this all to an external harddrive, which is nice since I'm limited on my macbook.
I don't have HD gear. Currently I archive SD DV to tape and to big harddisks. In the future I would like to continue to archive HD content in its native compressed (non-AIC) form. Obviously this works via DVHScap, right?
Yes. The m2t files are a great archival format. The 1:25 long clip above was only 275MB while the framed formats were 3 times that. The stream saves differences so it's a lot more efficient (but you don't have frames for editing). VLC is also quick as quick for viewing these. DVHScap never drops any packets (mpeg-2) when capture (for me at least). HDVsplit is also great, but only for windows. HDVxDX also worked like a charm.
Well anyway, thanks for the chatter.
Nate

Similar Messages

  • Import m2t into iMovie HD

    I want to edit m2t files. I hope to import them into iMovie HD. I understand that using QuickTime MPEG-2 Playback and MPEG Streamclip that I can convert the files into something that iMovie HD can use.
    If I use that option what format would give the best quality after converting from the m2t.
    I also wonder if I buy QuickTime Pro and QuickTime MPEG-2 Playback, will I be able to import the m2t file directly into iMovie without using MPEG Streamclip.
    Any information on these topics is appreciated.
    PowerBook G4 1.5GHz/512GB/80GB/SuperDrive/BT/APX/Backlit KB   Mac OS X (10.4.8)   1GB/100GB

    I decided to buy the QuickTime MPEG-2 Playback and downloaded the free MPEG Streamclip. I went to the export suggested by Karsten and it only gave 4:3 aspect ratios as choices. I decided to convert to MPEG; that seemed to keep full quality, but no sound came through QuickTime. The m2t file and the converted MPEG both play the sound in VLC. Converting the file to MPEG with MP2 audio played in QuickTime with sound, however when importing to iMovie HD, the progress fails very quickly without any report of an error. I have not yet tried importing the MPEG that had no sound in QuickTime into iMovie but that will be my next step. They tacked the HD acronym onto the iMovie title, but it sure is a pain in the *** to work with the HD content I have.

  • How to deploy a MDBean into cluster with only one JMS server instance running on one of the cluster servers

              I am trying to deploy a MDBean in my cluster ( two servers). The MDBean requires
              the destinestion has to each cluster server. It means that I have to deploy my
              JMS server over the cluster. This will result multiple destinations (queue or
              topic) are created.
              Is there a way to run one JMS server with a clustered MDBean?
              Thanks,
              Taohe
              

    Check out my posting from 4-3 in this thread.
    http://forums.ni.com/ni/board/message?board.id=BreakPoint&message.id=5&jump=true
    I think I may have answered your question before you asked it.
    In that example I use the picture control to manipulate a bunch of rectangular images of booleans.
    I hope this helps,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • I bought a MAC for the first time and plugged my Itouch into it to download my music on it, but is says The iPod "Rick's IPOD" is synced with another iTunes library. An iPod can be synced with only one iTunes library at a time. What should I do?

    I bought a MAC for the first time and plugged my Itouch into it to download my music on it, but is says The iPod “Rick's IPOD” is synced with another iTunes library. An iPod can be synced with only one iTunes library at a time. What should I do?

    Same as you would if you bought a pc; copy everything from your old computer to your new one.  Then you can just sync everything from the new computer, as you did with the old one.

  • Why are the movies I took on my iPad long and skinny with black edges when I import them into iMovie

    I took several short video clips on my iPad and when I imported them into iMovie they are long and skinny with black on both sides. My other movies from my camcorder fill the frame. How can I convert them to be full frame. They are .mov format from the iPad?

    From what you describe, you probably held your iPad vertically rather than horizontaly when you shot your movie.
    The picture in iMoive is a rectangle oriented horizontally, so it's showing your vertical movie as large as it can.
    If you cropped your vertical picture to fit the horizontal ratio of iMovie you'd have to cut off a lot of the picture.
    Soeone even made a mock PSA about this subject.
    http://www.YouTube.com/watch?v=Bt9zSfinwFA
    Matt

  • IMovie with only still photos - huge projection

    I am creating an iMovie with nothing but still photographs which will be projected with good equipment for a full school gathering, meaning a pretty large to very large screen - my only experience has been DVD's for regular TV's.
    My question is to get the best quality, what is the best format for photos - I did see someone said to take them into iPhoto(?) covert them to TIFF then save them to JPEG/RGB, I retouch all of these in Photoshop and will likely do my resizing and formats there...
    So any thoughts on resolution and size? Should it fit a tv ratio? I foget what that is, but it would be nice to see explained by pixel dimensions!
    I am a bit confused about the iPhoto or iDVD difference? My other problem is burning the dvd's now - my 17" took a dive and this iBook does not have a superdrive - do the older Lacie's work with DVD's... I am doubting so.
    This will be a sorry excuse to break down and buy an intel, I am going through PowerBooks like candy
    Thanks tons!

    overall pixel size: 740x480 at 72dpi is the smallest size I would personally ever go with. The internal mike in a quiet room (like late at night with the refrigerator and the phone unplugged) is something that I have done under emergency conditions. If you are experimenting you have:
    iMovie ... which I have difficulties recording with ... for me it quits too soon...maybe I'm not being loud enough..maybe my movies are too long and I'm running out of ram. I don't know.
    QuickTime Pro works pretty good to record sound using your computer's internal mike
    Garageband does a pretty good job of processing the voice by way of recording through the internal mike. That's what I've been using nowadays because it sounds so much better than iMovie or QTPro. Then you export it to iTunes then import it into iMovie. Real easy. It's a snap to do. Since you are wanting to record a cassette tape, I'd try all three ways to see if they do the job. If so, good. If not there are other kinds of ways to capture the sound. But then you go to the Garageband threads and see what's what there. One way or another, you'll get it. Maybe not instantly, but you will get it.
    Again it's all experimental and how professional you want to be. Recording from you computer is not at all going to give a professional result. Especially of a cassette tape, because it can pick up the sound of the machine playing the tape. But, if you want to make a memory movie, it barely makes do. Making do isn't always the best way to go. But might be the only way you can go because of other limitations...of which I have plenty.
    You really, really need to experiment to see how it looks...how it sounds. What works. What does not work. Especially with sound can be a stickler. A plague of a problem even. Even so, I made something not too long ago that I recorded via the computer's internal mike and tried it first in the bathroom...WAY too much sound bouncing off the walls there. The living room was picking up who knows what. But I went into the bedroom and it worked kind of okay in there. But it still didn't sound at all in the least bit professional. Even so, it did work for that particular project. In a quirky weird kind of way that I MADE it work.
    Message was edited by: Suz.

  • Can't import videos into iMovie

    Hello, there!
    I just captured a few videos with my screen capture app on my windows laptop. After I transferred them onto my iMac and converted them into .mp4 files i wanted to import them into iMovie but when i selected them only video 4 and 6 out of 6 videos imported into iMovie. i don't know whats the problem when i try again to import the other videos he is loading for like 1 second and nothing happens. i have already tried to restart iMovie and have also restarted my mac.
    Also, this is not the first time something like this happens. but last time the problem just disappeared after a few retries...
    please help! i want to upload them to youtube as soon as possible!

    iMovie uses QuickTime file formats or DV Stream files directly from a camcorder.
    If your files don't open or play properly in QuickTime Player they will not "import" into iMovie.
    If you're authoring on a PC you must keep this basic fact as part of your your export scheme.
    iPod videos are usually 320X240 and will not look good when scaled up to DV dimensions. Some use 480 width MPEG-4 video codecs that could scale but you may not be happy with the results.
    Most Windows exports use Windows only codecs and this is the reason you're not seeing the video. Try exporting as a DV format (blah.dv) from Movie Maker. It may only appear as an option export to .AVI using those codecs.

  • Multiple events per date with only one photo each - Unwanted

    I have the eyefi wireless sd card in my camera and it is setup to transmit my photos into iphoto automatically, which it does. However, the problem arises in that iphoto creates multiple events for the same date each containing only one photo. I would prefer that iphoto create individual events per date and have the multiples of that date's photos within. I thought I had the settings configured to do so as I have preferences set for autosplit events one per day but I still see events such as - July 3, 2008 - July 3, 2008 - July 3, 2008 - each with only one photo inside.
    I am wondering if it is something in iphoto's settings or the way in which eyefi transmits the photos into iphoto.
    Any thoughts?

    I do not have a WiFi connection to my camera so can not test but am just guessing
    I can think of two possibilities
    - 1 - if you are taking the photos with the WiFi connected then each time you snap a photo it may be being sent which would be looked at as a new import and therefore create a new event - to stop this I believe you would have to not have a full time WiFi connection to your camera or somehow set the camera to send batched - not each one - iPhoto will take each batch into and follow the rules for making events for that batch even if you camera is sending many batches of One photo
    - 2 - You have the preference for making batches set to one every two hours and there is a long time between photos - I'm guessing that #1 is more likely
    LN

  • I got a new pc and I am getting this message: The ipod 'harms ipod' is synced with another itunes library  Do you want to erace this Ipod and synce with this itunes library?  An Ipod can only be synced with only one itunes library at a time.  Erasing and

    The ipod 'harms ipod' is synced with another itunes library.Do you want to erase this ipod and sync with this itunes library?  An ipod can be synced with only one itunes library at a time.  Erasing and syncing replace the contents of this ipod with the contents of this itunes library.
    I don't know what to do?  I should save my library before I replace the contents, but I don't know how to do that! HELP!!

    See this older post from another forum member Zevoneer covering the different methods and software available to assist you with the task of copying content from your iPod back to your PC and into iTunes.
    https://discussions.apple.com/thread/2452022?start=0&tstart=0
    B-rock

  • Importing DVDs into iMovie

    Can you take a DVD that has been created, and 'reverse' import it into iMovie?

    * DVDxDV (free trial, 25$, Pro: 90$)
    * Apple mpeg2 plugin (20$) + Streamclip (free)
    * Cinematize >60$
    * Mpeg2Works >25$ + Apple plug-in
    * Toast6/7 allows converting to dv/insert dvd, hit apple-k
    * connect a miniDV Camcorder with analogue input to a DVD-player and disk to tape/use as converter
    non of these apps override copyprotection mechanisms as on commercial dvds...

  • How can I import video into iMovie from a DVD?

    How can I import video into iMovie from a DVD?
    Thanks,
    Doug Davis

    You can do this with a free app called MPEG Streamclip and a $20 quicktime component from Apple.
    See detailed instructions here.
    https://discussions.apple.com/docs/DOC-3951

  • Why won't my iMessage work with only one contact in my phone all my other iMessages send and they just got an iphone but all their iMessages are sending also. I've tried restarting my phone, deleting messages, contact, restarting network

    Why won't my iMessage work with only one contact in my phone all my other iMessages send and they just got an iphone but all their iMessages are sending also. I've tried restarting my phone, deleting messages, contact, restarting network

    Hello Jesslb23,
    Thanks for using Apple Support Communities.
    For more information on this, take a look at:
    iOS: Troubleshooting Messages
    http://support.apple.com/kb/ts2755
    To resolve issues with sending and receiving iMessages, follow these steps first
    Check iMessage system status for current service issues.
    Go to Settings > Messages > Send & Receive and make sure that you have registered iMessage with your phone number or Apple ID and that you have selected iMessage for use. Learn more about troubleshooting iMessage registration if the phone number or Apple ID isn't available for use.
    Open Safari and navigate to www.apple.com to verify data connectivity. Learn more about troubleshootingcellular data or a Wi-Fi connection if a data connection isn't available.
    iMessage over cellular data might not be available while on a call. Only 3G and faster GSM networks support simultaneous data and voice calls. Learn more about which network your phone supports. Go to Settings > Wi-Fi and turn Wi-Fi on to use iMessage while on a call if your network doesn't support simultaneous data and voice calls.
    Restart your device.
    Tap Settings > General > Reset > Reset Network Settings on your iPhone.
    If you are still unable to send or receive an iMessage, follow these steps
    Make sure that the contact trying to message you isn't blocked in Settings > Messages > Blocked.
    Verify that the contact you are attempting to send a message to is registered with iMessage.
    If the issue occurs with a specific contact or contacts, back up or forward important messages and delete your current messaging threads with the contact. Create a new message to the contact and try again.
    If the issue occurs with a specific contact or contacts, delete and re-create the contact in the Contacts application. Create a new message to the newly created contact and try again.
    Back up and restore your device as new.
    Best of luck,
    Mario

  • Nodes with Only One Lower-Level Node = Hide

    Hi everyone
    Have anyone present this situation:
    Iu2019ve a quey to report inventory aging. It has two hierarchies to show data. In Rows I have Major Markets and in Columns a date hierarchy to show aging Ex: from 0 to 8 months, 9+ and 13+. Of course here I have also value and volume.
    Query reports all values for all major markets fine. When I filter one major market, letu2019s say France also brings detailed figures but when I add any drill down in rows all values goes to cero (0).
    Te estrange is that if you swap drill down order with major markets or drill down by columns with the same characteristic figures come out again as usual.
    I know this sounds like a SAP note but I have not been able to find it either.
    Thanks a lot for your help, and of course points will be assignedu2026..
    Ps. Important, this happen when  option u201CNodes with Only One Lower-Level Node = Hideu201D (this is selected on purpose because there are some repeated nodes in major market hierarchy Ex. France u2013 France and if there is just one value under first node then means that only display of last one is necessary to avoid repeated values).

    Solution we found is to remove flag "Do not display leaves for inner-nodes in the query", directly on the hierarchy.
    Thanks

  • How to make 1D Array but with only one element filled in Real Time

    Hi folks,
    here I am with another question. I want to implement an prediction discrete state space observer which is going to run on a CRIO real time target. I am going to do it just like in the example which comes with LV.
    I have some questions regarding the input and outputs which in the example those are "dummy".
    My model is a SISO model, but the function "Construct SS model" returns parameters (A,B,C,D Matrices) as 2D arrays, so once you connect the cluster model into the Discrete Observer model, it takes y and u as 1D arrays despite of the fact that there is a SISO model.
    I realized that the function I am using in the simulations, uses 1D arrays but with only one element filled:
    Does anyone knows how to implement such 1D arrays in Real Time? I guess the way to do it is preallocating one array of zeros of size 1, and then recirculating it through some SR, and replacing the element with my real input and output, but at the dummy.vi, they are using a simple "build array"
    function.

    Ok, I did it that way. But I am facing another problem right now...
    At some point the Discrete Observer return a NAN array, you will see the code in the code snippet?
    I get rid of that component by component, but the observer gets "stuck" in it. So my Control law is zero... but the state stimate is NAN.
    Also I am attaching the VI.
    I do not know why, since in the simulation program all runs well. any thoughts? Maybe the internal numeric precision of the State Space Model?
    Attachments:
    RT - Pole Placement + Complete Observer.vi ‏40 KB

  • SQL Server 2012 Undetected Deadlock in a table with only one row

      We have migrated our SQL 2000 Enterprise Database to SQL 2012 Enterprise few days ago.
      This is our main database, so most of the applications access it.
      The day after the migration, when users started to run tasks, the database access started to experiment a total failure.
      That is, all processes in the SQL 2k12 database were in lock with each other. This is a commom case of deadlock, but the Database Engine was unable to detect it.
      After some research, we found that the applications were trying to access a very simple table with only one row. This table has a number that is restarted every day and is used to number all the transactions made against the system.   So, client
    applications start a new transaction, get the current number, increment it by one and commit the transaction.
      The only solution we found was to kill all user processes in SQL Server every time this situation occurs (no more than 5 minutes when all clients are accessing the database).
      No client application was changed in this migration and this process was working very well for the last 10 years.
      The problem is that SQL 2k12 is unable to handle this situation compared to SQL 2k.
      It seems to occurs with other tables too, but as this is an "entry table" the problem occurs with it first.
      I have searched internet and some suggest some workarounds like using table hints to completely lock the table at the begining of the transaction, but it can't be used to other tables.
      Does anyone have heard this to be a problem with SQL 2k12? Is there any fixes to make SQL 2k12 as good as SQL 2k?

    First off re: "Unfortunatelly, this can't be used in production environment as exclusive table lock would serialize the accesses to tables and there will be other tables that will suffer with this problem."
    This is incorrect. 
    Using a table to generate sequence numbers like this is a bad idea exactly because the access must be serialized.  Since you can't switch to a SEQUENCE object, which is the correct solution, the _entire goal_ of this exercise to find a way to properly
    serialize access to this table.  Using exclusive locking will not be necessary for all the tables; just for the single-row table used for generating sequence values with a cursor.
    I converted the sample program to VB.NET:
    Public Class Form1
    Private mbCancel As Boolean = False
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim soConn As ADODB.Connection
    Dim soRst As ADODB.Recordset
    Dim sdData As Date
    Dim slValue As Long
    Dim slDelay As Long
    'create database vbtest
    'go
    ' CREATE TABLE [dbo].[ControlNumTest](
    ' [UltData] [datetime] NOT NULL,
    ' [UltNum] [int] NOT NULL,
    ' CONSTRAINT [PK_CorreioNumTeste] PRIMARY KEY CLUSTERED
    ' [UltData] Asc
    ' )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
    ' ) ON [PRIMARY]
    mbCancel = False
    Do
    ' Configure the Connection object
    soConn = New ADODB.Connection
    With soConn
    .ConnectionString = "Provider=SQLNCLI11;Initial Catalog=vbtest;Data Source=localhost;trusted_connection=yes"
    .IsolationLevel = ADODB.IsolationLevelEnum.adXactCursorStability
    .Mode = ADODB.ConnectModeEnum.adModeReadWrite
    .CursorLocation = ADODB.CursorLocationEnum.adUseServer
    .Open()
    End With
    ' Start a new transaction
    Call soConn.BeginTrans()
    ' Configure the RecordSet object
    soRst = New ADODB.Recordset
    With soRst
    .ActiveConnection = soConn
    .CursorLocation = ADODB.CursorLocationEnum.adUseServer
    .CursorType = ADODB.CursorTypeEnum.adOpenForwardOnly
    .LockType = ADODB.LockTypeEnum.adLockPessimistic
    .Open("SELECT * FROM dbo.ControlNumTest")
    End With
    With soRst
    sdData = .Fields!UltData.Value ' Read the last Date (LOCK INFO 1: See comments bello
    slValue = .Fields!UltNum.Value ' Read the last Number
    If sdData <> Date.Now.Date Then ' Date has changed?
    sdData = Date.Now.Date
    slValue = 1 ' Restart number
    End If
    .Fields!UltData.Value = sdData ' Update data
    .Fields!UltNum.Value = slValue + 1 ' Next number
    End With
    Call soRst.Update()
    Call soRst.Close()
    ' Ends the transaction
    Call soConn.CommitTrans()
    Call soConn.Close()
    soRst = Nothing
    soConn = Nothing
    txtUltNum.Text = slValue + 1 ' Display the last number
    Application.DoEvents()
    slDelay = Int(((Rnd * 250) + 100) / 100) * 100
    System.Threading.Thread.Sleep(slDelay)
    Loop While mbCancel = False
    If mbCancel = True Then
    Call MsgBox("The test was canceled")
    End If
    Exit Sub
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    mbCancel = True
    End Sub
    End Class
    And created the table
    CREATE TABLE [dbo].[ControlNumTest](
    [UltData] [datetime] NOT NULL,
    [UltNum] [int] NOT NULL,
    CONSTRAINT [PK_CorreioNumTeste] PRIMARY KEY CLUSTERED
    [UltData] Asc
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = on, FILLFACTOR = 80) ON [PRIMARY]
    ) ON [PRIMARY]
    go insert into ControlNumTest values (cast(getdate()as date),1)
    Then ran 3 copies of the program and generated the deadlock:
    <deadlock>
    <victim-list>
    <victimProcess id="processf27b1498" />
    </victim-list>
    <process-list>
    <process id="processf27b1498" taskpriority="0" logused="0" waitresource="KEY: 35:72057594039042048 (a01df6b954ad)" waittime="1970" ownerId="3181" transactionname="implicit_transaction" lasttranstarted="2014-02-14T15:49:31.263" XDES="0xf04da3a8" lockMode="X" schedulerid="4" kpid="9700" status="suspended" spid="51" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2014-02-14T15:49:31.267" lastbatchcompleted="2014-02-14T15:49:31.267" lastattention="1900-01-01T00:00:00.267" clientapp="vbt" hostname="DBROWNE2" hostpid="21152" loginname="NORTHAMERICA\dbrowne" isolationlevel="read committed (2)" xactid="3181" currentdb="35" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
    <executionStack>
    <frame procname="adhoc" line="1" stmtstart="80" sqlhandle="0x020000008376181f3ad0ea908fe9d8593f2e3ced9882f5c90000000000000000000000000000000000000000">
    UPDATE [dbo].[ControlNumTest] SET [UltData]=@Param000004,[UltNum]=@Param000005 </frame>
    <frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
    unknown </frame>
    </executionStack>
    <inputbuf>
    (@Param000004 datetime,@Param000005 int)UPDATE [dbo].[ControlNumTest] SET [UltData]=@Param000004,[UltNum]=@Param000005 </inputbuf>
    </process>
    <process id="processf6ac9498" taskpriority="0" logused="10000" waitresource="KEY: 35:72057594039042048 (a01df6b954ad)" waittime="1971" schedulerid="5" kpid="30516" status="suspended" spid="55" sbid="0" ecid="0" priority="0" trancount="1" lastbatchstarted="2014-02-14T15:49:31.267" lastbatchcompleted="2014-02-14T15:49:31.267" lastattention="1900-01-01T00:00:00.267" clientapp="vbt" hostname="DBROWNE2" hostpid="27852" loginname="NORTHAMERICA\dbrowne" isolationlevel="read committed (2)" xactid="3182" currentdb="35" lockTimeout="4294967295" clientoption1="671156256" clientoption2="128058">
    <executionStack>
    <frame procname="adhoc" line="1" sqlhandle="0x020000003c6309232ab0edbe0a7790a816a09c4c5ac6f43c0000000000000000000000000000000000000000">
    FETCH API_CURSOR0000000000000001 </frame>
    <frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
    unknown </frame>
    </executionStack>
    <inputbuf>
    FETCH API_CURSOR0000000000000001 </inputbuf>
    </process>
    </process-list>
    <resource-list>
    <keylock hobtid="72057594039042048" dbid="35" objectname="vbtest.dbo.ControlNumTest" indexname="PK_CorreioNumTeste" id="lockff6e6c80" mode="U" associatedObjectId="72057594039042048">
    <owner-list>
    <owner id="processf6ac9498" mode="S" />
    <owner id="processf6ac9498" mode="U" requestType="wait" />
    </owner-list>
    <waiter-list>
    <waiter id="processf27b1498" mode="X" requestType="convert" />
    </waiter-list>
    </keylock>
    <keylock hobtid="72057594039042048" dbid="35" objectname="vbtest.dbo.ControlNumTest" indexname="PK_CorreioNumTeste" id="lockff6e6c80" mode="U" associatedObjectId="72057594039042048">
    <owner-list>
    <owner id="processf27b1498" mode="U" />
    <owner id="processf27b1498" mode="U" />
    <owner id="processf27b1498" mode="X" requestType="convert" />
    </owner-list>
    <waiter-list>
    <waiter id="processf6ac9498" mode="U" requestType="wait" />
    </waiter-list>
    </keylock>
    </resource-list>
    </deadlock>
    It's the S lock that comes from the cursor read that's the villian here.  U locks are compatible with S locks, so one session gets a U lock and another gets an S lock.  But then the session with an S needs a U, and the session with a U needs an
    X.  Deadlock. 
    I'm not sure what kind of locks were taken by this cursor code on SQL 2000, but on SQL 2012, this code is absolutely broken and should deadlock.
    The right way to fix this code is to add (UPDLOCK,SERIALIZABLE) to the cursor
    .Open("SELECT * FROM dbo.ControlNumTest with (updlock,serializable)")
    So each session reads the table with a restrictive lock, and you don't mix S, U and X locks in this transaction.  This resolves the deadlock, but requires a code change.
    I tried several things that didn't require a code, which did not resolve the deadlock;
    1) setting ALLOW_ROW_LOCKS=OFF ALLOW_PAGE_LOCKS=OFF
    2) SERIALIZABLE isolation level
    3) Switching OleDB providers from SQLOLEDB to SQLNCLI11
    Then I replaced the table with a view containing a lock hint:
    CREATE TABLE [dbo].[ControlNumTest_t](
    [UltData] [datetime] NOT NULL,
    [UltNum] [int] NOT NULL,
    CONSTRAINT [PK_CorreioNumTeste] PRIMARY KEY CLUSTERED
    [UltData] Asc
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = on, FILLFACTOR = 80) ON [PRIMARY]
    ) ON [PRIMARY]
    go
    create view ControlNumTest as
    select * from ControlNumTest_t with (tablockx)
    Which, at least in my limited testing, resovlved the deadlock without any client code change.
    David
    David http://blogs.msdn.com/b/dbrowne/

Maybe you are looking for