October 21, 2017, 11:30:03 pm
News:
  Show Posts
Pages: [1] 2 3 ... 23
1  Neuros World / General Discussion / Re: Nursing vs. massage therapy? on: July 18, 2017, 02:15:47 pm
Hi - I've left this post just to point out that a "raandom question" followed by a short link is actually a spam written in a way that is supposed to look like a legit. question. This user has posted over 250 of them, such as "Near about 8 years ago an unknown insect bited on my wife’s right hand ..." followed by a link to a doctor, or "Im interested in being a chiropractor and i am currently majoring in biology ..." followed by a link to a chiropractor.

And so on, seemingly endlessly. Sad

My advice? Don't feed the trolls. Smiley
2  Neuros OSD / Neuros OSD - I need help! / Re: Inconsistent MP4 recording on: July 18, 2017, 01:35:23 pm
Sorry for the delay, I don't visit here often these days...

I am having problems where the neuros fails to recognize USB flashdrives (every brand I try) unless I reboot the machine with the flash drive already in the machine.  Is there a fix for this?

I think some of the larger modern Flash drives use a sector size that the OSD doesn't like. I have a few USB sticks around here that the OSD won't touch.

That said - I believe the DM320 (the chip inside) only supports USB 1.1. As such, I almost exclusively use SD cards. The recordings, for me, have proven to be much more reliable.

Quote
some of the MP4 do not open under any circumstances while others play normally.

Are you using higher bitrates? Is your USB drive capable of sustained writing at speed (you might be surprised to find USB sticks are good at bursts of data, but many suck at doing it non-stop over a long period of time).

Try a decent SD card. I use Emtec 16GB, SanDisk 16GB and Samsung 32GB and they work well for me.

Quote
I assume since the website no longer has firmware upgrades and I cant find any neuors osd for sale that the company has gone out of business- is this true?

I don't know if the business has ceased - I doubt it as somebody needs to pay to host this forum! However, SD quality analogue video is, these days, something of a relic. It's a shame, I'm very fond of my OSD, but that's how it goes.
Look on the bright side, everybody is falling in love with vinyl again, so maybe in thirty years we'll think analogue video is cool. ;-)


If you should need firmware for emergency purposes, I have copies at http://heyrick.co.uk/osd/firmware/OSD_Firmware.htm but you're on your own with them (no support). Use them only if something is broken.
Be careful of OSDng too. It's better, but I don't know if it can be installed stand-alone or if it requires additional resources on a server long gone...
 
 
Best wishes,

Rick.
3  Neuros OSD / Neuros OSD - Tips, Tricks, and Hacks / Re: Is there a way to use playlists (M3U) on the OSD? on: September 03, 2015, 02:31:04 pm
I don't recall a playlist function for playing movies.

The storage device connected to the OSD is probably called something like /dev/sda1 for the actual device, and /mount/USB (I think?) for the filesystem.
As is obvious - it isn't DOS/Windows. There is no drive "letter".
4  Neuros OSD / Neuros OSD - Feedback and Discussion / Re: Merry Christmas fellow OSD users and hackers! on: December 25, 2013, 08:54:17 am
Kind of sad that this was the last posting on this forum, and a year has gone by!

Well, if anybody is still reading this -
MERRY CHRISTMAS!

Yet another year passes, my hair goes even greyer (ugh), and the OSD marches on. Last night it did a perfect job of recording The First Eucharist of Christmas (sort of like a midnight mass) for my mother. Today, yet another Doctor Who special, followed by Troll Hunter, plus anything that looks interesting on NHK World (it's their Viewer's Choice programs rebroadcasting the best things of the year voted by viewers - https://www.nhk.or.jp/nhkworld/vc13/index.html).


To Gerry - if you are still here - I have ordered some flying leads with clips from eBay. Company says it might take as long as 60 days to come from Hong Kong (what, is it tied to a migrating bird?). It is my hope to hook the leads up between my RaspberryPi and the dead OSD to perform JTAG using the Pi's GPIO. I do have a parallel port JTAG dongle that somebody sent me, but the problem is that none of the computers I use nowadays have parallel ports! I plan to attempt to resuscitate, it might just take me an eternity to get around to doing so! Wink
5  Neuros 442 Personal Media Player / 442 Hackers Discussion / Re: How can we hack the 442? on: November 30, 2013, 06:59:58 pm
[long (meandering) reply alert! Cheesy]

I am at a loss to understand why so many people are interested in hacking this beautiful multimedia device and thereby destroying it.

Possibly because you associate "hacking" with breaking into things and other destructive behaviour?
Sadly the mass media seem to think that "hacker" == "criminal", to the point that recently a judge in the US... well, read this: http://www.theregister.co.uk/2013/10/23/hacker_seizure_rights_case/

We, the good sort of hackers have other names for the sorts of people that like screwing up stuff. "Cracker" is the name of choice. The other names we use can only be represented here by lots of punctuation symbols.
There is nothing cool about running botnets, trashing people's data, pwning websites, and stealing password lists. Those people aren't hackers, they are w%$@&*s. Oh look, punctuation. Get the point?

Quote
I personally feel that they should concentrate on making maximum use of it because they have already spent $300 for acquiring it.

By way of example, consider Cyanogen for Android phones. It is a hacked tweaked and generally kick-ass version of Android. Of course you probably need to run exploits and do some ugly hacks to get around the manufacturer-imposed lockouts; but the flip side of the coin is demonstrated by looking at my phones. I have three Androids (yearly contract renewal = new phone time). The first, a Moto Defy is running 2.1 with no updates available. The Xperia Mini Pro (cute keyboard) is running 2.3 with a "you're on your own with no way to revert back to 2.3" version of ICS if you can figure out how to install it; and my current phone, the Xperia U (nice phone, shame it is hobbled with only 4Gb onboard) is running 2.3.6 with the same conditions if you want to go to ICS. Certainly they are STILL being sold TODAY with 2.3.6 onboard and the current version of Android is what? 2.anything is practically Paleolithic!

Truth is - for many companies, once a device has been made and is in the shops, it is forgotten. They have your money, so where is the incentive to care any further? Better to put effort into The Next Best Thing instead, right?

Enter the Hacker. Not the guy on in the movies that sucks chupa-chups and wrecks stuff for the lulz, but somebody who sees a device and wants to set free its potential.

Because that is what true hacking is - to take something and see how far you can take it.

I will give you an example. Back in the '80s and early '90s it was quite common to write "demos" on home computers (Archimedes, Amiga, etc) which would do all sorts of fancy tricks with music and video. Depending on your age, you might have seen these already.

A guy way smarter than me has done a low-resolution demo with cheesy music that sounds like something from the Sega Master System. What raises this to Utter Awesome is that it is being done on a 20MHz microcontroller. The music, the sound generation, the RGB video, all are created in real time by an ATmega88.
Video here - http://www.youtube.com/watch?v=sNCqrylNY-0
Website here - http://www.linusakesson.net/scene/craft/

That is a righteous hack. To squeeze something impressive (not only generating a stable VGA signal, but doing all the other stuff as well) out of a chip more likely to be used in smart washing machines. Okay, maybe 20MHz is OTT for a washing machine, but the point still stands.

Personal hacks of mine that I did as a child - my IT teacher really hated Greensleaves. So hack #1 was to take a classroom full of BBC micros (if you are American, think of a better Apple II) and write a program that would run in the background and use the network to synchronise to have each machine (picked randomly) play the next note. When the tune was finished, replay it as a canon (how people sing "row row row your boat").
I bought myself a week's worth of detention for that stunt, so hack #2 was to raise the bar and send patterns of dots to the dot matrix printer to get it to change pitch as it printed to play something approximating Greensleaves. Oddly enough, I didn't get detention, I got made an admin. Win! Cool

Around Y2K I was involved with a company wanting to progress from an ancient DOS-based stock system to one that worked under Windows98. The problem was, the old stock system had no way to export the data in any known format. Written in some sort of compiled BASIC, the internal file format made no sense at all and the people who wrote the software wanted £1000 for a module to export the data. The exorbitant costs of add-ons is part of the problem.
"I'll have it done over the weekend", I said.
"I'll give you £250 if you do", the boss of the company said.
So... On Thursday afternoon... First, I removed the harddisc from the PC and connected it to the IDE port of my A5000 (RISC OS) computer. Then I connected a second harddisc of the same type (a standard Maxtor of a capacity something like 203Mb) and I used a simple program to sector-copy from one drive to the other. Actually, my A5000 had 4Mb onboard so I copied in 2Mb chunks.
The original harddisc went back, and the cloned harddisc went into an old AT. Then, I made some wires and wrote some software. The first wire was a parallel port to parallel port cable. The second was a cross-over serial cable. I used my A5000 again because RISC OS made it easy to drop down to hardware level to control the parallel port directly.
Here's what I did. I fired up the annoying software on the AT with the cloned harddisc and I instructed the software to print a full inventory. In this mode it would output hundreds and hundreds of pages of data to the printer. And it did so, with my A5000 faithfully acting like an Epson dot matrix printer. The serial port went from my A5000 to the W98 box. The W98 box was running HyperTerminal which was receiving a file from the modem using the Ymodem protocol. The modem? Actually, that was my A5000 faking being a BBS connected to via a modem which it was also pretending to be.
The nitty gritty was that as each pageful of rubbish came from the DOS software, it would be assembled as a page of stuff in memory, then picked apart to extract the various items of data required. These would be turned into CSV format data and written to a buffer. When there was more than 1K in the buffer, it would be sent to the serial port as the next Ymodem block.
I didn't do it over the weekend. I did it on Thursday night, stayed up until 4am (!), had it ready for Friday morning. All imported into the Windows database (Access? I forget the name) and checked manually entry by entry against the DOS data.
Boss bloke was so impressed, I got an extra fifty. But, to be honest, I didn't do it for the money. I did it partly because the attitude of the developer of the DOS software annoyed the hell out of me, and partly because everybody thought it would involve reentering everything as there was clearly no way to get the DOS package to work with the rest of the world. But, then, I don't tend to think like normal people, I'd figured this possibility before I even made my offer and... it worked like a charm. If only all my projects were that effortless! Cheesy

More recently? I like living in the interrupt handler, there is just something really pleasing about ARM code and the low level stuff is the most interesting of all. My paid job is working on a production line for a crappy wage. This nerdy stuff, I do for fun. I haven't really done any cool hacks in a while. Just don't have the time. I blame having internet. After all, just spent half an hour writing this for nobody to read. It's more a reminiscence for me 'cos it is winter and cold and that sucks. I love taking my netbook out in the summer and cutting code while gently swaying in a hammock with the oak and the greengage above me, their leaves keeping the sun out of my eyes. Ahhhhhh.....  Smiley Smiley Smiley Smiley
But now it is December. I get up before the sun has risen and I come home after it has set. And did I mention it is cold? <sigh>

Quote
I would like to remind him that being a software engineer does not mean that he can hack anything.  

Most people who call themselves "engineer" aren't.
Most people who call themselves "hacker" aren't.

Oh, and referring to the post near the top, it is amazing how many people misquote and say "Curiosity killed the cat", as if it is a warning. The longer version, non-authoritative as it seems difficult to trace the origin of the quote, is: "Curiosity killed the cat but satisfaction brought it back". I believe whoever wrote that full version definitely has a hacker mentality. Cheesy

Further reading:
https://en.wikipedia.org/wiki/Hacker_%28programmer_subculture%29
https://en.wikipedia.org/wiki/Hacker_%28hobbyist%29


Edit: Ooops! That was 23rd November 2010. Oh well, call it Putin-style lateness. Wink
6  Neuros OSD / Neuros OSD - I need help! / Re: Bug in OSD: Recordings fail if they span midnight... on: November 29, 2013, 02:32:06 pm
What recording options do you use? I have recorded a reasonable number of films off of The Horror Channel (you know the drill: cheerleaders, splatter, aliens, splatter, you name it - such epic masterpieces as "Snakes On A Train" and "Evil Aliens" [1]) which run from 11pm to 1am; and likewise from FilmFour (films of a better calibre [2]). I can't say I have noticed any specific issues with the recordings.

I typically record at 1200kbps video and 128kbps AAC audio; trading off lower picture quality for smaller filesize.


1 - If you're interested http://www.horrorchannel.co.uk/ though goodness knows why they're showing the original Star Trek, the only horror there are the outfits.
2 - http://www.film4.com/
7  Neuros World / General Discussion / Re: Neuros MP3 player with 20 Gig backpack on: August 11, 2013, 04:41:05 pm
Hi,

I think this is the user guide... http://ec1.images-amazon.com/media/i3d/01/A/man-migrate/MANUAL000020942.pdf


Best wishes,

Rick.
8  Neuros OSD / Neuros OSD - Tips, Tricks, and Hacks / Re: Looking for a particular file in the OSD firmware... on: July 24, 2013, 03:49:48 pm
Hi,

I'm still around from time to time. Some others are too - I received a spam report the other day but the message was 404 by the time I went to visit it so another mod must have quashed it.

As for the cheese - I don't really know American terminology for stuff. I'm still banging my head on the wall over American cookbooks due to the use of volume measurements for things you should weigh (I mean, what's with "cups" of flour? tell me it in grams) and weight measurements of liquids (ounces of water? are you kidding me?). Not to mention a real tendency to use brand names. I need to Google to find out what Crisco is.

But, yeah. I stand by what I say. A country famed for its cheese (and their affinity to cheese) seems rather too keen to chuck Emmental / Swiss cheese all over the place. On pasta, on pizzas, in crêpes, in recipes...
...yet it is the most god-awful bland stringy rubbish I have ever had the misfortune to encounter (and it isn't even French!). I mean, I'm no lover of squishy mouldy cheeses, but surely there is something in this country that melts nicely and can be used in cooking that can take the crown away from emmental? Raclette, perhaps? Or Reblochon? Or maybe even Comté?
I notice one regional supermarket is selling imported Scottish cheddar. Perhaps, heresy aside, they have realised there is a hole in the market of France's twenty-billion cheeses? I mean, seriously, what the hell is a jacket potato without a good strong cheddar?
9  Neuros OSD / Neuros OSD - Tips, Tricks, and Hacks / Re: WebKit on the OSD on: January 09, 2013, 03:19:27 pm
Keep in mind that for most of the things to which refer (but not the OSD), the serial port implementation is not only "minimal" (a good description), but is also only 3.3V.

The Beagle (at least the xM, don't remember about the older/slower one) has a MAX-blah line driver chip so it has a regular serial port... though wired unusually (needs a modem cable (straight-through), not a computer link cable (TX/RX cross-over)). It is almost as if they are going out of their way to be a pain [thinks of the OSD having the wrong gender plug on the end of the serial lead!]. Wink


Quote
So, that board might as well supply the rest of the pins/signals/power.

Therein lies the second part of the problem. The SoC has a UART. Well, modern SoCs have several for various different reasons. But let's assume we have a UART and it behaves in a 16550-like manner. There will be some GPIO kicking around to provide the serial output. For those unfamiliar with System-on-(a)-Chip (SoC), there are like a hundred I/O pins and several hundred things that can be done. Depending on the chip, each pin could have five or six different functions, and it is up to the bootloader and OS to set them up according to the hardware configuration. Now, minimal serial is easy to do (two pins), easy to implement (two wires, a single bi-di line driver), and actually has a purpose; mid-level debugging (higher than JTAG, lower then using the command line) can work over serial, plus it's often the only way to talk to the bootloader if it all seems to go wrong.
True serial, on the other hand, requires a more capable line driver, seven or eight I/O pins, and a rather more complicated circuit - for a function that may be less necessary than, say, an SD card interface.

So we run into the problems: 1, are the necessary pins being used for different functions? and 2, are they tracked out to where we stand a hope of being able to access them? For this reason, even having an adapter board would often make no difference whatsoever. You might be able to fake up enough to run a serial mouse, however anything that uses the extra pins for signalling (ie RTS/CTS flow control) won't be able to do so. As these things are supposed to go into the UART to be handled by the serial hardware. It is technically possible to route the signals to GPIO and do it in software...just as it is technically possible to implement a serial port with GPIO but it's an ugly thing to do [see note].

So. Grr-aargh!, as the Mutant Enemy said so eloquently.


Best wishes,

Rick.


Long nerdy note: For reception, you need to figure out your clock rate, 19200bps is 19,200 potential changes per second. Then you need to work out a 4x oversample to be sure you are reading a true level and not a glitch. This means you need to read the serial GPIO pin 76,800 times per second, at as close to 13.025uS per bit (although you can (re)synchronise with the start bit). You'll find code kicking around for PICs that doesn't oversample, but that's possibly due to getting a low clock-rate PIC to run at those sorts of speeds is asking a lot (single sample is less reliable unless you can be absolutely damn certain you will always sample right in the middle of a clock period; but it only needs to run at 52.1uS/bit). Due to the necessity to run to exact timings, you will need to know your instruction set very well to pad out the code so whatever path it takes it will always run to the same number of clock cycles plus disable all interrupts during the serial read. Your processor will need to do nothing but look at the serial input.
For transmission, it is pretty much the same story; but you can run a little slower - there's no need to set the IO pins more times than necessary so the 52.1uS timing will do. Note, however, that serial hardware only has a limited capacity for dealing with bitrate errors, so your processor will have to not only always take the exact same time per bit, there can be no interruptions of any sort. So your processor will need to do nothing but set the serial output.
And this is only for reliable 19,200bps operation!

In essence, it is a damned freaky way to take a GHz(ish) modern multi-core processor and coerce it into doing what a $5 thirty-year-old chip can do effortlessly. Cool
10  Neuros OSD / Neuros OSD - Tips, Tricks, and Hacks / Re: WebKit on the OSD on: January 08, 2013, 08:12:35 pm
I am also curious to know... According to me, it is not possible...

Correct.
Serial mice need both RTS and DTR to be positive (this is what provides power to the mouse). Toggling DTR will soft-reset the mouse (it should reply with 0x45), and toggling RTS for at least 100ms will hard-reset the mouse. When the computer boots from cold, RTS usually defaults to negative, so this will hard-reset the mouse on power-up.

This is one of the things that bugs the hell out of me with respect to the OSDs, the RPis, the Beagles, etc. The serial port implementation is extremely minimal (RX/TX/GND); but it just so happens that a heck of a lot of serial-using hardware (for example the Psion 3a link) requires the additional pins as it signals out-of-band stuff, like, say "device connected" plus taking power from one or more of the pins. Hmm...

Gerry - if you're still around these parts, did you get any further with webkit or Qt4? Do you have any executables to download and install/run? Cheesy
11  Neuros OSD / Neuros OSD - Feedback and Discussion / Merry Christmas fellow OSD users and hackers! on: December 25, 2012, 06:33:53 am
Hi all!

This is the time of year when the OSD comes into its own - Ratatouille, Ponyo, Detective Dee and The Mystery of the Phantom Flame (!), Dr. Who, etc etc; scheduled and recorded for watching later on... So much more flexible than videotape!

So, whoo. Merry Christmas all!
[or "Happy Holidays" if you're non-Christian]
12  Neuros OSD / Neuros OSD - Tips, Tricks, and Hacks / Re: Some questions and such that have arisen out of the "Re-inventing..." project on: September 29, 2012, 06:03:52 pm
1) Regarding the 4 hour limit.  So, it has nothing to do with the FAT 4G file size limit?  That was just a coincidence.

See? The Asians have a dislike for the number 4 for a reason. Wink [see Tetraphobia (Wiki)]

Quote
It has to do with running out of memory (and the system crashing) when finalizing the file.  Note that because of the MP4 file structure, you have to pass the entire file through in order to finalize, so it makes sense that the larger the file, the more memory it will take to do it.

Which is what I was thinking with the I-frame index. Good God, how did such a shonky video format ever become a standard? Why can't the start of one chunk point to the previous and next? It'd only be 16 bytes for two 64 bit values (or could use 32 bit values if it's just an "offset to prev/next chunk" (instead of absolute position). This would also mean the files could be playable if incorrectly/not finalised.


Quote
I'm not using any file manager.  GUI file managers are for wimps.

Hahahaha! You're a dying breed, you know? I bet you love Unity about as much as I do.


Quote
3,098,123,456
it makes sense to be able to say that it (the file) is "just over" 3 Gb.  (Even though that statement is, technically, untrue...)

I handle that by saying "it's about 3gb", and I would work out the size in MiB/KiB/bytes if it came to actually mattering that much; 99% of the time the only comparisons I have are will this stuff fit on a DVD-R (<=4488MiB) or do I have enough space on this SD card for the next episode of Joshiraku?...

I only get annoyed when I look in the supermarket and see 500Gb harddiscs, and I know well that if I plugged it in, my computer would tell me something rather different; and worse, as I pointed out, it isn't as if harddiscs have any denary component, so using non-binary for the sizes is just a crappy thing to do...

Anyway. Hope you can rebuild (or maybe binary-hack) your nmsd to see how far you can push it. Let me know how you get on.
13  Neuros OSD / Neuros OSD - Tips, Tricks, and Hacks / Re: Some questions and such that have arisen out of the "Re-inventing..." project on: September 27, 2012, 04:14:12 pm
Cool Cool Cool Cool Cool Cool Cool Cool Cool Cool Cool
Bingo!
Cool Cool Cool Cool Cool Cool Cool Cool Cool Cool Cool

You can hug me later. Or send me JPEGs of cute (as in HelloKitty, not as a euphemism for naked) Japanese girls. Your choice. Wink


Anyway. The code you are looking for is:
/*
 * Recording finalization is using too much memory with low quality sometimes and the system crash
 * due to out of memory. So limit the maximum of recording length to hack it for now.
*/
#define MAX_LENGTH (4 * 60 * 60) // 4hours


It is in nms; and the source is at https://svn2.neurostechnology.com/linux-r3-main-app/trunk/nms/src/server/server-record-nms.c


I don't think anything can be done above the unpleasant video resize; namely if you are recording 640x480, it looks like the video (for PAL) goes:
  720x576 (input) -> 720x288 (inside) -> 640x480 (codec)
It would be better if we could work without losing half the vertical resolution; this is one of the reasons I record anamorphic and not letterboxed!

We might, however, be able to fiddle the appallingly low audio sampling rate (16000Hz it would seem). The AAC output is rather astonishingly good given this sample rate is only twice that of a basic telephony codec, and about a third of regular (41kHz) audio sampling.

Good grief, is the DM320 that underspecified?!?


Anyway. There's your four hour limit. Have fun trying stuff that doesn't cause it to crash! Cheesy
14  Neuros OSD / Neuros OSD - Tips, Tricks, and Hacks / Re: Some questions and such that have arisen out of the "Re-inventing..." project on: September 27, 2012, 03:56:08 pm
it *is* 4 hours, not 4Gb.

In that case, I'd be very inclined to point my finger at some sort of fixed limitation within the codec; as you proved by the smaller file of the lower bitrate.

Quote
  • Note: Throughout, I am using the "common man" definition (which I guess now is actually ISO standard) - where Mb means 1,000,000 and Gb means 1,000,000,000 - as opposed to the actually correct numbers which are exact powers of 2.
AAAAAAAARGH!

Are you a Mac user, or using one of those suck-up-to-the-standards-bodies file managers under Linux? The only reason for promoting this incessent lie so your terabyte harddisc can be labelled as such while having a capacity of a lesser 931GiB. It was accepted as an ISO thing because nerds did kinda steal "kilo"/"mega"/"giga" for their own uses, but to apply the ISO definition to storage media is just a scam.
Here's why.
[soapbox rant!]
In computer storage, there is no base 10 component. Think about it. It's an 8/16 bit bus, returning one or more bytes from the storage media arranged (usually) in sectors of 512 bytes. 512*8 = 4096 bits. There is no way on earth you're going to divide that decimally. And even so, you aren't reading ten bit values, you're reading 8 bit values. Even flash chip erase windows are 32/64/128 kilobytes-in-the-old-school-style. In short, as disc sizes grew, this was a way to offer less as more. The difference between 250Mb and 250MiB is not so much, but the difference between 1TB and 1TiB is a whopping 93GiB - until not so long ago, computers came with harddiscs of that sort of size as standard.
There is no sane and logical justification, except to say "marketing ploy".
[/soapbox]

Quote
Just FYI...

I'm trying to switch to KiB/MiB/GiB, but as an hacker of the '80s and used to both Windows and RISC OS (which use the base two definitions), I usually interpret file sizes as power-of-two quantities.


Quote
I did some detective work and discovered that the actual work is done by a program called 'nmsd'.  I'm assuming that program is non-open.

I'm assuming "nmsd" is short for "nms daemon" (spelled "ae" thanks to those damn Christians corrupting Greek mythology and making demons something malevolent). If we take it a stage further, we could figure out the role "nmsd" plays to devise an acronym such as "neuros media services daemon". That sounds like something that oughta be in the source pile.

<clicky><clicky>

Oh look... https://svn2.neurostechnology.com/linux-r3-main-app/trunk/nms/src/

[side note: I wonder if this is the place to fix that annoying "can't play this video file so will just go ahead and play something else instead" quirk?]


The huge main play loop in https://svn2.neurostechnology.com/linux-r3-main-app/trunk/nms/src/server/server-play-nms.c contains some amusing comments; most by a guy called Nero.
15  Neuros OSD / Neuros OSD - Tips, Tricks, and Hacks / Re: Some questions and such that have arisen out of the "Re-inventing..." project on: September 21, 2012, 04:28:38 pm
Hey!

Sorry for the delay in getting back to you. Been busy and fuzzy-headed. My job is now daytime hours 10am-5.45pm (no more $%$(% $£*£&%ing NIGHTS!!!!!!!!!!  Grin Cheesy Smiley Cool Shocked ) and it has been a bit of a shock coming home about the time I used to get up!

You have my email (don't you?). If you think I can help, nudge me! The latest episode of Kokoro Connect can wait...


1) Is it possible to change (or, ideally, eliminate) the 4 hour limit?  I did not see it in the settings file(s) that the program manipulates.  Note
that Rick has access to the source code (for vrecorder); perhaps he could check this for me.

I don't recall seeing it. To be honest, it looks as if vrecorder simply passes all the info to the codec.

The command line parsing is here:
  https://svn2.neurostechnology.com/linux-r3-main-app/trunk/vrecorder/src/ui/nvrecorderapp.cpp

And the interesting inside-guts-and-gore stuff is here:
  https://svn2.neurostechnology.com/linux-r3-main-app/trunk/vrecorder/src/ui/nvrecorder.cpp
  [especially function "NVRecorder::handleServerSelfStop", it looks like there are some hardcoded limits]


My pet hates that (probably!?) can't be fixed:
  • Given we are writing AAC audio and H.263 frames; an option to use AVI (for this is possibly close enough to pass as DivX-like) would have been nice. I'm okay with the computers/phones as they'll play back .mp4 without problem, but a lot of older hardware based things only recognise AVI.
  • My recordings are anamorphic. This means it is a 4:3 ratio picture containing a 16:9 frame. This is not unusual; older (non HD) satellite recorders output this when you use the "16:9Full" option (as opposed to "16:9Letterboxed"). Widescreen DVDs are this (and accordingly can be switched to "full" mode). All it needs is for the playback device to resize the video to the correct dimensions on playback. But for this to work automatically, you need the video file to identify itself as 16:9 accordingly. [well, it would at least fiddle the PAR in the mp4 header to reflect 16:9 attributes (actual values depend upon frame size)]. I wonder if I could hack vrecorder to do this at the end of a record? It'd be less hassle than pressing 'A' half a dozen times in SMPlayer for everything I want to watch!


Quote
I think the best solution would be if it were under user control

I wish there was a telnet-friendly version. How cool would it be if you forgot to record Meh so you excuse yourself to go to the toilet, fire up your Android phone, telnet to your OSD, and say "okay, record at this quality for the next 59 minutes".

Quote
vrecorder, and then use the "mount --bind" trick to "replace" the existing (read-only) one on the flash media.

Or for those of us with OSDng... Smiley


Quote
2) (Out of curiosity) Are there any other cmd line parameters to vrecorder, other than the tag lookup into .vrecsettings?

Looks like "temp" and "scheduler" are the options. [first link above, first function]


Quote
I hope this can be easily parsed out by looking at the source code, but of course, it'd be really nice if there was actual proper documentation.

A Real Nerd[tm] would say "the source is the documentation". Tongue


Quote
It is as if the scheduler only has a 1 year "look ahead" window - it simply can't fathom anything farther away than that.

Does the scheduler really even use the year? This might explain the symptoms you are experiencing? I don't know about you, but I find this code to be a bit of a mess. Not in how it is written, but more in that parts of it are scattered around the place and it is something of a game of "hunt the function" to follow it.
  https://svn2.neurostechnology.com/linux-r3-main-app/trunk/scheduler/src/scheduleritem.cpp

I tell ya, if I was unemployed (and thus had a lot of time and no money to do anything), I'd consider rewriting the UI from the ground up. Of course, I'd probably make just as big a mess, only it'd be my mess, ho ho. One thing I'd get rid of for a start is the MySQL stuff for the scheduler. A formatted data file would work - we're only recording (fairly small numbers of) user-specified recordings, this can be handled in a bunch of parse/sched functions. Anything else is just overengineered.
I would also look at exactly how much of the windowing system is necessary. That Arizona overruns the built-in 16Mb Flash is - frankly - obscene.
Take a look at https://www.riscosopen.org/content/downloads/other-zipfiles and you'll see the ROM image for the Beagleboard is around 2Mb, and the RaspberryPi build is also 2Mb. These are compressed, it's 4Mb raw. Add to that around 10Mb of resources (a lot of which could probably be dropped as much of that is example software). You would easily get an entire full installation of RISC OS into 16Mb. So why does a stripped-down Linux aimed specifically for putting into the OSD overflow? Is all that crap really necessary?

Hey - Neuros - the Beagle has a digital camera input. Don't suppose a tvp5150 would work here, eh? Wink


Quote
Video-Recorder-Advanced=0
Anyone have any idea what this is about?  What would happen if I changed it?

I may be wrong, but I think this flags when you use the advanced recording setup, instead of the "Record for TV", "Record for PSP" sort of stuff; to indicate to the recorder app that it should look at all the supplied parameters instead of making assumptions.

Take a peek at:
  https://svn2.neurostechnology.com/linux-r3-main-app/trunk/neuros-qt4-libs/neux/settings/nvrecorddata.h

Well.....maybe it can do AVIs after all? Let me know if you decide to try that! I also think it would be kinda nifty to expose the quality option (economy/fine/superfine) as it doesn't seem as if the default settings control does that (I guess it picks depending on chosen bitrate or something?).


Quote
The main reason why I don't like the 4 hour limit is that it is unnecessary on modern filesystems.  It is a FAT filesystem based limitation that is out-of-date now.  I do all my recording to cifs-mounted NTFS filesystems.

Um... Some thoughts:

1. The FAT limitation is, IIRC, 4Gb minus a byte. This is not the same as four hours (depends on your bitrate!). Does it cut out at four hours exactly? With other quality options? Maybe your table of iframe pointers (that's what the finalise-TOC thing is, isn't it?) fills up. A quick look at a video file, it looks like it writes an iframe roughly every 15 frames. For me, there's 25fps so... 60 (secs) x 60 (mins) = 3600 secs/hour. x25 = 90000 frames/hour. /15 = approx 6000 iframes/hour. Maybe there's a limit to this?
2. You might record to NTFS. Does everybody else? Wink That said, I need to know if you meant 4Gb or 4 hours.


Quote
Further, the "turn around" takes time.

Indeed. That's why long things I want to record are usually done manually. The Eurovision Song Contest, for instance, is usually recorded at a nicer bitrate (say 1500/2000kbit) for the songs. That's about the first half. When it comes to the voting, interval rubbish, etc, then I can knock the quality back to 1200kbit for the remainder of the programme. Not ideal, all in one file would be best, but it is a workable compromise as I can choose to abort during some of the blather stuck in for crappy new-Europe countries that can't handle a ~3hour live event without sticking adverts in...


Quote
When I stopped running these extra processes, it pretty much (but not completely) stopped crashing during the "turn around".

Indeed. The OSD is a little fragile in memory stakes. I note that the allocation to Linux is 34Mb. Do the codecs/DSP/etc really need to claim 30Mb of workspace? It is such a shame that part is closed, nobody can look to seeing how much space is given vs how much space is used.


Well, it's been... good grief, a month, since your post. How have you got on?


Best wishes,

Rick.
Pages: [1] 2 3 ... 23