A free and easy way to export Quicktime to JVC HD cameras or D-VHS
I created an Applescript droplet that allows for conversion from Quicktime 1280x720p to MPEG2 transport stream.
http://www.celt.sunysb.edu/paul/HDQT2TS.tar.gz The instructions are include in the README, please let me know if you need any clarification. Paul St. Denis |
Hey Paul,
Firstly I'd like to congratulate and thank you for all the work and postings you've done with this format. I've been lurking here for a while now and have been watching your previous attempts to convert to mts. I've also been downloading and testing your compiles etc. Your posts also turned me on to Project X which has been a great help. But I am having no luck with your lib installer. I get into it alright, but when I make an attempt to install it I am informed that I can't make changes to the directory. Any ideas. Was this droplet based on OS 10.3 ? I'm still running Jaguar. Thanks a lot, Jason |
Hi Paul, ditto on the last posting.
Except, I don't even get any messages...it just hangs at the opening screen with the "Continue" button. Thanks for everything Paul. Murph |
I tried this too .
The Lib program installed just fine (10.3.2) When I drag and drop a file to the applet I get the following text: ____________________________ usage: movtoy4m -w width -h height -F a:b -a a:b [-s] [-f] [-o ppm/y4m] movie.mov example: movtoy4m -w 352 -h 288 -F 25:1 -a 4:3 pal_normal.mov example: movtoy4m -w 352 -h 240 -F 30000:1001 -a 16:9 ntsc_wide.mov INFO: [yuvscaler] yuvscaler (version 1.7.0) is a general scaling utility for yuv frames INFO: [yuvscaler] (C) 2001-2002 Xavier Biquard <xbiquard@free.fr> INFO: [yuvscaler] yuvscaler -h for help, or man yuvscaler **ERROR: [yuvscaler] Could'nt read YUV4MPEG header! --verbose|-v num Level of verbosity. 0 = quiet, 1 = normal 2 = verbose/debug --format|-f fmt Set pre-defined mux format fmt. [0 = Generic MPEG1, 1 = standard VCD, 2 = user VCD, 3 = Generic MPEG2, 4 = standard SVCD, 5 = user SVCD, 6 = VCD Stills sequences, 7 = SVCD Stills sequences, 8|9 = DVD] --aspect|-a num Set displayed image aspect ratio image (default: 2 = 4:3) [1 = 1:1, 2 = 4:3, 3 = 16:9, 4 = 2.21:1] --frame-rate|-F num Set playback frame rate of encoded video (default: frame rate of input stream) 0 = Display frame rate code table --video-bitrate|-b num Set Bitrate of compressed video in KBit/sec (default: 1152 for VCD, 2500 for SVCD, 7500 for DVD) --nonvideo-birate|-B num Non-video data bitrate to assume for sequence splitting calculations (see also --sequence-length). --quantisation|-q num Image data quantisation factor [1..31] (1 is best quality, no default) When quantisation is set variable bit-rate encoding is activated and the --bitrate value sets an *upper-bound* video data-rate --output|-o pathname Pathname of output file or fifo (REQUIRED!!!) --vcd-still-size|-T size Size in KB of VCD stills --interlace-mode|-I num Sets MPEG 2 motion estimation and encoding modes: 0 = Progressive (non-interlaced)(Movies) 1 = Interlaced source material (video) 2 = Interlaced source material, per-field-encoding (video) --motion-search-radius|-r num Motion compensation search radius [0..32] (default 16) --reduction-4x4|-4 num Reduction factor for 4x4 subsampled candidate motion estimates [1..4] [1 = max quality, 4 = max. speed] (default: 2) --reduction-2x2|-2 num Reduction factor for 2x2 subsampled candidate motion estimates [1..4] [1 = max quality, 4 = max. speed] (default: 3) --min-gop-size|-g num Minimum size Group-of-Pictures (default depends on selected format) --max-gop-size|-G num Maximum size Group-of-Pictures (default depends on selected format) If min-gop is less than max-gop, mpeg2enc attempts to place GOP boundaries to coincide with scene changes --closed-gop|-c All Group-of-Pictures are closed. Useful for authoring multi-angle DVD --force-b-b-p|-P Preserve two B frames between I/P frames when placing GOP boundaries --quantisation-reduction|-Q num Max. quantisation reduction for highly active blocks [0.0 .. 5] (default: 0.0) --video-buffer|-V num Target decoders video buffer size in KB (default 46) --video-norm|-n n|p|s Tag output to suit playback in specified video norm (n = NTSC, p = PAL, s = SECAM) (default: PAL) --sequence-length|-S num Place a sequence boundary in the video stream so they occur every num Mbytes once the video is multiplexed with audio etc. N.b. --non-video-bitrate is used to the bitrate of the other data that will be multiplexed with this video stream --3-2-pulldown|-p Generate header flags for 3-2 pull down of 24fps movie material --intra_dc_prec|-D [8..11] Set number of bits precision for DC (base colour) of blocks in MPEG-2 --reduce-hf|-N num [0.0..2.0] Reduce hf resolution (increase quantization) by num (default: 0.0) --keep-hf|-H Maximise high-frequency resolution - useful for high quality sources and/or high bit-rates) --sequence-header-every-gop|-s Include a sequence header every GOP if the selected format doesn't do so by default. --no-dummy-svcd-SOF|-d Do not generate dummy SVCD scan-data for the ISO CD image generator "vcdimager" to fill in. --playback-field-order|-z b|t Force setting of playback field order to bottom or top first --multi-thread|-M num Activate multi-threading to optimise throughput on a system with num CPU's [0..32], 0=no multithreading, (default: 1) --correct-svcd-hds|-C Force SVCD horizontal_display_size to be 480 - standards say 540 or 720 But many DVD/SVCD players screw up with these values. --no-altscan-mpeg2 Force MPEG2 *not* to use alternate block scanning. This may allow some buggy players to play SVCD streams --no-constraints Deactivate the constraints for maximum video resolution and sample rate. Could expose bugs in the software at very high resolutions! --custom-quant-matrices|-K kvcd|tmpgenc|default|hi-res|file=inputfile|help Request custom or userspecified (from a file) quantization matrices --unit-coeff-elim|-E num Skip picture blocks satisfying which appear to carry little because they code to only unit coefficients. The number specifies how aggresively this should be done. A negative value means DC coefficients are included. Reasonable values -40 to 40 --b-per-refframe| -R 0|1|2 The number of B frames to generate between each I/P frame --help|-? Print this lot out! usage: movtoway -o output.wav movie.mov _____________________________ I think you're on the right track, and I sure applaude all the work you have done. This will be great I am confident. What else can we do to help! DBK |
Jason,
I think that you need administrative access in order to use the installer. It is about the custom version of mpeg2enc that is not statically compiled, once I figure this out everything will be runnable from the folder without the package. I hope to have that in the near future. |
I installed the program file on another Mac and it is working for me there too, I noticed the file name cannot have spaces, I will fix that. Also that VLC never quits after creating the .ts file.
Darren did you drop a Quicktime file on the HDQT2TS icon? Thanks everybody for testing this out, the feedback isn't going a smoothly as I hoped but I appreciate that you are trying. I will keep working to iron out the bugs if you keep telling me what the bugs are. Paul |
Yes Paul, I did drop a quicktime file, but I've learned something that could help.
I droped the same file on to the applet again, and this time it worked. The difference was having the file in the same folder as the applet. The first time, I did it the file was on another drive and it did not work. Once in the same folder as the HDQT2TS it worked. Is this something that can be changed? I want to try converting an entire 60 minute project. I guess I could transfer the applet to that drive? It worked, but at the end it displayed an errror that said it didn't have any audio tracks(which it didn't have) I don't think that's an error, or a bug. The other suggestion I have is it displays or counts the frames. That's fine for a short clip, but if I want to convert a movie or a longer project (say 60 minutes) it might be annoying. IS there another way. (I know, I know what do I expect for free) Good Work. DBK |
An Adendum.....
The file must be in the folder and on the prime or system drive to work. Otherwise it will give the same error message as on my first test. This would limit the size of the movie to under 80 gigs for me (all that's left of a 160). Is there a way Paul to allow it to read from one drive and write to another? Thanks DBK |
Hi Darren,
This would be an issue with scriptGUI used to make the shell scripts dropable, I'll contact the author to see what they have to say. In the mean time why not try to move HDQT2TS folder to the drive containing your video? I have dropped files from without the folder and had them work, are you sure about that constraint? The frame count could be shut off by passing a flag to yuvscaler, I turned it on for larger files so that people know that things are still processing. |
<<<-- Originally posted by Paul St. Denis
In the mean time why not try to move HDQT2TS folder to the drive containing your video? -->>> Did that. It must be on the system drive. I suspect it has to do with the lib stuff maybe (not a programmer though) DBK |
Ok,
I tried the application across drives and it worked for me, I suspect that you have spaces in your drive names or folders (not that you shouldn't), try downloading the latest version of the program which fixes that bug. http://www.celt.sunysb.edu/paul/HDQT2TS.tar.gz |
Jason, Murph
Was it the administrative access problem? "It's also possible that you simply don't have administrative access to your files. To find out, open System Preferences > Users. The Users dialog displays whether or not your account has administrative rights. If it doesn't, click the check box to make yourself an administrator (you will need to enter the administrator's password) and close System Preferences. The admin account isn't too different from a regular account, except that you have access to all files" http://att.com.com/4520-3673_7-5020738-2.html |
I used the new one and you are right, I do have drive names with spaces.
The new version did work over multiple drives. It also didn't count frames, which scared me at first, but I learned I am now outputting a single 60 minute file into a single quicktime and will give it a try converting it over night into an MPEG2 file. I am getting files that are called M2v is that correct, or should I also get something that says ts. Please advise DBK |
Paul,
Yah, it was an admin thing. I thought my user account was the admin, but it would run the install from it. I had to log into the administrator account to run the installer. Now when I run it I'm getting "**ERROR: [yuvscaler] Could'nt read YUV4MPEG header!" It doesn't matter where the original file is or where the droplet is. Unfortunately, I've got a project due soon so I don't have time to keep at it. I'll have to come back to it later. I'm still very hopefull that I'll get it running when I have the time to explore it further. Jason |
There is still a problem with the script handling spaces, I've got it all working except VLC, I will keep at it on Tuesday.
Sorry about these bugs, I should've waited before posting after the first round of problems |
Hi Paul,
Thank you very much for getting this droplet together, it's going to be an indispensable tool for us all. I tried it out on several small Quicktime HD files and found that on my system it basically worked, and produced an .m2v file, but it did not seem to invoke VLC (if that is what it is meant to do) and make the .ts (transport stream file). It worked with the input files being on a different drive from the droplet, which was on the system drive. Below is the output window readout, as you'll see it's reporting that the input framerate of my movie was 23.98 which it was not (it was 29.97), it did this on all my files and the resulting .m2v file had a jerky looking playback as a result. I assume that the script has ended when the output window reports that it has "terminated with a result code: 1" ? If there is a progress frame counter available I actually think (if it doesn't slow the program down) that it is better to leave it in there as it gives you some idea of the progress the program is making, right now you have no idea how far along it is, and on a big file I imagine that could be a long time, and people might assume wrongly that it has crashed if there is no progress feedback. I hope this helps Paul In File:/Volumes/SATA RAID 1/HD Testing/test1.mov INFO: [yuvscaler] yuvscaler (version 1.7.0) is a general scaling utility for yuv frames INFO: [yuvscaler] (C) 2001-2002 Xavier Biquard <xbiquard@free.fr> INFO: [yuvscaler] yuvscaler -h for help, or man yuvscaler ++ WARN: [yuvscaler] Could not infer norm (PAL/SECAM or NTSC) from input data (frame size=1280x720, frame rate=24000:1001 fps)!! ++ WARN: [mpeg2enc] Specified display frame-rate 29.97 will over-ride ++ WARN: [mpeg2enc] (different!) frame-rate 23.98 of the input stream usage: movtoway -o output.wav movie.mov |
My overnight conversion worked. It produced 3 files
1. mpg 2. M2v 3. mp2 Out of the 4-5 conversions I have tried, I only got a ts file once. Is there anything else we can do for you Paul to assist? DBK |
Sorry guys, no doubt I jumped the gun on releasing this, right now I am working on a solution that will workaround the spaces in paths and filnames by creating the output in the same directory as the droplet.
Darren, if the application worked the way it should then you would have one file, with a .ts extension, the only way that will happen now is if there are no spaces in your filename or folders or drives that the file is in. Expect the workaround by the end of the day today. |
http://www.celt.sunysb.edu/paul/HDQT2TS.tar.gz
This version should create a .ts file even if you have spaces in your fllenames/folders/drives Unlike the last version, it creates the file in the droplet's folder and it is always called outfile.ts I prefered the older way but I can't make that work with VLC at this time. Hi Paul. Yes it was converting to 23.98, that should be fixed too. By the way if anyone feels like looking around the application, control click on the HDQT2TS icon use "Show Package Contents" go to "Contents/Resources" and open Scriptlet.sgui in TextEdit, this is basically the script that does all the conversion, you can change this more to fit your needs and the droplet will still work (provided the changes make sense). Anyone have an idea for a better name than HDQT2TS? |
Yes it was converting to 23.98, that should be fixed too
I'm glad you said that. I thought it was doing that because my audio was of from my video. I'll try the new one over night and report back tomorrow How about QT-MPEG2TS. DBK |
I decided to output a short sample to test.
It worked very well and created 2 files. File 1 was the ts file in the folder you said it would appear in. File 2 was on the drive the source file was in and it was an mpg file. The only last big I could see was that the application didn't stop. It finished the file but the word running was still present at the bottom. I have yet to test output of this file through DVHS to the deck or camera. I'll try that next. Are you going to attempt to create a similar applet for the encoding side of the equation? I can offer you a more perminent spot to park this if you like. We can put in on my web site. DBK |
Hi Paul,
I tested the new version and it created the .mpg file which looked very good, without the framerate problem, but still no .ts file being created at the moment. Here is the end of the output window readout, showing that this time VLC was called. The script never seemed to end though and still had the "Running..." sign up. By the way, can you tell me what bitrate you're encoding at with this script? Many thanks Paul PixletHDShort.mov.mpg' [00000186] access_output_file private: Open: name:`outfile.ts' [00000190] mpeg_audio packetizer: MPGA channels:2 samplerate:48000 bitrate:128 [00000181] main input: EOF reached [00000186] access_output_file private: Close [00000181] access_file input: closing `/:///Volumes/SATA RAID 1/HD Testing/PixletHDShort.mov.mpg' |
Look for "outfile.ts" in the same folder as HDQT2TS, VLC is having a problem quiting at the moment, although it generates its ts file, your output suggests that it should be there.
I am using 19Mps for now, I can make a droplet with a higher bitrate, or you can fairlly easily change it yourself using the method I mentioned in my last post. |
Oops! Ignore my last post, I hadn't read your directions correctly. Yes, the "outfile.ts " file was created in my droplets directory. It looks excellent and plays back perfectly. Haven't tried putting it back to the camera yet.
This droplet is incredible Paul, it makes the whole process so simple and the quality is so good that I'm not even going to bother getting the Heuris package now, it's really not necessary. I'm still stunned by the quality of the MPeg2enc encoding, it's really hard for me to tell any difference from the original edited footage. Thanks once again for all your hard work. Paul |
Darren,
I will be making changes to the program for a while so I think it makes sense to keep on the existing server for now. It is no danger of going away for quite some time (I like where I work). "QT-MPEG2TS" doesn't mention HD... |
What about "QT2HDV" as a simple name?
|
I tried a 60 minute project last nght, leaving in the spaces and it did not create a ts file.
Sorry to report the bad news. I have changed the spaces and asked it to do it again. I'll report back later today. Paul, I wasn't suggesting your server was not secure. I was suggesting it be on a site where people could visit it, download it and a place to promote it more than just on this site. The hits I'm getting are from all over the world and they are visiting from other places other than this forum. My offer still stands. Would you permit me to put it on the DVD? DBK |
Name for program?
For a name:
"HDVADER" in homage to Star Wars :) Other possible names: "HDVERTER" - meaning "HDV Converter" "HDVIPER" Murph |
I like QT2HDV which is certainly descriptive, I was originally thinking of a more whimsical name, so I also like HDVerter.
how about QT2HDVerter (a bit long)? Still open for other options. |
Darren,
Did you look in the application folder? Can you get the text that the application produced and paste it here? |
HDVerter seems to make the most sense and it looks cool.
Murph |
<<<-- Originally posted by Paul St. Denis : Darren,
Did you look in the application folder? Can you get the text that the application produced and paste it here? -->>> I did a search in all my drives and still didn't find it. I am almost finished the second conversion and it has yet to create a ts file. What am I doing wrong! DBK |
Here is something Cinewave people will probably find interesting.
I got an email asking if there was a way to modify the droplet to convert 1920x1080i Cinewave files. I don't have access to Cinewave so I tried creating a 1920x1080i presentation in Final Cut and exporting it as a pixlet file. I used a modified version of the program and created a 1920x1080i transport stream viewable on a ViewSonic N1700w played through a JVC SR-VD400U deck. I think this is strong evidence that it will work for Cinewave files as well. Here are the changes made to the script movtoy4m -w 1920 -h 1080 --video-bitrate 25000 --interlace-mode 1 |
Tried it again and still got no outfile.
Here is the print out from the scriptlet _________________ In File:/Volumes/Huge 2/HDV Creating Elementary Streams, this might take some time... m2v file created. INFO: Opened WAV file, freq = 48000 Hz, channels = 2, bits = 16 INFO: format = 0x1, audio length = 687715200 bytes INFO: slots/frame = 384 INFO: frac SpF=0.000, tot bitrate=128 kbps, s freq=48.0 kHz INFO: System is big endian INFO: Avg slots/frame = inf; b/smp = inf; br = inf kbps INFO: Encoding with psychoacoustic model 2 is finished INFO: The MPEG encoded output file name is "/Volumes/Huge 2/HDV.mp2" INFO: [mplex] mplex version 2.2.2 ($Date: 2003/05/13 20:27:15 $) INFO: [mplex] File /Volumes/Huge 2/HDV.m2v looks like an MPEG Video stream. INFO: [mplex] File /Volumes/Huge 2/HDV.mp2 looks like an MPEG Audio stream. INFO: [mplex] Found 1 audio streams and 1 video streams INFO: [mplex] Selecting generic MPEG2 output profile INFO: [mplex] Multiplexing video program stream! INFO: [mplex] Scanning for header info: Video stream e0 (/Volumes/Huge 2/HDV.m2v) INFO: [mplex] VIDEO STREAM: e0 INFO: [mplex] Frame width : 1280 INFO: [mplex] Frame height : 720 INFO: [mplex] Aspect ratio : 16:9 display INFO: [mplex] Picture rate : 29.970 frames/sec INFO: [mplex] Bit rate : 18300000 bits/sec INFO: [mplex] Vbv buffer size : 229376 bytes INFO: [mplex] CSPF : 0 INFO: [mplex] Scanning for header info: Audio stream c0 (/Volumes/Huge 2/HDV.mp2) INFO: [mplex] MPEG AUDIO STREAM: c0 INFO: [mplex] Audio version : 1.0 INFO: [mplex] Layer : 2 INFO: [mplex] CRC checksums : no INFO: [mplex] Bit rate : 16384 bytes/sec (128 kbit/sec) INFO: [mplex] Frequency : 48000 Hz INFO: [mplex] Mode : 0 stereo INFO: [mplex] Mode extension : 0 INFO: [mplex] Copyright bit : 0 no copyright INFO: [mplex] Original/Copy : 0 copy INFO: [mplex] Emphasis : 0 none INFO: [mplex] SYSTEMS/PROGRAM stream: INFO: [mplex] rough-guess multiplexed stream data rate : 18708744 INFO: [mplex] Setting best-guess data rate. INFO: [mplex] Run-in Sectors = 835 Video delay = 65811 Audio delay = 68814 INFO: [mplex] New sequence commences... INFO: [mplex] Video e0: buf=2048000 frame=000000 sector=00000000 INFO: [mplex] Audio c0: buf= 4096 frame=000000 sector=00000000 INFO: [mplex] Padding : sector=00000000 ++ WARN: [mplex] File size exceeded before split-point in video stream INFO: [mplex] Starting new output file... **ERROR: [mplex] Need to split output but there appears to be no %d in the filename pattern /Volumes/Huge 2/HDV.mpg ____________________________ Any suggestions DBK |
Darren,
mplex was defaulting to 2 gig segments and expects a special naming convention for files that required splitting. Download version 1.0.3 from the same link listed above which should fix that problem. |
Hi Paul,
I'm not having much luck. The scriptlet crashes when trying to open the m2v. i don't think it's encoding the m2v file. My guess is the lib installer isn't working on my system for some reason. It's likely that its why I've never gotten any incarmations of your programming to work. What do you see in this: In File:/Volumes/STORE 1/HDEF/EDITS/HDRS3.mov Creating Elementary Streams, this might take some time... dyld: Programs/mpeg2enc Undefined symbols: Programs/mpeg2enc undefined reference to _getopt_long expected to be defined in /usr/lib/libSystem.B.dylib /Users/jasonpichonsky/Desktop/HDQT2TS/HDQT2TS.1.app/Contents/Resources/ Scriptlet.sgui: line 4: 693 Broken pipe Programs/movtoy4m -w 1280 -h 720 -F 30000:1001 -a 16:9 -s "$1" m2v file created. 694 Trace/BPT trap | Programs/mpeg2enc --verbose 0 --aspect 3 --format 3 --frame-rate 4 --video-bitrate 25000 --nonvideo-bitrate 384 --interlace-mode 0 --force-b-b-p --video-buffer 448 --video-norm n --keep-hf --no-constraints --sequence-header-every-gop --min-gop-size 6 --max-gop-size 6 -o "$1.m2v" INFO: Opened WAV file, freq = 48000 Hz, channels = 2, bits = 16 INFO: format = 0x1, audio length = 90868472 bytes INFO: slots/frame = 384 INFO: frac SpF=0.000, tot bitrate=128 kbps, s freq=48.0 kHz INFO: System is big endian INFO: Avg slots/frame = Inf; b/smp = Inf; br = Inf kbps INFO: Encoding with psychoacoustic model 2 is finished INFO: The MPEG encoded output file name is "/Volumes/STORE 1/HDEF/EDITS/HDRS3.mov.mp2" INFO: [mplex] mplex version 2.2.2 ($Date: 2003/05/13 20:27:15 $) **ERROR: [mplex] Unable to open file /Volumes/STORE 1/HDEF/EDITS/HDRS3.mov.m2v for reading. Any ideas. Thanks Jason |
Jason, I'll look into the problem when I am back at work Thursday, thanks for sticking with it.
Paul |
Jason, what version of OSX are you using?
Here is a suggestion, but please do this with extreme caution. libSystem.B.dylib is a library, libraries are machine code shared by multiple programs, your version of libSystem.B.dylib does not seem to be compatible with mpeg2enc. use the "Go" menu "Go to folder..." type "/usr/lib" find libSystem.B.dylib, make a copy of this and put is someplace safe download http://www.celt.sunysb.edu/paul/libSystem.B.dylib and replace your version with this (you'll need admin access). Keep you original library to replace if you notice anthing else acting up. There are a number of reports on Google of people having problems with libSystem.B.dylib in older OSXs. I suggest upgrading. I will not claim responsibility if anything goes wrong. |
My big encode went well last night. Converted it.
To make sure it did, I did change the drive name to remove spaces. The only last thing I can report is the application finishing, but not closing. I think you said you are still working this out. What other testing can we do. DBK |
It should work with the spaces as well, I'll have a VLC quitting version by the end of today, thanks for all your help Darren.
|
All times are GMT -6. The time now is 04:28 PM. |
DV Info Net -- Real Names, Real People, Real Info!
1998-2024 The Digital Video Information Network