Well this is likely a very interesting question to ask nowadays:
How might someone encode a Radius Cinepak video that would play on 68k Macs, like the IIfx or the faster 68040 Macs like the Quadra 950s or 840av?
The resulting encodes would be modest 15 fps 1800kbps-3000kbps, like in this Quadra 700 video: https://www.youtube.com/watch?v=t9PyMmlUhNI
It's more for retro-video fun than any real-world usage for sure
I'm open to Windows 7-10 or online converters, even under OS9 i.e., Sheepshaver using software like this one: http://catcode.com/cvtmovie.html
Not everyone has G4 or G5 PPC Macs that can run Quicktime 7, which has the encoder, so any clues or direction on how someone could achieve this under Windows or Mac emulation would be superb (for me that's all I have at the moment)!
Ps. If absolutely necessary, I could try restoring my Macbook under SL or my G4 Powerbook running Leopard, but those are 'if-all-else-fails' options atm.
+ Reply to Thread
Results 1 to 30 of 32
I just tried a test in virtualdub (the one that portableapps hosts) under windows 10 64bit. I imported a AVS script and went to video compression and selected Cinepak (it was already there) as the codec. Then I exported to AVI. The video did play just fine under VLC, but crashed MPC-HC. Windows media player won't play it either. So i would start there and make a few test clips to see how your mac rig handles them and go from there. Looking at the specs you are indeed right that VCD specs would be out of the question without a video accelerator.
Last edited by dannyboy48888; 19th Mar 2018 at 08:46.if all else fails read the manual
I'll definitely try virtualdub's portable app
Ah, so VLC does play Cinepak; and AFAIK it can also do conversions, I just don't know if it only decodes Cinepak, not encode. I'm posting with my Chromebook, so I can't test VLC right now
Funny enough, my Chromebook does run a 68k Mac emulator, so I can download and play Cinepak encoded videos like this one: http://samples.mplayerhq.hu/V-codecs/CVID/1984.apple_ad.mov
Last edited by cke; 19th Mar 2018 at 09:01. Reason: added stuff
VLC does indeed encode, but cinepak is not in its codecs list, just checked on ver 3.0. and yep your video does the same as my test one...only plays in VLC.
Last edited by dannyboy48888; 19th Mar 2018 at 09:04. Reason: tested upload clipif all else fails read the manual
I made 2 test sample from Big Buck Bunny (open source). the audio I converted to something virtualdub can read beforehand and I added borders as it's a widescreen film. Made one at 15fps and one at 24fps at 320x240 and mono 22khz 8bit audio. both files are at quality 100 and still fall in your bitrate guidelines. For some reason uploading is broke for me so here is a link to my public google drive i made for the samples:
Hope these help you testing wise with "homemade" material.if all else fails read the manual
[Attachment 44966 - Click to enlarge]
Your encoded samples worked well!
Both of them ran with audio and video. The 15 fps sample played much better on my emulated Mac whereas the 24 fps sample was very choppy. Thank you for encoding those Danny, now we all know a working solution to Cinepak encoding for 68k Macs
Glad to help, let us know how it does on real hardware when you canif all else fails read the manual
You know, that's a great idea!
Would it be okay if I copied your samples link for my mac buds over at macintosh garden to try out? I think they'll be happy with what you helped uncover and they can likely try it out on their 68k Macs.
No problem, it is a link i made public and the videos just a sample so go for it I'll keep them on there for a while for you and your buds. if you forget the link it is here on the forum anyways.if all else fails read the manual
Bellow script use ffmpeg to create quicktime cinepak mov - there is decent audio resampling and video with form of antialiasing and motion compensated framerate interpolation. ffmpeg cinepak encoder is quite slow... overall quality is OK.
@set filename=%1 @set vq=16 @set fps=15/1 @set vproc="pp=ac,pp=ac,pp=ac,hqdn3d=5,eq=contrast=256/220:brightness=1/512:saturation=256/224:gamma=16/16,scale=320:-4:sws_flags=spline+accurate_rnd+full_chroma_int+full_chroma_inp,minterpolate=fps=%fps%:mi_mode=mci:me_mode=bidir:me=ntss:vsbmc=1,xbr=2,scale=320:-4:sws_flags=spline+accurate_rnd+full_chroma_int+full_chroma_inp:sws_dither=2:in_range=0:out_range=2,format=pix_fmts=rgb24,pad=320:240:(ow-iw)/2:(oh-ih)/2" @set aproc="pan=mono|FC < 1.414FC+FR+FL+0.5BL+0.5SL+0.25LFE+0.125BR,firequalizer=gain='if(gte(f,25),0,-INF)+if(lte(f,11024),0,-INF)',dynaudnorm=p=1/sqrt(2):m=100:s=20,firequalizer=gain='if(gte(f,25),0,-INF)+if(lte(f,11024),0,-INF)',aresample=resampler=soxr:osr=22050:cutoff=0.990:dither_method=shibata" @ffmpeg.exe -hide_banner -v 32 -stats -y -i "%filename%" -vf %vproc% -c:v cinepak -q:v %vq% -af %aproc% -c:a pcm_s8 -f mov "%~n1_.mov"
Pandy, you're awesome
I was having trouble remembering trying to figure out the way VirtualDub works again. Far off, I recall something about scripts. I remember using VirtualDub when I was backing up some of my dvds to 700mb avis on cd-r discs and I probably used it as I tried out other video tools. At some point back then I ended up switching to fairuse wizard for simplicity sake. Don't judge, I love simple!
But in all fairness, I enjoy having several options, especially if I can share the easier ones with newbie encoders who may otherwise end up in the weeds with a complicated encoding technique. I was a tiny bit surprised older video tools like windows movie maker and vlc couldn't encode cvid: I was simply expecting too much from them. Funny, cinepak was used a lot by microsoft in the early nineties, which is why I imagined there would have been a slew of old tools of that period that could encode that video format!
Now, I'm kind of curious whether any version of quicktime for windows ever converted videos to the cinepak mov format as well..
Last edited by cke; 21st Mar 2018 at 08:06. Reason: added stuff
I encoded my first successful cinepak mov video in windows 10
I followed my own advice, usually not a good idea, lol, and I hunted down a windows video converter that works with quicktime 7, similar to using quicktime for mac os x. It's called MPEG Streamclip and the gui is simple enough to set your parameters. The clip I converted had no audio, but the video encoded in cinepak and played on my emu quite well, yeah! It only required me to install quicktime, another not good idea on windows, so I located quicktime lite 4.1.0, which is the one it recommended. both installers checked out on virustotal, probably the one good thing I did do, and so far no issues on my end. the input file was under 800k and the output file was around 3mb, so I'll play with it a little more until I can get good at running scripts again, maybe view some YT tuts on how to do that.
All in all, I feel quite accomplished, at least in figuring out how to encode a video file and if I figure out any other fool-proof encoding methods, I'll post them on here!
ffmpeg (both on video and audio).
AFAIR Microsoft has own vector quantization video codec called 'Microsoft Video 1' (also available in ffmpeg) - IMHO both provide comparable quality, there was also Intel Indeo codec IMHO delivering highest quality, i remember it was time before big hype of 'Microsoft MPEG-4 Version 3' when i've encoded my first HQ RIP from DVB (Star Wars Part 4) and i decided to use Indeo 5 codec.
Cinepak thread triggered my curiosity due Amiga and similarities between Amiga and Macintosh (MC68k ISA used in both machines).
If i recall correctly 'Quicktime 4 PRO' (QT4 PRO was pay version with support conversion on Windows and usually unlocked by keygen) - so you can search for some old QT4 with keygen and try to run it. Also there was some multimedia converter at least on Amiga and Windows called 'MainActor' it may support Cinepak encoding too.
btw - i tested script and average bitrate was less than 500kbpps... and last slight OT - this how video codec using vector quantization looks on plain MC68000 with 7.16MHz clock (audio is compressed also) - funny that sound and video was stored on floppy disk 880KB big - demo runs on 512KB unexpanded Amiga A500 and it is children SAFE till 2:50
The data rate in the demo is the equivalant of a 28kbs stream (3.5k a second). The audio is at 2.5k per second stereo while the video is running at over 12 frames per second using 1k per second
I've always preferred using a gui since you get drop-downs, buttons and other input fields. afaik, ffmeg is command-line based with optional 3rd-party gui interfaces. if you can recommend a gui I could install for it, that would be phenomenal! this way, I can hopefully run your script in a familiar environment and try some encoding on it, the smaller the better. my 3mb sample was 5 seconds long with no audio from an mpeg1 or mpeg2 source online. my win 10 is a tablet with attached keyboard, so the processing power is on the low-end as well
my next step is to figure how to take some of my short mp4 animations and make them either mpeg streamclip-friendly for encoding now that I have that working, which shouldn't be too hard
lol, boy what an 'amiga' online sample!
btw, the QT Lite 4.1.0 I installed auto-added a code for pro during the install, so nothing extra was needed for encoding
Last edited by cke; 21st Mar 2018 at 13:02. Reason: added stuff
Very OT bellow
Being 47 old with very wide music genres interests (even from pre-mediaeval sacral music to terrorcore inclusively - currently listening https://www.youtube.com/watch?v=Dj762UvUimw ) i can say if music is not really bad then it is already OK (i don't like Eurovision contest style music but for example i can listen many hours non stop various performances of for example 'Marc-Antoine Charpentier Te Deum H 146' btw personally i think this should be official Europe anthem as it is pure emanation of Europe https://www.youtube.com/watch?v=16JXmZ0QHMc ).
Well - i believe that all coders on the world like boobs and buties and i can't blame Onslaught for particular content preferences - i would say that i share same preferences - i was able to find original video with same technique coding so original can be compared to coded effect:
original video - https://www.youtube.com/watch?v=mHpR-7-UNZk and vector quantization on plain MC68000 @ 7.16MHz and 512KB of RAM (everything music with video fit on single 880KB floppy) https://www.youtube.com/watch?v=EiMkvW-qSrc - for me it is really impressive as overall audio + video bitrate is 28kbps even with modern computing power it will be hardly provide significantly higher quality.
Last edited by pandy; 21st Mar 2018 at 13:32.
no worries pandy, having the script is a excellent contribution to this video quest, lol!
I will try out a few other tools I've had on a Win7 tower. I remembered installed some freeware tools on it for other video projects in the past, like AviUtil. I will set it back up again this week and I'll try out encoding some videos with it. I'll see if it lists Cinepak among its codecs and I'll post back with my findings and hopefully some positive encoding results!
Couple of thoughts:
Mpegstreamclip does work, but is buggy (see older posts of mine) and hasn't been updated in like a decade.
Qt is deprecated for PC and is known to have security issues, even with latest version, so is NOT recommended.
Ffmpeg is a much preferred modern alternative.
If you HAVE to use those 2 above, it is quite easy to create a VM of XP or something - that can be your "legacy encoder".
But note: Cinepak (like MS Video1) is only a 15 or 16bit-color codec (aka palettized). If you don't want substantial posterization, you will need to dither (and upwardly adjust bitrate accordingly).
Also, unlike Msv1, it has in its vfw and qt implementations, a bug where if you go above a certain bitrate it will slow encoding to a crawl (sometimes freezing altogether).
Last edited by Cornucopia; 26th Mar 2018 at 01:08.
Since I'm mostly aiming at encoding animation using Cinepak, I'm hoping it won't need any or much dithering. I really appreciate the details you shared on the this legacy codec, especially how it relates to posterization and the need for dithering and higher bitrates. My challenge will then most likely be to know what settings, either on a script or gui format, will work best for animated content. I'd imagine newer, more realistic animations will posterize more than older animations.
There is no necessity for ordered dithering to be used, but it is typically used since ordered dithering typically produces smaller frame data due to the way 4x2 or 2x2 pixel blocks are encoded and reused (and better compression means you can have a larger picture or faster frame rate).
Very insightful, pandy!
If you're right, then if ordered dithering is valid for Cinepak, it could help make video encodes smaller and easier to process. I picture it to be similar to patterned dithering, like the type used for older graphics that never looked right on gradient-rich graphics or detailed images but was perfect for solid color GIF-friendly images.
I did forget to mention that I attempted to do a crude Cinepak encode using FFMPEG by imputing something along these lines ( from memory ) as follows:
ffmpeg -i movie.mkv -c:v cinepak -c:a pcm_s8 -filter:v "scale=w=320:h=180" -f movie.mov
I moved to the ffmpeg directory to do the conversion and copied my mkv file to ffmpeg's directory. it went to work but the result did not play back very well, as I expected that it wouldn't. I figured that it may have to do with either a) the video encode had too many frames per second for quicktime to run under 68k or b) I didn't give enough encoding parameters to make the video playable or c) both a and b. The size and video image quality on the encoded file did look promising as far as quality, so I'm guessing that tweaking the parameters will yield a nice encode.
My Win7 Tower's ethernet is not connecting to the router, so anything I do to it has to be copied over a flash drive, which makes doing anything on it a lot slower. Next, I'll copy your ffmpeg script over so I can copy and paste it and then play that encode. I wanted to try my hand at encoding it first just for fun and see how it would turn out!
Last edited by cke; 27th Mar 2018 at 19:28. Reason: addaed stuff
guys, how does one apply a ffmpeg script on the command line in windows? copy and paste after typing in 'ffmpeg' on ffmpeg's directory within cmd did not do anything. I know I'm completely messing this script operation up, lol! I told you I don't have a clue on what I'm doing
I checked my last video and the audio and video played back perfectly on my Win7 tower, so it was just the little quicktime decoder on the 68k end that choked on the video file
cool, that I can do! thanks pandy, I can't wait to see what results I get from your script my friend
I hear you my friend!
I worked on both a centris 660av and a IIci and both were amazing to work with at the time. Aside from my emulator, I also have a Quadra 630 that I haven't been able to make it display video but I hear the Mac boot chime fine on it; if I could get that one running again, I could burn some test videos on CD to try them out. I've never played with amigas, but they sure sound like they're a lot of fun!
I copied and pasted your script into a text file, both as a .bat and .cmd file inside of my ffmpeg folder and tried to drop a video, also in the same folder to encode, but I got nothing. I even tried to run the script from the command line but I got zilch, lol! Did I do it right? I'll try to retrace my steps to see if I missed anything
@set filename=%1 @set vq=8 @set fps=15/1 @set vproc="pp=ac,pp=ac,pp=ac,hqdn3d=5,eq=contrast=256/220:brightness=1/512:saturation=256/224:gamma=16/16,scale=320:-4:sws_flags=spline+accurate_rnd+full_chroma_int+full_chroma_inp,minterpolate=fps=%fps%:mi_mode=mci:me_mode=bidir:me=ntss:vsbmc=1,xbr=2,scale=320:-4:sws_flags=spline+accurate_rnd+full_chroma_int+full_chroma_inp:sws_dither=2:in_range=0:out_range=2,format=pix_fmts=rgb24,pad=320:240:(ow-iw)/2:(oh-ih)/2" @set aproc="pan=mono|FC < 1.414FC+FR+FL+0.5BL+0.5SL+0.25LFE+0.125BR,firequalizer=gain='if(gte(f,25),0,-INF)+if(lte(f,11024),0,-INF)',dynaudnorm=p=1/sqrt(2):m=100:s=20,firequalizer=gain='if(gte(f,25),0,-INF)+if(lte(f,11024),0,-INF)',aresample=resampler=soxr:osr=22050:cutoff=0.990:dither_method=shibata" @ffmpeg.exe -hide_banner -v 32 -stats -y -i "%filename%" -vf %vproc% -c:v cinepak -q:v %vq% -af %aproc% -c:a pcm_s8 -f mov "%~n1_.mov" @pause
Sorry!!! Got mega behind on so much I had to throttle down all my fun stuff!