I have been using the Mele Fly Sky Air Mouse for about 2 months now. So far, it is great. I have only needed to recharge the mice twice each (I have two of them). When the mouse gets low on charge, the mouse starts to jump around but is mostly usable. There are times when a key would not work on the keyboard, but I think that may have been related to having a low charge (I don't use the keyboard frequently). I love having the volume buttons on the remote. Not all of the buttons map to Android keys, however. I have run a test so I have all the key codes for the remote side of the device. I will post them at some point. The device packs light so I was able to bring it with me when I brought my MK802 to a family member's house. I have had a few people try it out. Most have struggled with it for a few minutes, then got the hang of it. Most people struggle with the fact that is not a Wiimote, but it acts like one. Before my cousin tried it out, I specifically told him he didn't have to point it at the screen. He still pointed it at the screen. He caught himself doing it 3 times.
The sensitivity in a device like this will always be a battle. The only time I find it difficult to use is when I need to pinpoint a small button on the screen. It can be difficult to hit the bulls eye. You can get very close, but moving it that few pixels (yes, you saw that right, pixels on a 1080p TV) to get it from thumbs down to fullscreen in the Youtube app can be problematic. I blame this more on the app then the mouse; I have blogged about those apps before.
On to the feature requests. I have ordered them from the nice to haves to the most important essential changes.
1) The Home button doesn't take you to the home screen
I use Android with this mouse. I understand the fact that this mouse was designed as a generic USB HID device, but it would be nice if the Home button acted like the Android Home button. This isn't essential for me, because I tend to stay in one app 90% of the time, but it would help. On a related note, the Mute button doesn't actually mute. It does send a keyboard event, so Android apps can intercept the Mute button.
2) Mouse wheel
Scrolling up and down can be a pain. Using the drag gesture doesn't work well with large lists on this device. Having a mouse wheel could help drastically. I think one would fit on the left side of the remote, just to the left of the DPAD. It would stick out the side of device. You can then use your left hand or your right index finger to scroll the wheel.
3) Swap Enter and Left Mouse Click.
The Enter button is above and to the left of the DPAD. The left mouse click is inside of the DPAD. The natural flow if you are using the DPAD is to hit the button inside of the DPAD. What you will find is that you end up selecting something totally different because the mouse was over one button while the highlight from the DPAD is over another. This is unnatural. My wife and I have gotten used to it, but it needs to be swapped
4) Add media buttons
I absolutely need the ability to pause, play and skip on the remote. Right now, I have to move the mouse to the on-screen pause button. This is slow and requires effort to hit the button. If I could request one feature for the next version of the mouse, this would be it.
I have been searching for a fast way to scan a large collection of photos. While in Microcenter purchasing Christmas gifts, my wife noticed the Pandigital Photolink One-touch Scanner. It was only $30. At that price, I was very skeptical, since the $100 Xerox didn't work at all. For $30, though, it was cheap enough
to take a risk.
When reviewing various scanners, you tend to get a feel where the problems occur. For sheet feeding scanners like this one, a real fear is blurriness caused by the picture rotating. This occurs when you don't feed the picture in straight and you adjust it while its scanning. The next fear has to do with scanning directly to an SD card. If you scan to an SD card, you never have an option to review the pictures. This is also what makes scanning with devices faster. After you scan one picture, you are ready to scan the other. You don't have to worry about scanning areas, cropping or slight rotation. The device should take care of that for you.
I decided to scan about 5 pictures, then check the image quality on a computer. I was very happy with the results. The scanner only scans at 600dpi, so don't expect super quality scans. The guide that you put the picture against worked well, so there were no slight rotation problems. It chose the correct scanning area. My litmus test succeeded.
Years ago, my future father-in-law gave my then girlfriend a bag full of pictures. I think it was a compromise on him buying her a scanner; She was supposed to scan all the pictures. She never did. Eventually, she saw the pain I went through to scan all my high school pictures using a flatbed scanner. It took me weeks, and a lot of the pictures were slightly rotated. This discouraged her even further. After my litmus test, I decided to scan her father's pictures. I expected to spend an hour here and an hour there for a while to get them scanned. There were 8 envelopes. Some were single rolls while others were multiple rolls. It took me about an hour and a half to scan ALL the pictures. At that point, the $30 paid for itself already. After scanning a picture, you only have to wait about a second to scan the next picture. When I first started scanning, I tried to feed the next picture too fast. The orange light blinked red to tell me it wasn't ready yet. I found that if you move the just-scanned picture to a face down pile, that is enough time for the scan to complete. When I say a second, I really do mean a second. Once you get into the groove of scan, put into pile, scan, put into pile, you will find that you make progress really fast. I am planning on flying to a family members house in the coming months. I will be bringing the scanner. The goal is to scan as many pictures as I can; hopefully the entire collection (well, the ones less than 5 inches wide at least).
There are some limitations for the scanner. The one I got only accepts pictures that are 5 inches wide, max. The box advertises supporting a max for 5x7, but it will support longer than 7 inches. I think it just advertised that to make it easier to understand to the end user. I had a 5 inch tall panoramic that scanned just fine. I don't know the actual max length. Its better for advertising to undersell than oversell. 600dpi is good enough quality to look at. You can put it on a big screen TV if you have family members over to look at a bunch of them. The device was designed so you can scan directly to the SD card that a digital picture frame uses. I understand that a lot of people want higher quality. At times, I want higher quality too. This scanner is great for scanning your entire collection (that is less than 5 inches wide), so that you can more easily pick which pictures you want a scanned in a higher quality. When someone asks for a higher quality, you can find the picture and scan it with your flatbed.
If you decide to purchase this product, I recommend that you do some price comparisons. Normally I post the Amazon link directly to the product because it is the cheapest price. In this case, I'm posting the Amazon link to show you what it looks like, and so you can read more reviews. I purchased it from an actual store for less than 1/2 of the Amazon price. I did not find it on their online site, though. I tried doing a Google search and the price ranged from $30 on Ebay to $100 on Overstock. Amazon was half way in between those prices. The exact model I got was the PANSCN04.
I read through the reviews of the scanner on Amazon. Most are positive. I did not notice the grey line problem that a few reviews reported. I did have to calibrate the device or use the protection sleeve so I don't know if that effects the scan. Below is a Tiger Direct review of an older model that only supports 4 inches as opposed to 5 inches, but they are very close.
My grandmother had collected a lot of pictures over the years. I wanted to scan the collection, but there were a lot of pictures. I only have a flatbed scanner, which takes a long time to scan pictures. I decided to find a feeding scanner so that I can spend as little time as possible scanning the pictures. I settled on Xerox Xtravel 600 dpi travel scanner. The reviews were mixed, but some people speculated that they weren't reading the manual. They stressed that you must read the manual before doing anything.
I purchased it thinking that if I read the manual, it should be fine. I started having issues immediately. The Windows XP machine didn't like the scanner. I tried to use my Linux laptop without success. The scanner would scan, but all the images would be really dark. I couldn't get it to calibrate. Finally, I tried a Windows 7 machine, and I had the same issues that I had with Linux. I had similar issues to some of the reviews, and I did follow the instructions. This leads me to believe that the product is just crap.
I purchased the scanner in July of 2012 for $100. I just checked today, and it is selling for around $150. Amazing that the price went up for a product that doesn't work.
I have been converting all of my avi files to mp4 files. For the most part, everything has been going well, but I have been running into issues from time to time. I see sporadic errors in the ffmpeg output about not being able to render a frame. When I play that movie using the MK802 bundled HD player, I run into an issue. Part way through the video, I hear a pop, the video freezes for a fraction of a second, then the audio sync is off about 1/2 a second. The pop does not cause the file itself to have audio sync issues. If you rewind then immediately fast forward, you get right back where you are and the audio sync is fine. This tells me there is an artifact in that point of the file that causes the video player to mess up. I haven't tried playing the mp4 files in MX Player or Mplayer (on Linux) yet, so I don't know if it occurs in all players or just the bundled HD player.
In a previous post, I talked about converting 8MM video to AVI files burned onto a CD. Many people talk about how CDs and DVDs degrade and eventually lose data. This Christmas, I decided to copy all the AVI files off of the CDs. Luckily, none of the files got corrupted. I was able to convert all 22 files to MP4 files encoded in H264. I used Ffmpeg, which used x264. I encoded at 500kbps. Given the 320x240 resolution and the 15 fps, I could have probably gone lower in the bps, but disk space isn't much of an issue anymore. I converted the video from 3.8gb on 7 CDs to 2.3gb on a single Micro SD card. Below is the command I ran to convert. This is derived from research a buddy of mine did to get MP4 files that work on older iPhones.
Between 1958 and 1974, my grandfather made home movies with an 8MM camera. For Christmas 1996, my dad and I decided to convert those old 8MM films to a digital format to give to each family member. Our plan was to burn the videos on to CD-R's to give to the family. Although the DVD specification was created a year before, DVD-Video's didn't come to the US until 1997. We were a bit a head of our time.
Our setup was to put to tape a white piece of paper on a wall. We set up the 8MM projector to project onto the paper. We pointed our video camera (one of the big ones that you put a full VHS tape into) at the paper. Our computer had a Hauppage video capture card hooked up to the camera using an RCA cable. The computer had a state of the art Pentium 150Mhz processor in it.
Although it was a lot of horse power for the day, real time encoding of video was a problematic task. I did a lot of test recordings using various software and codecs to find the right mix that would allow us to encode in real time. We settled on R Bartick's RBCap using Intel Indeo 5. We encoded 320x240 video at 15 fps using 1101.0 kbps in yuv410p colorspace.
We encoded 22 movies into 3.8gb of data, split into 7 CD-Rs. This was a time when blank CD-R's were $1.50, and came with jewel cases. We got a discount for buying 100 blanks for $100. We had to make 7 sets so it was worth it. At this time, CD-R drives were 1x, and were very sensitive. The screensaver going on was enough of a CPU spike do disrupt the burning process and turn the CD into a coaster.
In a lot of previous posts, I have talked about having video performance problems and Youtube connection issues. There was some evidence that suggested that both were related to having overall network issues on my home network. It seems like some video formats could not use the hardware decoder if there was streaming issues. Also, Youtube seemed to buffer and hang a lot, on both HD and SD modes.
While traveling for the holiday's, I brought my MK802 with me. In a previous post, I talked about how my family really enjoyed the technology. This event did give me an opportunity to use the device in another network to see what issues occur or disappear.
As far as video performance, AVI/XVID files on the SD card were still not using the hardware decoder in MX Player. That didn't seam to be an issue, though. The software decoder was able to handle the load. MX Player still could not play HD content, though. I had to use the bundled HD Player. This made it a bit awkward, because depending on the type of format I was about to play, I had to switch between video players. This caused people to be a little confused, but as long as I was the one that was controlling the device, everyone was fine with it. All local videos did play fine, however.
Next, I fired up the Youtube app. I tried playing an HD video, but it wouldn't play. The buffering progress bar wasn't moving. I switched it to SD and the buffering bar started to move, but it still took 30 seconds before a video started. This was worse when a commercial would play because it took 30 seconds for the commercial to buffer, then another 30 seconds of silence for the video to buffer. This could an issue with the Wifi at the house, though. The WiFi signal was kind of low there. I fired up Wifi Analyzer on my phone and discovered that 4 WiFi networks were sharing channel 6. There was a 5th network on channel 7, but none above that. There were 3 networks below channel 5 but their signal strength made it seem like they were farther away. The local WiFi was strong enough that I could stream Pandora with no delay, however.
This leads me to believe their might be something wrong with the networking on the MK802. My buddy has an MK802 and he doesn't seem to have the problems I do, but he hasn't done as much as I have with the device. I'm waiting for the opportunity to test it on another network.
I went over to a family member's house for a gathering. While there, I talked about my MK802 and how interesting the technology is. Two family members immediately expressed interested in buying their own devices (especially when they found out it was less than 100$), but I warned them that it is the bleeding edge of technology right now. I warned them that I am an early adopter of this technology.
I decided that I would bring my MK802 with me the next day. I loaded it up a Micro SD card with home videos and old time Christmas specials. When I got there, I hooked up the HDMI cable and the Android screen was up. I started playing some of the home videos on the device just to demo them. After getting the WiFi password, I fired up the Pandora app to play Christmas music. After more family members arrived, I started playing the home videos. We went back and forth between music and videos for a while, then ended with the Youtube app. My family is very science-oriented, so I wanted to show some of the latest science videos.
The device was a huge hit. The flexibility to move from one function to another was great. At one point, we paused a video to play music. A family member expressed concern over being able to continue watching it. MX Player remembers where you are when we last played a video, so we were able to continue the video right where we left off. Everyone was very impressed. For an early adopter like me, it was well worth it. The only thing that would have made it better would have been Skype video calling support for the family members that couldn't be there.
I pay for Netflix. I get the streaming service as well as getting one DVD in the mail. My wife wanted to watch Disney's Brave. That isn't an unreasonable request. I put Brave on the DVD queue and I got the DVD in the mail. Netflix did their part. Next is our part. We inserted the DVD into our computer to play the movie in our living room. The DVD didn't work. Now, the computer is Linux, and DRM has always messed with Linux. I understand...the media industry doesn't support Linux. I try passing through the entire DVD to my Windows XP virtual machine. Both Windows Media Player and VLC cannot play the DVD. Ok, maybe its the entire "VM" thing. I can't expect every piece of software to run in such a weird setup. Since my wife is the one that wanted to watch it, I told her she should just watch it on her work laptop. She has a new Dell laptop that has Windows 7 Professional on it. She pops it in and Windows Media Player gives her the same error that Windows XP gave me: cannot turn on analog copy protection. Disney made a DVD so secure, that it cannot even be watched! I have decided that every time Netflix sends me a DVD that won't play on one of my computers that I will notify them that the DVD is damaged. In the mean time, here is Wil Wheaton talking about DRM. Enjoy!
My VM server had an AMD HD 6570 that passed through to Windows XP. That worked for a while, but I started to have issues. The card started to display horizontal lines and it wasn't fast enough to bump of the quality in some games. I decided to upgrade to an AMD HD 7870 (Ghz edition). I figured I could use the new card for Windows XP, where I do my gaming, and the old card for the Windows 7 VM. I use the Windows 7 VM for upgrading our phones and other things that mess around with drivers. There was not enough physical room in the computer for the 3rd video card, however. That is when I decided to buy the IOGear USB HDMI Adapter. The Windows 7 VM has a PCI Express AS Media ASM1042 USB3 controller passed through to it.
I plugged in the adapter and Windws 7 recognized it. It listed it as 3 separate but related USB devices. It green checks for two and a red X for one. For a fancy device like this, I can't expect Windows 7 to have the drivers already. I popped in the drivers cd and installed the software. After a reboot, Windows 7 had three green checks. I still wasn't able to use it, though. The Display->Screen Resolution screen did not show a second screen. After a reboot, I got a popup telling me that there was a driver update for the HDMI Adapter. I clicked ok to update and had to reboot again. After that reboot, I got a popup telling me the drivers were not supported on my computer and that I should update the drivers. The device still doesn't work.
Running inside of a VM causes issues. If you can get PCI passthrough working for a USB controller, then most USB devices will work in the VM. Some software tends to have issues inside of a VM as well. This means more obscure USB hardware has two things working against it from working inside of a VM. 1) The USB device itself might not like being passed through to a VM and 2) The required software for the device might not work correctly inside of a VM. I don't know if one of these two scenarios is what is causing the device to not work. I can try on another computer, but I have very few real Windows computers. I tend to uninstall Windows on any computers I buy and use their licenses in the VMs.
I have been using Mupen64plus for years to emulate the N64. It is the best emulator for Linux. The user interface left much to be desired and I found parts of the experience frustrating. It also didn't emulate all games properly. The project is still active and trying to improve itself.
After making a Windows VM with VGA Passthrough, I decided to give the Windows emulators a try. I had purchased USB-to-N64 adapters to let me use my original N64 controllers. These devices worked better in Windows. Mupen64plus worked better but still had issues in Windows. I decided to give Project64 a try.
Project64 is a free Windows-only N64 emulator. The interface is much more user friendly and supports far more games. As a whole, the product is better than Mupen64plus. In 2005, the development team decided to rewrite the core emulation engine. The 1.7 release has been in development since then. You cannot download the 1.7 version however. You must donate money to download it. If it were 2006, I might consider donating money to promote the development of the next version. Its not though. It is almost 2013. The main website gives no indication that 1.7 will be delivered faster and better if I donated. The last update is a year old. The website still states that as of 2008, they hope to deliver the 1.7 release by 2010.
Although classified as an open source project, the recent source isn't available. If it were, there is an opportunity to fork the project, if anyone was interested. Mupen64plus is actually a fork of Mupen64 to add 64bit recompilation support. I couldn't find the source for a version later than 1.4 of Project64. You have to dig into the forums to learn that the community is actually still active. In August of this year, a Google Code site was set up that posted actual source code with issues lists.
At this point, 1.7 is still listed as a beta. There is no information on the website that tells me what the current advantages are of 1.7 over 1.6. Is it faster? Does it support more games? Is it more accurate? Does it support network play? These are the indicators that would tell me to donate money so that I can try out 1.7, and contribute to the community. From my point of view, Project64 1.6 is still the best N64 emulator available. I am looking forward to the 1.7 release, but I am not very optimistic.
I see a lot of coverage for "Smart TVs". These TV's have built in support for streaming media from Youtube, Pandora, Netflix and Hulu Plus. Although I do pay for Pandora and Netflix, I do realize that those companies might not last forever. What happens to your TV if Netflix goes out of business? What happens if a new service comes out that is better than Pandora? If you are lucky, you can update your TV's software. If you are not, then you have to buy a new TV.
In the programming world, this is called "tight coupling". In system administration, we sometimes call it "direct integration". In programming, this is considered bad, while in the sysadmin world, it depends on who you talk to. There should be an abstraction layer between your content provider and your content player. Imagine if you had to buy a new TV if you switch from Comcat and Verizon. There is a protocol between the TV and the provider. That protocol has changed over time, but the current one is HDMI.
If you want "Smart" features on your TV, I highly recommend buying a device that will provide those features to you. If you want to upgrade your TV, you can do that. If a new service comes out that isn't supported on your device, you can buy a different one that does support it. If the device dies, you can buy a new one. If the TV dies, you can buy a new one.
As for which device to get, that depends. The Apple TV and Google TV are the new comers that are promising, but not fully developed. The Roku is getting really cheap and supports many services. It is not worth spending the extra money to get a "Smart" TV when you can buy a device that turns a "Dumb" TV into a "Smart" TV for less than the price premium.
I am one of those people that loves the command line. I like having the ability to write a script that allows me to execute something in a loop. Some programs are not very loop friendly. Here are some examples:
SSH
As a system administrator, you find yourself needing to execute a command on a bunch of servers. If you start out with a simple for loop with an ssh inside, you notice something weird. Only the first loop executed. It took me a while to figure out how to overcome this problem. The ssh program is a special program. It does special things with stdin to transfer control of it to the remote server. The problem with that is it consumes all of stdin inside of the loop. This means it consumes the contents of the for loop. I don't fully understand what is going on under the hood, but the for loop uses stdin. After ssh consumes stdin, there is no more entries to loop over. The simple solution is to echo into ssh. This gives ssh its own stdin to consume.
# Loop over hosts
for x in server1 server1
do
# Give ssh its own stdin
echo | ssh server1 hostname
done
Mplayer
Recently, I have been trying to convert my AVI files to MP4 files. I have been matching bitrates between the 2 containers/codecs. I usually use mplayer's identity flag to detect the bitrate of the source file. That worked when called once, but inside of a loop, it caused problems. Mplayer was corrupting stdin. I tried the echo trick, but that didn't work. Apparently, when you echo into mplayer, it acts differently. Instead of identifying the input file, it identified the input stream in stdin. When you are just echo'ing into mplayer, it just told me that it get an EOF. I couldn't get passed this problem. To get passed this problem, I ran ffmpeg against the input file, without giving an output file. The program errored out, but it gave the bitrate of the old filename in the error message. This is not repeatable, so I know this script won't last the test of time.
FFMpeg
I am using ffmpeg to convert from AVI to MP4. An interesting thing happened when executing ffmpeg (with an output specified) in a loop. FFMpeg displayed less output, but the x264 command it was running dumped the contents of the output file in hex format to stdout. The conversion was still happening, but GNU Screen was taking up 50% of one of my cpu's just to handle the stdout. I am sure the conversion was happening slower than normal as well. I couldn't get passed this problem either. I decided to convert my script to a bunch of echo's. I echo'ed the ffmpeg command instead of executing it. I redirected the output of the script to a file. Now I have a huge Bourne shell script that I could execute. That generated script contains no loops, so it runs just fine.
Most Android apps do not seem to scale to larger displays very well. Some icons seem to remain the same size. When I run the apps on my TV, I end up with a lot of dead space and hard to click icons. The air mouse works great for apps that scale well, but works horribly for apps that do not. I end up missing a lot and clicking the wrong buttons. I spend too much time trying to turn shuffle on in a music player. I complained about fullscreen mode in the Youtube app in a previous post. I am starting to learn how to write Android apps, and I'm making sure to scale the content so that the interface is usable on small and large screens. The API call I'm using Display.getSize(Point) specifically says not to use that size for scaling purposes, but I have not found another API call that will allow me to do that yet. The documentation says to use Layouts. I have not found a way to scale using Layouts. I still use Layouts for positioning, however.
I found a really awesome website that fits my tastes perfectly. www.programmableweb.com is a website that lists the various API's that are available for various websites. Some of them are unofficial API's. One of my specialties is integrating systems. I plan on using this website a lot in the future. I have some projects that I'm working on that will benefit greatly from it.
When I first posted about Netflix on the MK802, I only did a short test. The video seemed find and I didn't browse the menu's too much. My wife started using Netflix to watch some Christmas movies, and she started complaining. Since I first tried the app, the video quality in the app seems to have degraded pretty significantly. Also, the interface itself is really nice. Too nice. It looks so nice that it ran very slow. Although usable, you need a lot of patience. My wife reverted back to using the Wii to watch Netflix.
I have been using the Android Youtube app on my MK802. By default, the video only uses the top-left 1/4 of the screen. The botton-left 1/4 is for comments, and the right 1/2 is for related videos. On a TV want to watch the video in fullscreen. There is a fullscreen button, but there is a slight problem. The button is right above the thumbs down button. Both buttons are kind of small. The fullscreen button only appears if you click on the video. It also fades away after a few seconds. That means you have to be quick about hitting the button. On a touch screen, this is not a big deal. When you are using a mouse (or an air mouse), it can be a little difficult. On a few occasions, I accidentally clicked the thumbs down button. Every time it happened, I felt so bad that I clicked the thumbs up button to cancel it out. I wish there was a better way to make the video fullscreen.
In a previous post, I mentioned that the iHeardRadio app was not available for the MK802. I decided to fire up Bluetooth App Sender and transfer the app from my Nexus 7 to my Dropbox. I downloaded the APK file from my Dropbox and installed the app onto the MK802. It worked like a charm. The iHeardRadio app works on the MK802. It is just not available on the Play store.
In the mark-and-sweep algorithm, the sweep part of the algorithm defragments the heap by moving live objects next to each other. This sliding of the objects requires a lot of tracking. If your heap is small enough, it is more efficient to just copy all live objects to a new location instead of reusing your current heap.
This is what a copying collector does. Take your heap and split it in half. You use one half as your real heap. When you GC, you move all live objects into the other half of the heap. You now start using the other half of the heap. Every GC cycle you switch which half you use.
The main disadvantage of a copying collector is the amount of memory it uses. It essencially doubles how much heap space you need. This is where the generational garbage collector comes in handy. You can use the copying collector on the young generation since it is small. This makes the frequent GC cycles that much faster.
The AVI video container technically does not support streaming. The great video player Mplayer supported streaming AVI over HTTP, however. It starting playing AVI files immediately, and supported seeking in the AVI file. Since I use Linux/Mplayer, I was able to keep most of my videos in AVI format. After setting up the Android TV, I started having issues. I use the popular Android video player, MX Player. When I play an AVI file, it takes about 30 seconds to start. After it starts, it uses the S/W decoder so the video is a little choppy. I can seek in the video, though.
I started to research alternative video containers. H264 encoded MP4 files started immediately in the bundled HD video player. It also used the hardware decoder, so there is no choppiness. I would have to transcode all my AVI's to MP4 files, which can take a long time. My buddy gave me his script for converting files to MP4. He used it to convert the video's he recorded to work on his iPhone.
The next format I tried was MKV. The last time I tried using an MKV file, Mplayer would not seek into the file. I found that kind of ironic. For the current test, I used mkvmerge to convert a file from the AVI container to the MKV container. MX Player started the video with no delay. It also used the H/W decoder! I thought this was the way to go, so I started converting my videos to MKV. A few gigs later, I found a problem. I forgot to test seeking! MX Player does not support seeking in MKV files that are streaming over HTTP, just like Mplayer. Mplayer just ignored seek commands, while MX Player tries to seek, fails, and just sits at a black screen forever.
I still have a few things to try, but I my end up converting my entire video collection to MP4. I do have the horsepower to do it.