AMV Encoders - A/V Sync Test

If you have questions about compression/encoding/converting look here.
Locked
User avatar
Quu
Joined: Tue Dec 26, 2000 1:20 pm
Location: Atlanta, GA
Contact:
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by Quu » Sat Sep 11, 2010 3:56 pm

blah... then by that logic, windows and hpc-hc is a superior solution to linux and mplayer

i need to find the git for uau's mplayer... though i don't expect it to fix things
Lead me not to temptation, for I have deadlines

User avatar
Quu
Joined: Tue Dec 26, 2000 1:20 pm
Location: Atlanta, GA
Contact:
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by Quu » Sat Sep 11, 2010 4:00 pm

also... and this sounds wierd... if i "loop" the video... mplayer does not skip any frames at all under linux the second time through... so it might be a file buffering issue I can investigate
Lead me not to temptation, for I have deadlines

User avatar
Quu
Joined: Tue Dec 26, 2000 1:20 pm
Location: Atlanta, GA
Contact:
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by Quu » Mon Sep 13, 2010 2:23 pm

ok... some help if possible...
is it possible to export with MPC-HC (their documentation is rather, sparse) to an uncompressed avi? (if not, then I might have to do it manually with GraphEdt... blah)

I want to do something with linux, and I don't know how:
I want Linux with the nvidia proprietary drivers (needed for VDPAU) with two screens (VGA 1280x1024 and HDMI 1920x1080), three audio outs (headphone, optical digital, and hdmi audio out), support for wired and wireless networking, samba, and ntfs reading, all installed on an 8 gig flash drive
I currently can do this with ubuntu 10.10 (which i have been doing)

but here is the "hard parts"...
I want the GUI limited to only one of the screens, with the other monitor only available to mplayer. The mouse and all desktop elements can't be allowed onto this second monitor. With Ubuntu desktop, when I try to enable this, it works... part way. The second monitor is its own window (:0.1) with its own copy of the menu, and i can move my mouse over to it... i basically want my second monitor to belong to mplayer, with nothing else being able to touch it.

I tried this with Ubuntu-Netbook (I love the GUI/menu for netbook)... but when I enabled the second monitor with the netbook edition... the screen kept reseting and never got to the menu.

I don't care about desktop effects and fanciness of the GUI on the user interaction screen. All i need to be able to do is run a java app's gui, run a web browser, and run a file browser. also, I need to be able to choose which screen is the GUI and which is the video... but i could simply have two flash drives, and boot into the proper linux based ont he conventions needs.

I also need to be able to switch the audio around... i need to assign the "default" audio to one of the three outputs that a convention does not use, and manually tell mplayer to use the on the con would use.

My current testing under Linux has been frustrating... to say the least. While i love the netbook UI for ubuntu, it's simplicity is what I was aiming for, when i enable the second display, it becomes unusable. With the desktop ubuntu, when i enable the second monitor, either i merge both monitors into one, like how windows does it, or if i keep both monitors seperate, a menu and everything appears on the second monitor. Plus, when every i play videos with mplayer and vdpau under ubuntu desktop, i get tearing... i think that is an issue with all the desktop managers, hence why I was hoping to have a clean x display with nothing else running except mplayer's output.
Lead me not to temptation, for I have deadlines

kholaras
Joined: Wed Jul 23, 2003 10:57 pm
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by kholaras » Mon Sep 13, 2010 2:41 pm

MPC-HC has no transcoding feature, so if you want to get an accurate representation of DirectShow based output you'll have to run it through GraphEdit. After the con I might try and see if I can add uncompressed output as a 'render' option in my program if you think that'd be useful.

User avatar
Quu
Joined: Tue Dec 26, 2000 1:20 pm
Location: Atlanta, GA
Contact:
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by Quu » Mon Sep 13, 2010 3:58 pm

mainly i wanted to test the a/v sync of the mpc-hc filters... make sure that when they decode mp3 or aac audio, they match the other players (I already found lots of issues... though most players use faad2 for aac decoding so they tend to even out)
Lead me not to temptation, for I have deadlines

User avatar
Quu
Joined: Tue Dec 26, 2000 1:20 pm
Location: Atlanta, GA
Contact:
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by Quu » Mon Sep 13, 2010 5:01 pm

btw, this is my test plan
http://quutar.110mb.com/VideoTest.xml

the test app is not ready for other people to use... but I am getting some nice results... when I am done, i will publish the test app so other people can confirm my results.
Lead me not to temptation, for I have deadlines

User avatar
Zarxrax
Joined: Sun Apr 01, 2001 6:37 pm
Contact:
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by Zarxrax » Mon Sep 13, 2010 5:06 pm

The mpc-hc filters are available separately from here: http://sourceforge.net/projects/mpc-hc/files/

User avatar
BasharOfTheAges
Just zis guy, you know?
Joined: Tue Sep 14, 2004 11:32 pm
Status: Breathing
Location: Merrimack, NH
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by BasharOfTheAges » Mon Sep 13, 2010 5:46 pm

break out the xorg.conf file and start hacking at it. Fun times will be had.
Anime Boston Fan Creations Coordinator (2019-2023)
Anime Boston Fan Creations Staff (2016-2018)
Another Anime Convention AMV Contest Coordinator 2008-2016
| | |

User avatar
Quu
Joined: Tue Dec 26, 2000 1:20 pm
Location: Atlanta, GA
Contact:
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by Quu » Mon Sep 13, 2010 6:10 pm

Zarxrax wrote:The mpc-hc filters are available separately from here: http://sourceforge.net/projects/mpc-hc/files/
yea, i have those... just sometimes a pain making sure that the filtergraph i make matches theirs... and I am being lazy

hackign at xorg's conf file... when i barely know how it works... that will end well ^_^
Lead me not to temptation, for I have deadlines

User avatar
Quu
Joined: Tue Dec 26, 2000 1:20 pm
Location: Atlanta, GA
Contact:
Org Profile

Re: AMV Encoders - A/V Sync Test

Post by Quu » Tue Sep 14, 2010 5:19 pm

Full details at http://quu.livejournal.com/821424.html
Problem
When encoding a video using modern encoding tools, the idea that the tools would change the audio and video sync of the source material is rarely considered. When initially investigating this, I found that this could not be counted on. MP3 and AAC audio encoders need to pad the beginning of the stream with empty packets, and the amount of empty packets is not always formalized, leading to different vendors using different padding, confusing the decoders. Video encoding tools have a simpler job, since a frame is well defined, but even then, some video encoders automatically change or adjust the frames with default settings, trying to compensate for interlaced source footage.

After initially doing a very broad investigation into audio and video sync, I decoded to narrow my focus. The decoder used has as much to do with the sync of any videos as the encoders. I selected two popular video players that supported an easy export feature, VLC and MPlayer. The idea is to take a known "Baseline" uncompressed AVI file, encode it with various tools, then export it with the players, and test how much the audio and video has gone out of sync as compared to the original AVI exported/played the same way.

My testing is not looking for audio or video quality of the various encoders, but just the ability to maintain the original audio and video sync when played with VLC and MPlayer.

Tools and Version
Stand Alone Full Audio and Video Encoders
Handbrake - 0.9.4 (CLI version used)
x264 JEEB's build with L-SMASH, QTAAC and LAME - x264 0.104.0+1943 19e73ec built on Sep 4 2010, gcc: 4.4.4 (x86.generic.Komisar)

Audio Encoders
FAAC - 1.28
FLAC - 1.2.1
LAME - 3.98.4
Nero AAC Encoder - 1.5.1
QTAACEnc - version 20100725 by tmkk

Video Encoder
x264 (from x264.nl) x264 0.104.1713 c276662 built on Sep 4 2010, gcc: 4.4.4

Muxers
mkvmerge - v4.2.0 ('No Talking') built on Jul 28 2010 18:38:23
mp4box - MP4Box - GPAC version 0.4.5 (build 33 - Dec 11 2008) - compiled by Kurtnoise
mp4creator - mpeg4ip version 1.6.1d
tsmuxer - Version 1.10.6

Results
As far as video sync goes, the default "High Profile" settings in Handbrake breaks the video sync as it tries to compensate for interlaced footage, even when given progressive footage. When the default profile is modified, Handbrake is able to produce in sync video with no lost frames. No matter how it is muxed, x264 footage is always in sync.

For audio sync, things were a little different. Both of the stand alone audio/video encoders where able to produce audio that stayed in sync, even when Handbrake's default setting dropped video frames, the audio was perfectly in sync when played back. Of the stand alone audio encoders, only FAAC and FLAC were able to stay in sync with the encoded video, no matter how they were muxed. Uncompressed PCM audio was also tested, but only VLC was able to play it, and it was in sync when tested. What is strange is that JEEB's build of x264, which included QTAAC and LAME was able to maintain perfect audio sync, but when both of those tools were tested externally, they failed the sync test. Even when JEEB's x264 build imported the externally rendered files they were out of sync, so it is not purely because of the L-SMASH mp4 muxer in JEEB's build.

LAME, Nero, and QTAAC all produced audio files, that when muxed and played back in the two test players, that were delayed when compared to the original audio and out of sync with the video. It did not matter what muxer was used, the audio created by these three stand alone encoders where not played properly by VLC or MPlayer, while FAAC, FLAC, and the stand alone audio/video encoders where.
Lead me not to temptation, for I have deadlines

Locked

Return to “Conversion / Encoding Help”