Project VideoPlayerMFD -- Test thread [CLOSED]

dgatsoulis

ele2png user
Donator
Joined
Dec 2, 2009
Messages
2,021
Reaction score
623
Points
128
Location
Sparta
This thread is no longer maintained by me, as the project evolved into a full Media Player MFD. Please see thread:

This is the test thread for VideoPlayerMFD.

1761095752171.png


It would be great if a few members of the forum could test this and give me some feedback. I'd like to check if there are any bugs and make the final release a bit more polished (if needed).

How to use:
1. Unzip in your Orbiter root directory and everything will go in its place.
2. Place any videos that you want to watch in the VideoPlayerMFD\OriginalVideos folder
3. Double-click on the file "ProcessVideos_default.bat" located in he VideoPlayerMFD folder. --Your original video(s) will be moved to the ProcessedVideos folder and a copy of their audio will be created --read the manual to find out why this preprocessing step is needed.
4. Run Orbiter_ng.exe and activate the VideoPlayerMFD in the modules tab.
5. In the Parameters tab, set your MFD refresh rate to 0.03 (or lower).
5. Run any Orbiter scenario, open an MFD and select the VideoPlayerMFD.
6. Press LOAD to see the list of playable videos. (These are located in the VideoPlayerMFD\ProcessedVideos folder)
7. Press PLAY to watch the video.


Notes:
This was created and tested in Orbiter2016 with D3D9. I haven't tested in Orbiter2024 (probably needs a recompile for that).
A test video is included in the release. Please try your own videos as well. They may be small clips or entire movies.
For subtitles, place an srt file (named exactly the same as the video) in the ProcessedVideos folder. When the video is playing, press the SUBS button.
If you are using XRSound and you want to disable the ATC chatter (it can be annoying when you want to watch a video), press the ATC button to toggle it off.

Please test and report your findings here.

I am interested in:
-Frame-rate impact on your Orbiter simulation --it should be negligible.
-Audio/video problems --does the video play at an acceptable speed? (~30 fps --remember to set your MFD refresh rate correctly)
-Audio/Video synchronization --the sync should be near perfect. Although it might drift on an individual frame, there is a self-correcting mechanism that prevents it from going out of sync.
-Do you hear the audio clearly? --XRSound is not needed, the MFD plays audio using the native Windows Direct Sound.
-When you switch views, (different view in the cockpit or external view), does the MFD persist? (video and audio should keep playing normally, or pause and continue from where it left off).
-Anything else you would like to add/report.

If you find a bug:
-Please check that you followed the installation steps correctly and also read the manual.
-Please report bugs in a way that can be reproduced by me or others. "HELP it won't play my video!" types of comments are not helpful.
-The source code is included in the zip, under standard MIT license (you can do pretty much what you want with it).

Thanks in advance for testing!
 
Last edited:
Thank you. I will test all its features with Orbiter 2024 in a few days.
 
Thank you. I will test all its features with Orbiter 2024 in a few days.
Thanks. Just remember, as I mentioned in the notes above, the VideoPlayerMFD was compiled and tested in Orbiter2016 with D3D9.
I don't think it will work in Orbiter2024 without a recompile. If you can, test in Orbitre2016 first.
After that's done, I'll see about porting it to Orbiter2024.
 
Just a very quick test, Win10. Test file and .bat, video replay works great! So far no issues, minimal fps loss.
Continues play when on external view. Note also continues play when Orbiter is paused.
Tried another .mp4, threw a few errors, maybe because there's no sound? It moved the file and playback works.
Here's the console output and a screenie.:)
Code:
Starting FFmpeg Video Processing...
Source Folder: OriginalVideos
Output Folder: ProcessedVideos
FFmpeg location: ffmpeg-master-latest-win64-gpl-shared\bin\ffmpeg.exe

Output directory already exists.
Starting audio extraction (11kHz PCM) and moving videos...
Processing: "bandicam 2024-03-26 04-52-40-447.mp4"
ffmpeg version N-121432-g6b961f5963-20251014 Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 15.2.0 (crosstool-NG 1.28.0.1_403899e)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libxml2 --enable-libvmaf --enable-fontconfig --enable-libharfbuzz --enable-libfreetype --enable-libfribidi --enable-vulkan --enable-libshaderc --enable-libvorbis --disable-libxcb --disable-xlib --disable-libpulse --enable-opencl --enable-gmp --enable-lzma --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-libplacebo --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-libzmq --enable-lv2 --enable-libvpl --enable-openal --enable-liboapv --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-libvvenc --enable-whisper --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra-ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20251014
  libavutil      60. 13.100 / 60. 13.100
  libavcodec     62. 16.100 / 62. 16.100
  libavformat    62.  6.101 / 62.  6.101
  libavdevice    62.  2.100 / 62.  2.100
  libavfilter    11.  9.100 / 11.  9.100
  libswscale      9.  3.100 /  9.  3.100
  libswresample   6.  2.100 /  6.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'OriginalVideos\bandicam 2024-03-26 04-52-40-447.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: mp41
    creation_time   : 2024-03-26T09:52:41.000000Z
    encoder         : Bandicam 7.1.0.2151 / GDI(Enhanced 1) / Nvidia NVENC
    encoder-eng     : Bandicam 7.1.0.2151 / GDI(Enhanced 1) / Nvidia NVENC
  Duration: 00:02:17.70, start: 0.000000, bitrate: 458 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1056x896 [SAR 1:1 DAR 33:28], 457 kb/s, 8.88 fps, 30 tbr, 30k tbn (default)
    Metadata:
      creation_time   : 2024-03-26T09:52:41.000000Z
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
Output #0, wav, to 'ProcessedVideos\bandicam 2024-03-26 04-52-40-447.wav':
[out#0/wav @ 0000019cfa8aaf00] Output file does not contain any stream
Error opening output file ProcessedVideos\bandicam 2024-03-26 04-52-40-447.wav.
Error opening output files: Invalid argument
        1 Datei(en) verschoben.

All processing complete. Files moved to "ProcessedVideos".
Drücken Sie eine beliebige Taste . . .
0752.jpg
 
Just a very quick test, Win10. Test file and .bat, video replay works great! So far no issues, minimal fps loss.
Continues play when on external view. Note also continues play when Orbiter is paused.
Tried another .mp4, threw a few errors, maybe because there's no sound? It moved the file and playback works.
Here's the console output and a screenie.:)
Code:
Starting FFmpeg Video Processing...
Source Folder: OriginalVideos
Output Folder: ProcessedVideos
FFmpeg location: ffmpeg-master-latest-win64-gpl-shared\bin\ffmpeg.exe

Output directory already exists.
Starting audio extraction (11kHz PCM) and moving videos...
Processing: "bandicam 2024-03-26 04-52-40-447.mp4"
ffmpeg version N-121432-g6b961f5963-20251014 Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 15.2.0 (crosstool-NG 1.28.0.1_403899e)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libxml2 --enable-libvmaf --enable-fontconfig --enable-libharfbuzz --enable-libfreetype --enable-libfribidi --enable-vulkan --enable-libshaderc --enable-libvorbis --disable-libxcb --disable-xlib --disable-libpulse --enable-opencl --enable-gmp --enable-lzma --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-libplacebo --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-libzmq --enable-lv2 --enable-libvpl --enable-openal --enable-liboapv --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-libvvenc --enable-whisper --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra-ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20251014
  libavutil      60. 13.100 / 60. 13.100
  libavcodec     62. 16.100 / 62. 16.100
  libavformat    62.  6.101 / 62.  6.101
  libavdevice    62.  2.100 / 62.  2.100
  libavfilter    11.  9.100 / 11.  9.100
  libswscale      9.  3.100 /  9.  3.100
  libswresample   6.  2.100 /  6.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'OriginalVideos\bandicam 2024-03-26 04-52-40-447.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: mp41
    creation_time   : 2024-03-26T09:52:41.000000Z
    encoder         : Bandicam 7.1.0.2151 / GDI(Enhanced 1) / Nvidia NVENC
    encoder-eng     : Bandicam 7.1.0.2151 / GDI(Enhanced 1) / Nvidia NVENC
  Duration: 00:02:17.70, start: 0.000000, bitrate: 458 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1056x896 [SAR 1:1 DAR 33:28], 457 kb/s, 8.88 fps, 30 tbr, 30k tbn (default)
    Metadata:
      creation_time   : 2024-03-26T09:52:41.000000Z
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
Output #0, wav, to 'ProcessedVideos\bandicam 2024-03-26 04-52-40-447.wav':
[out#0/wav @ 0000019cfa8aaf00] Output file does not contain any stream
Error opening output file ProcessedVideos\bandicam 2024-03-26 04-52-40-447.wav.
Error opening output files: Invalid argument
        1 Datei(en) verschoben.

All processing complete. Files moved to "ProcessedVideos".
Drücken Sie eine beliebige Taste . . .
View attachment 45333
Thank you for the quick test!
Two great catches!
The video keeps playing when Orbiter is paused (the audio does and the video is frozen and then syncs with the audio when you resume). I should add a flag to get the orbiter pause and also pause the audio/video.
The batch file throws an error when there is no audio to process. I should add a more graceful fallback message. The default .bat file's job is to extract the audio to a separate file, so if there is no audio, throw a message and move the video to the processed folder. Great to hear that it worked anyway!
 
I tried the MFD with my Orbiter 2024 (sadly, I don't have Orbiter 2016 installed on my computer). I ran the ProcessVideos_default.bat script, got "test.mp4" and "test.wav" files in "ProcessedVideos" directory, launched Orbiter and got the error after choosing Video Player MFD from MFD list:

Без імені.png

Also, I attach my Orbiter.log.
 

Attachments

Didn't expect to work with Orbiter2024. It needs a recompile against the new API (and turn it to x64 I think? I don't know, I haven't looked into creating MFDs for Orbiter2024 yet).
Thanks for trying anyway.
 
Back
Top