X16 Movie Maker

Post Reply
User avatar
ahenry3068
Posts: 1223
Joined: Tue Apr 04, 2023 9:57 pm

X16 Movie Maker

Post by ahenry3068 »

SEVENTH iteration of my X16 Movie Maker.

Allows conversion of existing Big Boy Computer videos (mp4, avi, mov...etc) to a format playable on the Commander X16.


A BIRDS VIDEO ** A La Movie Maker **



STEAM BOAT WILLIE



X16 Movie Maker
is dependent on both ffmpeg and ImageMagick being installed.

ImageMagick: https://imagemagick.org/script/download.php
Windows Users please download: Win64 static at 8 bits-per-pixel component.
(X16 Movie Maker was developed using version 6 of ImageMagick, it has not been tested with version 7)

ffmpeg link:https://ffmpeg.org/download.html

Both of these programs must be in your path.



HERES MY NEW CODE
I wrote a CHANGES.TXT in the archive so no long
winded post here. Please read this file.

X16 MOVIEMAKER BETA 7
X16MOVIEMAKER.BETA7.zip
(31.9 MiB) Downloaded 15 times
(YOU MUST: Upgrade BOTH playmovies.prg & assets/vidplaytemplate.prg
mixing versions of these two files will result in standalone Player PRG's not
generating properly
)


History thread with Older versions posted
viewtopic.php?t=8384




X16MovieMaker[/b] binaries for Windows and Linux & QB64PE source are included.
The QB64PE source include $IF OS directive to build on Macintosh. MarktheStrange has successfully tested
a build on MACOS. QB64PE version 4.0 was used. https://www.qb64phoenix.com

Program outputs a MOVIE.SPV & MOVIE.SVA file (Video & Audio) in a few different configurations.
Or an SPV file with Embedded Audio. Movies are either Sprite or Bitmap based.


These files are playable with the included PLAYMOVIES.PRG (playmovies.p8 prog8 source included). Upon playing a Video the playmovies.prg program will give you the option of outputting a standalone PRG to play the converted movie.

PLAYER REQUIRES R48 ROM

NEW PLAYER SCREEN SHOTS
playmovie2.png
playmovie2.png (33.22 KiB) Viewed 453 times
playmovie1.png
playmovie1.png (93.07 KiB) Viewed 453 times


The player Engine is written in 65C02 assembly using ca65. The Engine is contained in PLAYVIDEO.Vx.BIN (x is version #,
5 for current) playmovies.prg & standalone players generated have this file embedded.
(source code included in ASMPLAYER.A000/src/main.s)




No programming skills necessary to use this.

X16MovieMaker does not hold your hand and will let you make a Movie that really will not play on the X16's hardware constraints. But I wanted the program to be more powerful at the risk of being a little less user friendly. Stay with the defaults and you should be ok. Play more if you wish.



DEVELOPERS NOTE: I have started to develop documentation. I have a few different Video types
defined and plan for those definitions to remain. There are 256 possible TYPE's with my current header
I expect that to be plenty. If anyone wants to claim an unused TYPE slot I'm happy to incorporate it.

I need frame type and a routine to read from file and put frames on the screen, the routine should do
a CHKIN on either 4 or 6 which should already be open and at the correct position. 4 is the Audio
LFN so a CHKIN on 4 won't be necessary actually but then your file must have Audio in between the
Video frames. If using 6 your Audio file should be 8 bit single channel Audio. Audio bytes per frame
of your video should be between 1024 & 3096 bytes.
Last edited by ahenry3068 on Tue Apr 22, 2025 12:20 pm, edited 30 times in total.
Xiphod
Posts: 600
Joined: Thu Apr 15, 2021 8:05 am

Re: X16 Movie Maker

Post by Xiphod »

I got it to work.

Those interested in this stuff will know most of the steps. But just some quick reminders:

- Add ffmpeg to the PATH, like PATH=%PATH%;c:\ffmpeg\bin;
- ImageMagick installer pollutes itself into the system PATH environment automatically

- was confusing for PLAYMOVIE.BAS you have to use BASLOAD on it, not regular LOAD. It will still LOAD, but then doing a LIST remains blank despite a sizeable load address range being reported.

- 203MB MPEG ballooned into 1976xPNG frames taking 833MB.
- Those PNGs got squeezed down to 35MB SPV file. (8BPP, standard resolution, not high)

- rename the resulting audio.out to <filename>.SVA (might help if PLAYMOVIE just ignores audio if the SVA doesn't exist; in my case the video didn't have any actual audio, and so the resulting SVA was just 3MB of clicky static)

- SPACE to pause worked well.

EDIT: disregard ESC issue, I had missing DPAL.BIN on the "export to SD" step.
- ESC to exit didn't work very well. It partial reset and showed a "FILE NOT FOUND IN 136" error (so like the program was still resident, not a full reset). And the old color palette was still active after ESC.


Didn't try all the combinations of outputs, guess I used 8BPP.


Still, pretty E-Z to make an MPEG encoded down to this X16-compat video. Just a few simple questions, as advertised :)
Xiphod
Posts: 600
Joined: Thu Apr 15, 2021 8:05 am

Re: X16 Movie Maker

Post by Xiphod »

Wondering, if at the end of the PLAY, it can suspend at the last frame?

Then we could overlay some text, and resume the next video? (is this mode $80? one of them, hi or lo?) So then you could chop things up into several SPV files, stop a point and annotate some text on it. Or heck, even do a "choose your own adventure" kind of thing, where you make a choice and it goes to a programmed next-video file. I mean could do this yourself in the generated PRG ?

I didn't fully look at that generated PRG - does it make a text file then do BASLOAD on it?
User avatar
ahenry3068
Posts: 1223
Joined: Tue Apr 04, 2023 9:57 pm

Re: X16 Movie Maker

Post by ahenry3068 »

Xiphod wrote: Fri Jan 17, 2025 4:59 am Wondering, if at the end of the PLAY, it can suspend at the last frame?

Then we could overlay some text, and resume the next video? (is this mode $80? one of them, hi or lo?) So then you could chop things up into several SPV files, stop a point and annotate some text on it. Or heck, even do a "choose your own adventure" kind of thing, where you make a choice and it goes to a programmed next-video file. I mean could do this yourself in the generated PRG ?

I didn't fully look at that generated PRG - does it make a text file then do BASLOAD on it?
Those are all good ideas and this is Work in Progress so I will take that all into consideration. You could actually do some of this right now if you go into the BASLOAD source code. (Not all of it though, the core is Machine Language, source also included, but not as easy to work with or Grok).

The generated PRG uses a TEMPLATE.BAS that's part of the packages. My code does generate a small piece of the code in an file INCLUDED from TEMPLATE.BAS (MOVIE.DEF)

I think I've got the audio.out renaming thing fixed in the latest version. I haven't tested the Windows build as extensively as the Linux build. (Just made sure it started up and ran through one conversion). I won't go into tech details but the bug had to do with "/" vs "\" in filenames.
User avatar
ahenry3068
Posts: 1223
Joined: Tue Apr 04, 2023 9:57 pm

UPDATE: X16 Movie Maker

Post by ahenry3068 »

Some **MOVIE MAKER SCREEN CAPTURES**
MAKER.png
MAKER.png (76.72 KiB) Viewed 14299 times
MAKER2.png
MAKER2.png (273.96 KiB) Viewed 14299 times
MAKER3.png
MAKER3.png (48.26 KiB) Viewed 14299 times
MAIN POST: viewtopic.php?t=8226
User avatar
ahenry3068
Posts: 1223
Joined: Tue Apr 04, 2023 9:57 pm

Posted Movie Maker BETA 7

Post by ahenry3068 »

POSTED

SEVENTH BETA Version of:

X16 Movie Maker
viewtopic.php?t=8226
Post Reply