Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 5th December 2008, 21:26   #1  |  Link
j3ff
Registered User
 
Join Date: May 2008
Posts: 3
Apple ProRes 422 decoded with QTinput (using QT 7.5.5)

Hey guys,

My last resort is to come here and ask you guys for tips, I've done a fair share of research and do not seem to get anywhere with this.

I have sources that are using the Apple ProRes 422 codec, I have QuickTime 7.5.5 installed and am using QTSource.dll (0.0.5a AND 0.0.6 were tried) and I am experiencing a problem that may be a filter problem? that's where I need help.

Here's the script (an actual really SIMPLE script):

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\qtsource.dll")

qtinput("v:\prores.mov",audio=true)


Now here's the error:

When I open up the script using AvsP, I hit F5 (to open the video pane) and the video shows fine etc, I can scroll and what not. The second I hit F5 a second time (without any modifications) I get a
"Evaluate: System Exception - Access Violation"

Now does ANYONE know of a way to maybe work around this / fix this. I'd appreciate the help and would be very thankful

Last edited by j3ff; 5th December 2008 at 21:48. Reason: changed header
j3ff is offline   Reply With Quote
Old 5th December 2008, 22:25   #2  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
Don't use audio=true for QTInput

QTInput("file.mov")
ConvertToYV12()

Specify audio using DirectShowSource() in a separate script, you need ffdshow audio configuration "uncompressed" set to 16-bit (default is disabled), to decode the sowt audio

or together:

vid=QTInput("file.mov")
aud=DirectShowSource("file.mov",video=false)
audiodub(vid,aud)
ConvertToYV12()

I am assuming you already have ProRes installed
poisondeathray is offline   Reply With Quote
Old 6th December 2008, 00:52   #3  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,988
I was able to handle a ProRes file not long ago. QTInput worked, and I extracted the audio track with MPEG Streamclip.

~MiSfit
__________________
These are all my personal statements, not those of my employer :)
Blue_MiSfit is offline   Reply With Quote
Old 6th December 2008, 01:22   #4  |  Link
tateu
Registered User
 
Join Date: Jan 2002
Location: Los Angeles, CA USA
Posts: 132
Setting audio=false does not solve it. My first guess...I screwed something up in QTSource. My limited programming skills and lack of knowledge about memory buffers, pointers and how and when to delete/free them has caused many issues in my software over the years. The same crash happens with ProRes and QTInput using VirtualDub. If you use the file menu and "Open" the same file it crashes but, strangely, if you press F2 to "Reload" the same file, it does not crash. The same problem also happens when using the VirtualDub quicktime input plugin.

The only thing that would make me think it is not necessarily my fault, is that it only seems to happen with the ProRes codec. I know that having the AJAKonaSoftwareCodec.qtx file installed causes lots of problems with QTSource, so maybe something in the ProRes codec is at fault. Unfortunately, I am swamped at work this month and have no free time to investigate the problem. Maybe I can look into it in January.
tateu is offline   Reply With Quote
Old 6th December 2008, 14:39   #5  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,431
Quote:
Originally Posted by tateu View Post
My limited programming skills and lack of knowledge about memory buffers, pointers and how and when to delete/free them has caused many issues in my software over the years.
Your honesty is refreshing - perhaps you could add this line to your programs' docs so people know what to expect.[*]

Only joking - I appreciate your efforts (though I must say I recently had problems with your VirtualDub quicktime input plugin - see here).

[*] Can you imagine if all software producers did this: "Our programmers don't know how to write secure code, so don't use this browser to access your bank account..."
Gavino is offline   Reply With Quote
Old 6th December 2008, 15:03   #6  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
The method I listed above works on my PC for AvsP, Vdub, MeGUI

In fact, as soon as I add audio=true, I get the same crash message as the OP, and when I remove it, it works again.

I recall someone else having problems getting it to work in the MeGUI trouble shooting thread, but I think it was narrowed down to something on their system
poisondeathray is offline   Reply With Quote
Old 7th December 2008, 01:12   #7  |  Link
tateu
Registered User
 
Join Date: Jan 2002
Location: Los Angeles, CA USA
Posts: 132
Quote:
Originally Posted by tateu View Post
Unfortunately, I am swamped at work this month and have no free time to investigate the problem. Maybe I can look into it in January.
Well, I lied. I decided to spend a few minutes with it today...I went through and turned off a lot of the memory frees and deletes, one by one, but that did not solve it. I then started turning off other things in my destructor and...lo and behold...turning off the quicktime function TerminateQTML() fixes the crash. I don't really know why (there is something in the QuicktimeSDK docs about not calling InitalizeQTML/TerminateQTML from dllmain so I am going to head over to the AviSynth developer forum and start a thread asking about that) and I'm not sure if that can cause other problems (I wouldn't really think so...but...).

You are welcome to give this test version a try: http://www.tateu.net/software/dl.php?f=QTSource_Alpha
I have made tons of changes since the last release 2 years ago. This ProRes fixed version contains all of those changes. I previously mentioned my stellar programming skills, so it is of course possible that some of the changes included in this version may cause more problems than they solve...but...I use this version quite frequently in production at work and have not had any issues, so hopefully it works for everyone else.

Gavino,
See the other thread for a response about the VirtualDub version.
tateu is offline   Reply With Quote
Old 8th December 2008, 17:42   #8  |  Link
j3ff
Registered User
 
Join Date: May 2008
Posts: 3
Thanks to all of you for replying in this thread trying to help me!

Tateu, the problem IS fixed and for that I thank you VERY much, you have saved me a big headache and I appreciate you taking the time to make the ProRes compatible, I didn't want to stop using your filter because it is THAT awesome!

Thank you very much all of you!
j3ff is offline   Reply With Quote
Old 8th December 2008, 21:37   #9  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,988
Indeed! More thanks to Tateu! Your QTInput filter is marvelous and hugely useful!

~MiSfit
__________________
These are all my personal statements, not those of my employer :)
Blue_MiSfit is offline   Reply With Quote
Old 9th December 2008, 02:29   #10  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
ooh, thanks for the update. i wasn't experiencing huge probs with prores, but there was always a crash after reloading a clip sourced from over ethernet. it'd load the first time but would crash on reloading.

this release seems to have fixed that

btw, don't apologise for your programming skills. instead know they are far in excess of most of the skills that seem to be at work at Apple (tried using Color? it's a ball-ache)
__________________
sucking the life out of your videos since 2004
Mug Funky is offline   Reply With Quote
Old 25th December 2008, 06:30   #11  |  Link
chaynik
Registered User
 
Join Date: May 2002
Location: Los Angeles
Posts: 88
Beautiful! This fixed the access violations I was having when loading the scripts into VirtualDub one after the other. Thank you!

Now quick question for you, tateu. When loading 10-bit QuickTimes in raw mode, how is the conversion handled to 8-bit?

Thanks again!
chaynik is offline   Reply With Quote
Old 25th December 2008, 11:07   #12  |  Link
7ekno
Guest
 
Posts: n/a
Wicked job Tateu

v0.0.8 fixes a lot of "access violation" errors that were occuring when I tried to preview multiple AVS scripts with QTInput's in AvSP ... (which also means I no longer need to use DirectShowSource() as a work around to see multiple MOVs !!!) ..

Thanks again Tateu, v0.0.8 may not be perfect for everyone (it's flawless for my use!), but it's definately a blessing to the alternative for me (screwing around with QuickTime DirectShow Source Filters, GraphEdit and Filter Merits!!!!) ...

Cheers,
7

Last edited by 7ekno; 25th December 2008 at 11:08. Reason: spelling/grammar
  Reply With Quote
Old 5th January 2009, 14:08   #13  |  Link
Deinorius
Najarenthur
 
Deinorius's Avatar
 
Join Date: Jan 2006
Location: Austria (Vienna)
Posts: 202
Hi guys, my problem has nothing to do with QTInput, but I can't decode the audio stream in a Quicktime file which was explained above. It worked with another file, but this one doesn't work.

If you wan't to try it yourself, it's here. After extraction I get the extension "ima4". I tried libavcodec and disabled in ffdshow for IMA ADPCM, but nothing worked.

Last edited by Deinorius; 5th January 2009 at 14:16.
Deinorius is offline   Reply With Quote
Old 14th September 2010, 22:25   #14  |  Link
UltraTV
Registered User
 
Join Date: Jul 2007
Posts: 56
Yo tateu, I can't tell you how many times qtsource has saved me! That being said I'm hoping if you're still actively working with it you can take a look at a problem I'm having with prores422 files. I have a few pieces of content with 10 mono pcm tracks. qtsource only sees the first one.
UltraTV is offline   Reply With Quote
Old 15th September 2010, 06:04   #15  |  Link
tateu
Registered User
 
Join Date: Jan 2002
Location: Los Angeles, CA USA
Posts: 132
Actively working with it? The compiled dll, yes, I still use it in production at the office...but the source code, no. It's been over a year and half since I last touched that. There are tons of things I've always wanted to fix but other projects, life, etc. got in the way and I've never gotten back to it.

Quote:
Originally Posted by UltraTV View Post
... 10 mono pcm tracks. qtsource only sees the first one.
The way I set it up to work is that it should mix all 10 mono tracks down into 1 mono track for output. I just tried it on a test clip with mpeg-4 video and 10 16 bit, 44.1K mono audio tracks and it worked that way. I don't remember why I set it to mix down the tracks for output...maybe it was too hard for me to read that many separate tracks or maybe it was too hard for me to create that many audio tracks in an AviSynth clip??? Regardless of why...that is the only way it will work.

Is that what happens for you? Or is it really only outputting audio from the first track?
tateu is offline   Reply With Quote
Old 15th September 2010, 18:35   #16  |  Link
UltraTV
Registered User
 
Join Date: Jul 2007
Posts: 56
Glad to see you're still around.

I'm pretty sure it's working correctly. That is downmixing the 10 tracks to one track. We have some people in the office that may be able to contribute, so I'll have them look at the source code and see if they can figure out a way to handle the 10 discreet tracks.

Do you have any input that might help them get up to speed? We need to have avisynth see all 10 tracks so I can use getchannel() to grab the two stereo tracks. Then we'll be gravy...

p.s. any chance I can get a link to the latest source code?
UltraTV is offline   Reply With Quote
Old 15th September 2010, 19:19   #17  |  Link
tateu
Registered User
 
Join Date: Jan 2002
Location: Los Angeles, CA USA
Posts: 132
The source code is on an old computer at home. I'll get you a link sometime in the next few days...
tateu is offline   Reply With Quote
Old 15th September 2010, 20:31   #18  |  Link
daniel.payne.
Registered User
 
Join Date: Nov 2009
Posts: 2
Found a bug

Hi Tateu,

Pretty sure its a QT thing. When in default (mode = 0) and mov type 2Yuv. One gets a access violation error.

Workaround is to select

mode=1
raw=2YUV

Could this be fixed to work out that it is 2YUV?

no worries if not. another day another workaround learned.

D
daniel.payne. is offline   Reply With Quote
Old 15th September 2010, 21:49   #19  |  Link
tateu
Registered User
 
Join Date: Jan 2002
Location: Los Angeles, CA USA
Posts: 132
Quote:
Originally Posted by UltraTV View Post
Do you have any input that might help them get up to speed? We need to have avisynth see all 10 tracks so I can use getchannel() to grab the two stereo tracks.
I'm almost there...it turns out to be rather easy...According to http://developer.apple.com/quicktime...xtraction.html all you need is:

Code:
Boolean allChannelsDiscrete = true;

// disable mixing of audio channels
err = MovieAudioExtractionSetProperty(extractionSessionRef,
     kQTPropertyClass_MovieAudioExtraction_Movie,
     kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete,
     sizeof (Boolean), &allChannelsDiscrete);
I tried it with some test QTInput source code I had lying around here at work...and it works. I'll try to get you a compiled version for testing in the next day or three. The version I am playing with right now isn't fully working in some other areas.
tateu is offline   Reply With Quote
Old 15th September 2010, 22:35   #20  |  Link
UltraTV
Registered User
 
Join Date: Jul 2007
Posts: 56
Brilliant! Can't thank you enough.
UltraTV is offline   Reply With Quote
Reply

Tags
prores quicktime qtinput

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 18:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.