New Multimedia Player & Help

  • (2 Pages)
  • +
  • 1
  • 2

15 Replies - 997 Views - Last Post: 24 June 2015 - 08:57 AM

#1 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

New Multimedia Player & Help

Posted 16 June 2015 - 05:51 PM

Yo! I will try to be short on this.

Im creating this Player in order to make much simple and light player that can cover everything that standard users needs (simple, got all), with some additional features (eg. frame by frame) that will advanced users like.
Player are written in LUA, so its very fast and light, free for all without any kind of ADS and similar annoying things, so im not making any money from this, but its not open source, maybe it will become in future, peoples always can do reverse engineering to see a code, or crack BIN.

Its made for Windows OS. Player works with DirectShow, and with him will be 32 and 64 bit AC3/LAV/VSF optimized by me for users who simply wanna install Player and use it for everything. LAV Audio/Video because its small, simple, got clean code against FF, and it support much more for decoding then others, even it dont support, he will figure out as always. It also supports new technologies like GPU decodings eg. CUDA and IntelSync, 24p Playback, etc. LAV will be also used for internal subtitles, while VSF will be used for external. As Audio filter, i think the best one is AC3, it can cover everything possible, including some cool stuffs like creating custom equalizers and matrix.

Player will be able to play any kind of audio and video files, and also will be able to show most popular pictures as slideshows.
For now it got some problems because of LUA, like drag and drop in GUI, its not possible because Engine starts and runs LUA code, so LUA cant handle any outside drag and drop thing, but it will be probably possible in future. Another problem is Non-Unicode in LUA, users can define languages in Windows OS for Non-Unicode softwares, but its again language limitations, eg. if you set English, Player will not be able to work with Russian files, because Englist dont have that characters, so Player cant hold unknown characters as variables or work with them, like čćžšđ.mp3 for Player will be probably cć???.mp3, adn that file doesnt exist, even it exist, if it got in ID3 tags unknown characters, its again a problem. So i will find out a way to make it.


Im working alone on this project and i will need some little help in future for:

1. Skin creating. For now i made 2 skins, Default and Classic. Player is made of ~60 small images (PNG/32) in 3 groups (fixed as 1 image without transparent, hover as 2 images like on/off without trans. and buttons in ZIP without compression like 4 images as normal, highlight, click, disabled with trans. and mainfest, thay are actually bigger surface, so any shape style can fit), including INI file with HEX colors for things that is not image, like text colors, border colors and similar. In Player, there is skin folder, each folder name there will be detected as possible skin to set in Player, so everyone can make his own skin, its easy, but editing 60 pictures can bite a long time. More peoples who will make versatility skins is good thing.

2. Translation for several languages. Its in language folder similar to skins for Player, each file name is language name with INI extension, like English.ini for English, easy edit text (sentence or word) in that file to create new languages, eg. edit English from ErrorOnPlay = "[Error]"; to ErrorOnPlay = "[Greška]"; to make Croatian. There is no too much to translate, and good peoples can make it very quick.

3. Extensions finders. Player will have full list of all known extensions, but lots of peoples will like to be able to play some special formats, eg. from games or other things, and that needs to test, see and report. Eg. someone found MPQ extensions from Warcraft III that is a video format. There is much more unknown media extensions.

4. Testers, who will test Player, find bugs, report it, give some idea, etc. For now its easy, because its portable, but in future with codecs that must register in OS to be tested can be a problem for advanced users with DirectShow builds.


In last performance tests i used MPC because its probably the most light and fast player. It was tested with same video file AVC/MKV, 1280x720, 2067Kbps, 23.97FPS, 48KHz, 2Ch, 354MB. And results was very good, so i belive in this Player.

Manta for start needs: 0.8MB or 5-6MB of RAM
MPC for start needs: 0.5MB or 3-4MB of RAM
Manta have 9.31MB, MPC 5.51MB, with some optimizations in the end it will be very close.

Manta for productions use: 21%-26%-38% of CPU (Min/Avg/Max)
MPC for production use: 16%-24%-37% of CPU (Min/Avg/Max)
Manta is in debug and got lots of overrated codes with repeatings every 1MS or similar, so 1% of difference is miracle. Test was performed without GPU, on T9400 CPU from 2008., on new PCs its for sure much lower usage.

Manta while playing use: 83MB-85MB-96MB of RAM (Min/Avg/Max)
MPC while playing use: 81MB-102MB-104MB of RAM (Min/Avg/Max)
Same decoders, so its hit directly on Player. Min. was higer for Manta because of start usages, on Max. there is no much differences, while on Avg. is high differences, probably because of good memory limits and garbage collections of LUA.


Here is Download for current version:
http://www.complex-s...anta_player.zip

And latest log:
-Added fullscreen for videos (its bugged and non-planed, i got another ide for fulscreen anyway)
-Mute finished (off, 0%)
-Volume bar finished (set in 6 equal levels, 42.5, 85, 127.5(50%), 170, 212.5, 255(100%))
-Fixed starting with broken media (in case of repeating mode while is only 1 thing on playlist, and that things is broken; first error for same media will be ignored, next time Player got error on same media it will be stoped)
-Fixed shuffle (for 1 media on playlist, because of random picks, while cant pick the same)
-Included AutoStart for media (user will be able to set ti, currently ON; things that got opened will go on play, if its list, the first thing of included/added list will play)
-Includec Scan Mode (user will be able to change it; currently set on 5SEC; this mode is connected with None Mode that play everything to the end and stops)
-Set limit on timer for videos (images) that endless repeating (like endless GIF; also works for audio)
-Added some extensions for files (*.bmp, *.jpeg, *.jpg, *.png, *.apng, *.mng, *.avi, *.mp3)
-Added subfolder option for add folder (user will be able to set it, currently ON)
-Reserved extensions of files for add folder (user will be able to change it; *.mp3 is currently set)
-Added Play Previous limit (users will be able to change it; currently set on 5SEC; press Previous, if media is under firat 5SEC, you will paly previous, if its more then 5SEC, same media will play again from start)
-Timers from 1MS set on min. 10MS (for performances)
-Added 32 and 64 bit codecs (its not in use)
-Removed Classic skin (because of changes)
-Experimental Tray icon and options set (do you think it will be better to make Menu/View menu with Windown menu?)
-Cleansed and optimized whole code
-Fixed some bugs and small improvements

Posted Image

Is This A Good Question/Topic? 0
  • +

Replies To: New Multimedia Player & Help

#2 macosxnerd101   User is offline

  • Games, Graphs, and Auctions
  • member icon




Reputation: 12683
  • View blog
  • Posts: 45,866
  • Joined: 27-December 08

Re: New Multimedia Player & Help

Posted 16 June 2015 - 05:53 PM

Your thread has been moved to our Volunteer Jobs and Collaborative Teambuilding forum. Please remember that threads seeking volunteer help, a group to learn together, or a group to work on a hobbyist project do not belong in the general help forums or our paid jobs forum.
The paid jobs forum is strictly for jobs for which you intend to pay some definite sum in a negotiable currency. Shares in future profits, in-game currencies, and promises of possible employment do not qualify.
Was This Post Helpful? 0
  • +
  • -

#3 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

Re: New Multimedia Player & Help

Posted 16 June 2015 - 06:08 PM

Didnt know. Got it. Thank you.
Was This Post Helpful? 0
  • +
  • -

#4 Skydiver   User is offline

  • Code herder
  • member icon

Reputation: 7244
  • View blog
  • Posts: 24,556
  • Joined: 05-May 12

Re: New Multimedia Player & Help

Posted 16 June 2015 - 06:42 PM

It's too good to be true. You actually implemented all those codecs in LUA? Wow! How did you get the LUA interpreter to run your code fast enough to keep up the bit rate needed by those modern codecs? Equally impressive is how good you get LUA to talk COM to be able to use DirectShow as well?
Was This Post Helpful? 0
  • +
  • -

#5 Skydiver   User is offline

  • Code herder
  • member icon

Reputation: 7244
  • View blog
  • Posts: 24,556
  • Joined: 05-May 12

Re: New Multimedia Player & Help

Posted 17 June 2015 - 05:57 AM

As a quick aside, my virus checker thinks that the tray.dll inside your zip file is infected with the Evo-gen virus.
Was This Post Helpful? 0
  • +
  • -

#6 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

Re: New Multimedia Player & Help

Posted 17 June 2015 - 08:23 AM

What stupid forum. 2 times i write a whole post of 30min, click on post and http://www.dreaminco...rums/index.php? was open, didnt post, whole my text lost second time, back doesnt returning text. I will answer later, again.

This post has been edited by Radius Nightly: 17 June 2015 - 08:27 AM

Was This Post Helpful? 0
  • +
  • -

#7 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

Re: New Multimedia Player & Help

Posted 17 June 2015 - 11:32 AM

I think there is much better players then this one for now, he, he. Codecs are not implemented in Player/LUA code, thay are in codec folder as ActiveX and DLLs that works on Windows with DirectShow. Basicly Player dont doing anything, he just using Windows/integrated APIs to do a job, and just showing results (again based on something other). So if you got your own DirectShow build, with your decoders, it will work just fine.

About speed, LUA is very fast, as far as i know its one of the fastest language. Its used in games for easy scripting where with minimal available resources you need max./instant speed, like Damage, HP and MP. First CUDA was mane by nVidia in LUA, and its still faster then in other languages, so i guess its hell of a speed. I sow some LUA Players for Android, stand-alone, with integrated codecs (not in my case), and it was always presented as ultra light and ultra fast.
In configuration.ini you can add in new line Debugging();, and start main.exe. You will get Debug window, it will show some of executed codes that returning something, to simply see what fail or success. Then try play around with Player, you will see how slow it is, probably because of high showing text speed, but even you close Debug window, it will still be slow, while in background is a different story. So maybe you talk about that speed.

Avast is not so good, but it probably have the most hard Heuristics, so it can find lots of things, but Heuristics is like PUA and false positive, not meaning its a threat. Its actually a strange, packed ZIP is "infected", but unpacked its clean. Tray.dll using Windows to create system tray icon, and all other things, so he needs to gather some informations before starts working, so yeah, he needs a Windows, but it doesnt meaning he stealing something, or infecting anything. Usually when some application try to gather some information from System, for AV/Heuristics its possible threat. I was planing to pack it with UPX or PEC, or something other to reduce size and increase loading time, but i quit from that, beause it will be for sure false positive, because AV cant scan it and its always possible threat. You can try pack main.exe with eg. UPX, from 8.5MB to 1.5MB, but got Heuristics false positive detections, and that is a problem for all UPXs, same goes with PEC or some others.
I uploaded tray.dll on VirusTotal, and its totaly clean. I also uploaded ZIP and tray.dll is again approved in ZIP list. Then i notice my old enemy in tray.dll, stamped on 1/1/1970. I also searched for that Heuristic Packed Unknown, and its false positive. ZIP was compressed with Deflate32, with custom settings, i tried with several others like LZX, LZMA, LZMA2 and Bzip. Results was the same or better. Good thing is that VirusTotal showing almost everything, including executes changes on PC, so its clean for sure, my projects is clean, i dont planing to write this code for very long time to break it with some infection.
Then i uploaded several CABs with LZX without tray.dll, codec, shortcuts and BAT. Result was the same, so i uploaded each file, and here it is with 2 detections only, its by imp.dll, and that is LUA 5.1 DLL, packed in ZIP it got 5 detections. I try figure out why Heuristics detecting it as Unknown Packed file, i did some changes, but its not by that. I will try to get some new 5.1 DLL, or even older one in order to fix this, just need 5.1 version, last thing i need on this project is AV detections.
Was This Post Helpful? 0
  • +
  • -

#8 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

Re: New Multimedia Player & Help

Posted 17 June 2015 - 12:52 PM

I found even better core.dll (lua5.1.dll) and imp.dll (lua51.dll) then i have, thanks to you.
http://opendll.org/i...on=5.1.4.0&dsc=
http://opendll.org/i...on=5.1.4.0&dsc=
And i figured out, when version info is removed, Avast starts detecting it with Heuristics as Win32:Evo-gen [Susp], and after cleaning, optimizing and compressing, Comodo and some others starts detecting it with Heuristics as Unknown Packed.
Was This Post Helpful? 0
  • +
  • -

#9 Skydiver   User is offline

  • Code herder
  • member icon

Reputation: 7244
  • View blog
  • Posts: 24,556
  • Joined: 05-May 12

Re: New Multimedia Player & Help

Posted 17 June 2015 - 08:56 PM

Nice work with the cleanup!

View PostRadius Nightly, on 17 June 2015 - 02:32 PM, said:

First CUDA was mane by nVidia in LUA,

I know that cubuild is written in LUA, but it is compiled into native code. My understanding is that early prototypes of CUDA used LUA as a programming language, but again it was compiled into GPU instructions, not interpreted.

Normal LUA is run by an interpreter.

This is why I was asking about the impressive speed if your codec was running as interpreted LUA. But as you clarified, it's your GUI that is mostly driven by LUA, and most everything else is native code in the various DLLs that you cobbled together.
Was This Post Helpful? 0
  • +
  • -

#10 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

Re: New Multimedia Player & Help

Posted 18 June 2015 - 05:54 AM

With cleaning and optimizing, im getting much smaller files, and that increases loading speeds later, and probably less RAM usage, but i dont know why some Heuristics dont like it. Because i optimized all codecs in similar way, some of them got similar Heuristics problems. So codecs will be fix too.

Yup, thats right. Even a GUI is not clear LUA too, i would be crazy without using others.

BTW I found probably the main problem for Heuristics, it was PE optimizing empty spaces hard as possible to get finished smaller file possible. With lower last step its all fine.

This post has been edited by Radius Nightly: 18 June 2015 - 06:00 AM

Was This Post Helpful? 0
  • +
  • -

#11 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

Re: New Multimedia Player & Help

Posted 18 June 2015 - 11:14 AM

Can you test it now?
I uploaded each file on VirusTotal, and it was clean.
For ZIP its clean too, but i wanna see Avast high-end Heuristic scan.
https://www.virustot...sis/1434650983/
https://www.virustot...sis/1434650990/
Was This Post Helpful? 0
  • +
  • -

#12 Skydiver   User is offline

  • Code herder
  • member icon

Reputation: 7244
  • View blog
  • Posts: 24,556
  • Joined: 05-May 12

Re: New Multimedia Player & Help

Posted 22 June 2015 - 02:02 PM

This time, it's core.dll that is being identified as potentially suspicious.

You do realize that all the cleaning/optimizing of DLL's isn't really buying you much. All you get is a smaller file to speed up downloads. It doesn't really speed up program runtime (dramatically) because Windows uses memory mapped files for DLLs.

If you really want to optimize the DLLs, you need to get the raw source code of all the DLLs, and merge all the code into a single .EXE (or .DLL). Let the compiler and linker get rid of any duplicate code as a first pass. As a second pass, examine all the code and merge similar code. Then to get everything to load and run blazing fast, you need to run several profiling runs through the code to figure out the hotspots for the code during normal running conditions. Then you next need to get your hands on Microsoft's BBT enabled linker so that the linker will put all that hotspot code where it will make the most beneficial use by having better cache hits.
Was This Post Helpful? 0
  • +
  • -

#13 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

Re: New Multimedia Player & Help

Posted 23 June 2015 - 09:17 AM

OK, i will try now to fix core.dll, i didnt do anything much to it, because it was clean at the first time, probably problems with version information. I uploaded it right now on VirusTotal, last scan before 4 days was 0 detections, so i click to rescan it again, and yes, Avast with same Heuristic suspicious made new detections of 1.

I know its not so useful, but decreasing size from 70MB to 45MB is very good, and with compression to ~20MB, or main.exe, in the first place it have around 9.3MB, after some cleaning it got around 8.5MB, but after complete optimization and compression it have 1.5MB, its like -90% file size, but then PUA and Heuristics starts complaining, and that is a bigger problem here, fake alerts. Im not sure if it can lower RAM usage as i said, but smaller files increasing speeds of reading it from disk, or lets say from USB Stick that is much slower, even its not noticable on global scale because of seek times and number of files, i want it to be perfect as possible.

BBT looks very cool tool, but i dont think i will use it. Its good to know for that, so thank you for information.
Was This Post Helpful? 0
  • +
  • -

#14 Radius Nightly   User is offline

  • D.I.C Regular

Reputation: 39
  • View blog
  • Posts: 321
  • Joined: 07-May 15

Re: New Multimedia Player & Help

Posted 23 June 2015 - 11:07 AM

I fixed now only core.dll https://www.virustot...sis/1435080806/ , but now whole ZIP is again Avasts Heuristic suspicious... so i quit fighting Avast Heuristics with endless file editing... this project is clear for sure.

Here, last answer probably explaining all about this Avast suspicious heuristic result:
http://answers.micro...02-576aec09e761


Next thing i will do in this project is to use mediainfo.dll or CLI to get multimedia informations about files. Its always good to see that informations, and it will help me with timecode for frame by frame preview.

I also need better name for Player. Any ideas?
Was This Post Helpful? 0
  • +
  • -

#15 CoderNull   User is offline

  • D.I.C Head

Reputation: 7
  • View blog
  • Posts: 59
  • Joined: 05-June 15

Re: New Multimedia Player & Help

Posted 23 June 2015 - 11:55 PM

I could help to translate that player to my language (finnish)
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2