Page 1 of 1

Matroska HD files can't keep up

Posted: 01 Apr 2007 21:32
by sm1
I've been experimenting with transcoding my high definition TV captures to Matroska containers with h264/video and ac3/audio.

Every time around, I end up with a file with what I thought was an A/V sync problem. Every player that i've tried on linux points in this direction at least.

Totem/Gstreamer: video can't keep up
Xine-ui: a/v out of sync
Mplayer: a/v out of sync
VLC: can't keep up

For the heck of it, I sent a resultant file to a windows buddy of mine and a mac buddy. Both told me that it was incredible quality and that a/v sync worked perfectly. I made sure they were both trying in VLC 0.8.6a, and they were.

Now this confuses me like none other. Doesn't VLC use ffmpeg for decoding on all three platforms? Is it because of better video acceleration on both mac and windows?


Here is what VLC's messages say as soon as it gets to the point it can't keep up:

Code: Select all

main warning: late picture skipped (9638) main warning: late picture skipped (15653) main warning: late picture skipped (25659) main warning: late picture skipped (34722) main warning: late picture skipped (42667) main warning: late picture skipped (48665) main warning: late picture skipped (56103) main warning: late picture skipped (66089) main warning: late picture skipped (75754) main warning: late picture skipped (57645) main warning: late picture skipped (64637) main warning: late picture skipped (46653) main warning: late picture skipped (29334) main warning: late picture skipped (15644) main warning: late picture skipped (7640) main warning: late picture skipped (4681) main warning: late picture skipped (691) main warning: late picture skipped (11698) main warning: late picture skipped (4688) main warning: late picture skipped (701) main warning: late picture skipped (9691) main warning: late picture skipped (40120) main warning: late picture skipped (106725) main warning: late picture skipped (113033) main warning: late picture skipped (98758) main warning: late picture skipped (104762) main warning: late picture skipped (2266) main warning: late picture skipped (9638) main warning: late picture skipped (15653) main warning: late picture skipped (25659) main warning: late picture skipped (34722) main warning: late picture skipped (42667) main warning: late picture skipped (48665) main warning: late picture skipped (56103) main warning: late picture skipped (66089) main warning: late picture skipped (75754) main warning: late picture skipped (57645) main warning: late picture skipped (64637) main warning: late picture skipped (46653) main warning: late picture skipped (29334) main warning: late picture skipped (15644) main warning: late picture skipped (7640) main warning: late picture skipped (4681) main warning: late picture skipped (691) main warning: late picture skipped (11698) main warning: late picture skipped (4688) main warning: late picture skipped (701) main warning: late picture skipped (9691) main warning: late picture skipped (40120) main warning: late picture skipped (106725) main warning: late picture skipped (113033) main warning: late picture skipped (98758) main warning: late picture skipped (104762)

Posted: 01 Apr 2007 21:34
by sm1
As i'm sure specs will be asked for the machine i'm doing this on:

Thinkpad r50p
*Pentium-m 1700mhz
*1gb ram
*ATI FireGL T2 128 MB (fglrx drivers)

Ubuntu 7.04 with latest updates for all software. (VLC 0.8.6a)

Posted: 01 Apr 2007 21:52
by Jean-Baptiste Kempf
with what software did you transcode to mkv ?

Posted: 01 Apr 2007 22:02
by sm1
mencoder.

Here is what I was doing to assemble (initial) tests. I've been tweaking with way more options then I know what they do:

Code: Select all

#!/bin/bash FILETITLE="$1" #mencoder -vf pp=ac,framestep=2,filmdint=dint_thres=256,harddup -ovc x264 -x264encopts bitrate=$2:threads=auto:pass=1:turbo=2:frameref=15:bframes=5:nob_pyramid:direct_pred=auto:partitions=all:8x8dct:subq=7:mixed_refs:nodct_decimate -nosound -ofps 24000/1001 -noskip -of rawvideo -o /dev/null "$1" #mencoder -vf pp=ac,framestep=2,filmdint=dint_thres=256,harddup -ovc x264 -x264encopts bitrate=$2:threads=auto:pass=3:frameref=15:bframes=5:nob_pyramid:direct_pred=auto:partitions=all:8x8dct:subq=7:mixed_refs:nodct_decimate -nosound -ofps 24000/1001 -noskip -of rawvideo -o /dev/null "$1" mencoder -vf pp=ac,framestep=2,filmdint=dint_thres=256,harddup -ovc x264 -x264encopts bitrate=$2:threads=auto:pass=3:frameref=15:bframes=5:nob_pyramid:direct_pred=auto:partitions=all:8x8dct:subq=7:mixed_refs:nodct_decimate -nosound -ofps 24000/1001 -noskip -of rawvideo -o "$FILETITLE".720p.HDTV.RAWES.264 "$1" MP4Box -fps 23.976025 -add "$FILETITLE".720p.HDTV.RAWES.264 "$FILETITLE".720p.HDTV.VideoOnly.mp4 mplayer -dumpaudio -dumpfile "$FILETITLE".ac3 "$1" mkvmerge -o "$FILETITLE".720p.HDTV.x264.mkv "$FILETITLE".720p.HDTV.VideoOnly.mp4 "$FILETITLE".ac3
Since then I've also tweaked with this one a bit to get scaled files. These have turned out better on playback for linux machines, but both produce good files for my windows and mac buddies.

Code: Select all

#!/bin/sh nice -n 18 mencoder \ -vf harddup \ -ovc copy \ -oac copy \ -of rawaudio \ -o "${2}.ac3" \ "${1}" && \ nice -n 18 mencoder \ -vf pullup,softskip,${3},scale=1360:768,harddup \ -ofps 24000/1001 \ -ovc x264 \ -x264encopts \ bitrate=2000:pass=1:turbo=2:keyint=240:bframes=3:direct_pred=auto \ -oac copy \ -o /dev/null \ "${1}" && \ nice -n 18 mencoder \ -vf pullup,softskip,${3},scale=1360:768,harddup \ -ofps 24000/1001 \ -ovc x264 \ -x264encopts \ bitrate=2000:pass=2:turbo=2:keyint=240:bframes=3:direct_pred=auto \ -oac copy \ -of rawvideo \ -o "${2}.264" \ "${1}" && \ nice -n 18 MP4Box "${2}.mp4" -fps 23.976 -add "${2}.264" && \ nice -n 18 mkvmerge -o "${2}.mkv" "${2}.mp4" "${2}.ac3" && \ rm "${2}.264" "${2}.ac3" "${2}.mp4"