Tagged: dvd Toggle Comment Threads | Keyboard Shortcuts

  • BrainwreckedTech 8:09 pm on October 11, 2012 Permalink | Reply
    Tags: avidemux, dvd, filmdint, framerate, , lossless, , , NTSC, progressive, pullup, softpulldown, , telecine, , x264   

    Getting the Best Results From MPlayer and Mixed Telecined & Progressive Video 

    This post is years in the making.  Not that I’ve spent the entirety of those years working on this problem, or even the entirety of my spare time.  This is just one of those things that I’ve relentlessly banged my head up against until I couldn’t take anymore, only to have it nag me somewhere down the line and pick it back up again.

    For the longest time, I could not for the life of me process video that was mixed telecine and progressive without having the resulting video end up longer than the original.  The immediate problem is that A/V sync starts out fine but then drifts to whatever the time difference is between the two videos.  I eventually discovered soundstretch, which can adjust tempo (play time) without affecting pitch, but then that introduces the problem of calculating the time difference as a percentage (and the rounding errors involved in that), re-coding an already-lossy audio stream, and the time it can take to process one-to-two hours of uncompressed WAV data.

    While I did have most of that down, it was just too much time.

    (More …)

  • BrainwreckedTech 11:14 am on October 9, 2011 Permalink | Reply
    Tags: , dvd, libdvdcss, libdvdread, , , , vlc   

    BUG: libdvdread Can’t Seek To Block On Second Layer 

    PROBLEM: When accessing the drive directly, libdvdread cannot seek to blocks that are on the second layer of a DVD.

    EXPECTATION: It shouldn’t matter if the device is mounted or not.

    RESULT: It does matter, for reasons I haven’t found out yet.

    SOLUTION: Mount the device somewhere on the file system. Everything should now work properly, wether you use the block device directly or the mount point.

    TO REPRODUCE: Use any application that uses libdvdread. (In this example I’ll use MPlayer.) DO NOT MOUNT THE DEVICE or UNMOUNT THE DEVICE if using some form of automatic mounting for optical discs. Seek to a specific chapter until libdvdread fails.

    mplayer -dvd-device /dev/sr0 dvd://[n] -chapter [x]
    mplayer -dvd-device /dev/sr0 dvd://[n] -chapter [x+1]
    mplayer -dvd-device /dev/sr0 dvd://[n] -chapter [x+2]

    Eventually you’ll get to a point where playback does not start, and libdvdread will give the following error:

    libdvdread: Can't seek to block xxxxxxxx

    Note that the following will play to the end until a seek attempt is made that attemtps to seek to a block on the second layer:

    mplayer -dvd-device /dev/sr0 dvd://[n] -chapter [last-working-chapter]

    Mount the device somewhere:

    mount -rt udf /dev/sr0 /media/dvd

    Now use MPlayer to start play from the first non-working chapter.

    mplayer -dvd-device [ /dev/sr0 | /media/dvd ] dvd://[n] \
    -chapter [previously-nonworking-chapter]

    Playback should be fine.

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc