Guide to videotoblc?

I’m at the video stage, but it seems that when I try to use videotoblc it says i dont have it in the directory, as you said. How would i get the video into the directory? It’s already in the videotoblc folder.

orangesockninja@LAPTOP-16K7990H:/mnt/c/Users/orang/OneDrive/Documents/proffieos/OS7XALPHA/ProffieOS/videotoblc$ ./videot
oblc robo.mp4
Executing: ffmpeg -i "$FILE" -an -f yuv4mpegpipe -
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
robo.mp4: No such file or directory
**while reading header: Success

So is robo.mp4 in that directory?
Try using ls -l to see all the files from the linux perspective.

LOL

I had it named robo.mp4 so linux saw it as robo.mp4.mp4

That should be good. Also you said that the audio could be extracted from the video using ffmpeg?

Yeah gonna wait till tomorrow to try to tackle this one… Any help is appreciated but its been enough troubleshooting for me today lol

Something like this maybe: (untested)

ffmpeg -i robo.mp4 -vn -ar 44100 -ac 1 -f wav hum.wav

@OrangeSockNinja I hope you’ll get this down to a science and then do a write up for the Documentation for Windows version.

Ok so for the bladestyle in the config, is it similar to the POV bladestyle where it’s just telling the saber to read the file, or is it a specific bladestyle I have to make by hand?

Well, you have to choose if you want the blade to synchronize with the TRACK or with the HUM.
If you want to synchronize with the TRACK, use FromFileStyle.
If you want to synchronize with the HUM use FromHumFileStyle.

Either way, the filename for the BLC must match the file your synchronizing with.
So if you have font01/hum01.wav on your SD card, and you want the BLC file to synchronize with it, then it must be called font01/hum01.blc.

Both FromFileSyle and FromHumFileStyle takes four parameters:

  1. LEDS
  2. OFFSET
  3. FPS NUMERATOR
  4. FPS DENOMINATOR

Unless you’re doing fancy things with multiple blades, LEDS should always be 170 and OFFSET should always be 0.
FPS NUMERATOR and FPS DENOMINATOR is a fraction that defines the FPS ( FPS = FPS NUMERATOR / FPS DENOMINATOR) In the vast majority of cases, this should be one of:

  • 60/1
  • 60000/1001
  • 50/1
  • 30000/1001
  • 25/1
  • 24/1
  • 24000/1001
    Depending on what frame rate your video actually use.

Here is an actual example with 25 fps frame rate I use in my K4 saber:

StyleNormalPtr<FromHumFileStyle<170,0, 25,1>, WHITE, 300, 800>() 

Thank you, this is incredibly helpful. Gonna get this set up when I’m off work. Might even have it running tonight

Seems like the prof is doing most of the documentation lol

That worked great! Working on the saber rn

30000/1001

is this 30fps?

nvm got it

Hey so its been over a month and while I have 99% of this down to memory I can’t remember how to get this particular thing running. Is it ffmpeg or is it still in the videotoblc directory? Sorry for bringing this back up lol, figured anyone else looking into this could use the info as well

Edit: I actually had the bladestyle saved so I no longer need this but it’ll still be useful to remember how to get it running

So weird how the force works. I was going to play with this tonight actually.

Been a hot minute, do you think that 144 FPS is possible to display on a blade? I’m still experimenting with videotoblc for audio visualization purposes but higher frames = better looking visualizers, but is the board capable of running that without lagging?

I’m fairly certain that the code will just skip frames if you ask for a higher frame rate than what ProffieOS is able to generate, this may or may not look better than not skipping frames depending on what the effect is.

Also, I think the File class takes ~1ms to fetch a frame and show it, which would mean that it is theoretically able to keep up with frame rates up to 1000 fps. In practice, 1000 fps is probably not going to work, but 144 should not be a problem I think.

1 Like

Returning to this after a year or so of no issues, trying to convert the mp4 to the blc.

after entering

./videotoblc skrillex.mp4 >skrillex.blc

begins compiling. Video is 144fps and about 90 seconds so it gives me the warning:

Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2

Afterwhich it continues compiling, but it continues far past what it should be. Here’s where it’s at:

frame=1660001 fps=4084 q=-0.0 size=21019114kB time=00:00:01.66 bitrate=103728000.4kbits/s dup=1659761 drop=0 speed=0.004

and it continues repeatedly, seemingly going forever. Not sure why. Any remedies? It’s passed 4 million frames at this point.

I think you have a video with a super-high framerate, but where most frames are just a repeat of the previous frame. I’ve seen some tools generate videos like this, but I’m not sure why. Maybe for variable frame rate videos?

Usually the solution is just to run the video through ffmpeg, handbreak, or some other tool that can re-package the video with the right frame rate.

Re-ran the video through ffmpeg, reformatting it to exactly 144fps. I re-read the file summary, and it said the video was 144.02fps which I think was giving it some trouble.

Reran videotoblc and it immediately rendered correctly. Noted for future projects! Thanks.

Also forgot about naming conventions. Lol