VOGONS


First post, by caiot5

User metadata
Rank Newbie
Rank
Newbie

Hi guys, recently I wanted to convert some old videos (that archived under modern formats) to their original formats to be able to reproduce them in a retroPC.
However I found that it was trickier than I initially thought. I'm a linux user and that said, I was willing to use ffmpeg to convert those videos but that's where trouble begins:
- FFMPEG does support real video 1.0 format (rv10), but it has no available encoder for SIPR audio, instead it provides ra_144 (RealAudio 14.4k) which crashes the RealPlayer G2 under my 486 system (but I'm perfectly able to play videos with rv10 and SIPR audio), if I try to encode it without audio, it works.
- FFMPEG does support mpeg1video, however looks like I'm stuck with mp2 audio, which is also too new and would require a separate decoder for audio (I wanted to use the native mediaplayer and decoders which are known to work with mpeg1video since the ones from the Win95 CD work fine).

Does anyone have a clue/tip of how can I do that?

Reply 1 of 10, by dominusprog

User metadata
Rank Oldbie
Rank
Oldbie

Use Kenlive. Add a new profile with Avi as container and Cinepak as the codec.

The attachment Screenshot_20240118_075238.png is no longer available
The attachment Screenshot_20240118_075315.png is no longer available

Duke_2600.png
A-Trend ATC-1020 V1.1 ❇ Cyrix 6x86 150+ @ 120MHz ❇ 32MiB EDO RAM (8MiBx4) ❇ A-Trend S3 Trio64V2 2MiB
Creative AWE64 Value ❇ 8.4GiB Quantum Fireball ❇ Win95 OSR2 Plus!

Reply 2 of 10, by leileilol

User metadata
Rank l33t++
Rank
l33t++

but that's also only as far as ffmpeg, which can also do cinepak / msadpcm AVIs - a format which is not specified by the OP.

apsosig.png
long live PCem

Reply 3 of 10, by dominusprog

User metadata
Rank Oldbie
Rank
Oldbie
leileilol wrote on 2024-01-19, 01:45:

but that's also only as far as ffmpeg, which can also do cinepak / msadpcm AVIs - a format which is not specified by the OP.

Sure, but AVI works out of the box.

ffmpeg -i file.mp4 -threads 0 -vcodec cinepak -vf scale=352:-4,setsar=1:1 -acodec mp2 file.avi

Duke_2600.png
A-Trend ATC-1020 V1.1 ❇ Cyrix 6x86 150+ @ 120MHz ❇ 32MiB EDO RAM (8MiBx4) ❇ A-Trend S3 Trio64V2 2MiB
Creative AWE64 Value ❇ 8.4GiB Quantum Fireball ❇ Win95 OSR2 Plus!

Reply 4 of 10, by Falcosoft

User metadata
Rank l33t
Rank
l33t
dominusprog wrote on 2024-01-19, 09:31:
Sure, but AVI works out of the box. […]
Show full quote

Sure, but AVI works out of the box.

ffmpeg -i file.mp4 -threads 0 -vcodec cinepak -vf scale=352:-4,setsar=1:1 -acodec mp2 file.avi

But as OP said this way audio is still not playable on OP's gear since Mediaplayer has no mp2 audio decoder.
So instead '-acodec pcm_s16le' should be tried.
16-bit PCM audio can be played without any special audio codecs and it can be used in AVI container.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 5 of 10, by zyga64

User metadata
Rank Oldbie
Rank
Oldbie

mp2enc from mjpegtools package (I'm using Debian 12) can encode Mpeg1 Layer 1 audio (and of course Layer2 which is default).
So, you should be able to mux it later with mpeg1 video into mpg container with ffmpeg.

Scamp: 286@20 /4M /CL-GD5422 /CMI8330
Aries: 486DX33 /16M /TGUI9440 /GUS+ALS100+MT32PI
Triton: K6-3+@400 /64M /Rage Pro PCI /ES1370+YMF718
Seattle: P!!!750 /256M /MX440 /Vibra16s+SBLive!
Panther Point: 3470s /8G /GTX750Ti /HDA

Reply 6 of 10, by caiot5

User metadata
Rank Newbie
Rank
Newbie

Thanks @dominusprog and @Falcosoft for the contributions. I ended up using both of your suggestions (.avi format + pcm_s16le) and it worked natively on Win95 RTM.
However I keep wondering if is it possible to encode rv10 with native audio to this day by using any method possible. The reason behind that is that I have a YT channel about old computers/retrocomputing/hardware/software and I wanted to do some videos about how video streaming used to be in the old days, by using some old videos that actually surrounded the internet (and gone "viral") by '95 , '96 and '97 (like the Chipmunk Pizza Guy Crash and so on).

Reply 7 of 10, by caiot5

User metadata
Rank Newbie
Rank
Newbie

Looks like the warpstream (protoweb project) somehow did it (it converts to old realplayer format with audio support)
I know it should be possible with ffmpeg, just couldn't figure it out yet.
Anyone has any news or maybe insides about the warpstream method?

Reply 8 of 10, by digger

User metadata
Rank Oldbie
Rank
Oldbie

I understand the charm of converting the videos so that they would play out-of-the-box on a period-correct set-up. But how feasible would it be to develop a codec pack with support for modern codecs and container formats for Windows 9x?

I know such older systems would struggle especially with more modern video codecs, but perhaps this could be off-loaded to some kind of hardware-based solution. Perhaps a PCI version of the PicoGUS or PicoMEM with a firmware that would make it act as a hardware video codec accelerator.

MPEG-1 and MPEG-2 hardware accelerator boards existed back in the day. Why not develop something similar that can accelerate modern stuff like h.264 and AV1?

I know, easier said than done. But crazier projects have been done in this forum.

Reply 9 of 10, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi! Such thing exists, there's the BCM970012 Broadcom Mini PCIe card, for example.
It was meant for netbooks with Windows XP, for example. Asus Eee PC etc.
https://en.wikipedia.org/wiki/Broadcom_Crystal_HD

A converter card to PCI would be needed (PCIe-PCI bridge), and some WDM drivers for Windows 98SE (if there are any).

Windows 95 isn't supported, I think. Too old and limited, I think. Who can write VXDs for it?

Windows 98SE was the oldest Windows in the 2000s, by comparison.
It also shares WDM driver code with 2k/XP, so many devices had shipped drivers for both 98SE/Me and NT5 line.

In general, hard-/software requirements in the 2000s often listed Win98SE/Me/2000/XP and Mac OS 8, 9. Later, Vista was added. Sometimes Linux 2.4 or 2.6 was among the list, too.

Windows 95 was basically dead by that time, if memory serves.
Sometimes, NT 4 was being mentioned, still, however, if it was a professional product.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 10 of 10, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Yeah, the Broadcom Crystal HD is indeed a good example. And it wouldn't be impossible to write a Windows 9x VxD driver for it, albeit not trivial. It would help if the sources of other such Windows 9x drivers, such as for the RealMagic video accelerator cards, were available as a reference.

Perhaps someone could inquire with Sigma Designs if they would be willing to release the sources of their old Windows 3.x and Windows 9x drivers for their RealMagic MPEG-1 and MPEG-2 ISA and PCI cards? It's not that any of it contains any IP that would still be considered to be of economic value these days, and it would be beneficial for historic preservation, as well as the retro hobbyist community.

But perhaps an easier approach would be some kind of browser plugin that would stream any embedded video or audio on a page through a web proxy running on something like a Raspberry Pi, which would then transcode any video in modern formats (h.264, AV1, etc) to something like MJPEG and have the resulting MJPEG stream be shown on the vintage machine instead. Ditto for audio (AAC or Opus to WAV). MJPEG and WAV don't have (good) compression ratios, but assuming that the transcoder would be somewhere on the LAN, that wouldn't matter, and it would allow high quality playback with minimal CPU utilization, even on vintage Windows 9x systems.

If a web proxy is already used on a period-correct Windows 9x machine to offload modern TLS support (https-to-http), then audio and video transcoding could perhaps be combined and integrated with that.