topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday April 19, 2024, 4:11 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Vurbal [ switch to compact view ]

Pages: prev1 ... 20 21 22 23 24 [25] 26next
601
Living Room / Re: Movies or films you've seen lately
« on: August 04, 2013, 11:08 AM »
Oh, for Lovecraft fans (especially old AD&D players):

Ooh! Me! Me!
.
.
.
.
.
.
.
.
Wait, did you just call me old? I'll have you know I didn't get Basic D&D until Christmas of 1983 which means I had to buy my original cover PHB used. That makes me a kid compared to most of the other Champions players I know. I'm certainly not old enough to remember any version of Deities and Demigods with Cthulu in it.... if something like that existed.... which I wouldn't know.....

Just get off my lawn!

602
Living Room / Re: Movies or films you've seen lately
« on: August 04, 2013, 10:47 AM »
I'm wondering why people are advocating Del Toro for a Lovecraft film... I've seen some of his work, and he's good, but Lovecraft?
It wouldn't make any more sense to to Hellboy like Lovecraft than to do Pan's Labyrinth like Hellboy. A lot of the design elements just made me think he was a fan. Since At The Mountains Of Madness is his dream project that seems right.

Have you seen The Devil's Backbone? It's a ghost story, so not exactly the same, but between that, Hellboy, and Pan's Labyrinth I'm satisfied he can do it. He hasn't put them together in a single film but he hasn't done Lovecraft yet. Given how giddy he is about it and his refusal to do it unless he gets to make it right he's probably our best shot at this point. Based on what he's said, though, it's a very long shot.

603
Living Room / Re: Slower Planes And Charging For Bathrooms
« on: August 04, 2013, 10:34 AM »
...is answered by "No Attendant, I will be pissing in this water jug here!"

For those considering this option, I recommend that you practice first and that you be acutely aware of the volume of your chosen container.

While aircraft mini-wine bottles measure around 170 ml and aircraft water bottles might be as large as 330 ml, you may find that during practice a 500 ml bottle is still insufficient. :P ;D
You say insufficient. I say economy urinal.

I think the important question here is do they have a drain in the floor of the aircraft?

They could pull out the carpeting an run gutters down the aisle. Don't expect them to provide a squeegee though.

604
Living Room / Re: Movies or films you've seen lately
« on: August 04, 2013, 10:00 AM »
I think however the best for it right now might be Chris Columbus if the whole look and feel of the first Harry Potter movie was anything to go by. Especially for Lovecraft's "Dunsanian" fantasies like Ex Oblivione or Hypnos. Although the noir vibe Zack Snyder does so well (Watchmen etc.) could work too with Lovecraft's darker mythos tales such as The Shadow over Innsmouth, The Shadow Out of Time, or At the Mountains of Madness.
Columbus would be an interesting choice. Before the Harry Potter movies I dismissed him as a second rate hack. In retrospect he was just stuck with a bunch of third rate movies. The first Harry Potter movie completely surprised me for just that reason. Chamber of Secrets made me a believer.

I'd still take Del Toro though. I think the biggest challenge to putting Lovecraft on the screen (big or small) is sustaining the creepy feel and IMO he's the master. The Devil's Backbone and Pan's Labyrinth are both full of that.

I hadn't thought about it much until I read Stephen King's book, On Writing, but the other big challenge is the lack of dialog. King was actually mentioning it as a positive by pointing out Lovecraft didn't like people so he was wise to avoid it. Even if you could pull that off - and it's not impossible - I can't see a studio allowing it.

605
General Software Discussion / Re: Software Installation Monitor
« on: August 04, 2013, 08:13 AM »
Revo Uninstaller Pro

Version: 2.5.8 (April 23 2012)

Method: Real-time monitoring

Free and Professional versions available.
It's important to note the free version doesn't do realtime monitoring but the brute force cleanup is excellent. It also doesn't handle 64-bit programs. This is IMO the gold standard. The price is also a little steep for me but if you wait for a sale you can get it significantly cheaper. Unfortunately I always seem to look at the wrong time.

606
Windows is nasty with USB. There are bugs where speeds crawl and the only way to fix it is to sacrifice several endangered chickens while chanting black magic in ancient Egyptian as you... etc. etc.

Try deleting the device in the device manager then rebooting. Idiotic? Yes. Does it work? Kind of. But you can try the chicken thing too. It probably works better.
And sometimes a port will simply stop working entirely until you reinstall Windows no matter what you do. But if you sacrifice the chickens first you'll have something to eat while you wait.

607
I'm disappointed the Death Star Kickstarter didn't make it. I really wanted to see a Raspberry Pi beowulf cluster.

608
Living Room / Re: Movies or films you've seen lately
« on: August 04, 2013, 06:05 AM »
I'm still desparately clinging to the delusion Guillermo Del Toro will get to make At The Mountains Of Madness. I think he could get it right. Hellboy clearly showed he's a real fan.

609
Living Room / Re: Slower Planes And Charging For Bathrooms
« on: August 04, 2013, 06:02 AM »
...is answered by "No Attendant, I will be pissing in this water jug here!"

For those considering this option, I recommend that you practice first and that you be acutely aware of the volume of your chosen container.

While aircraft mini-wine bottles measure around 170 ml and aircraft water bottles might be as large as 330 ml, you may find that during practice a 500 ml bottle is still insufficient. :P ;D
You say insufficient. I say economy urinal.

610
Living Room / Re: Domain Name Registrars
« on: August 04, 2013, 05:57 AM »
Your inspiration apparently has good timing. Maybe it really just wanted to make sure you saw that.

611
Wouldn't the need for those patents have to start before it could end?

Besides this wouldn't work for any of the patents I've read (and that's quite a few). "A bunch of vague stuff that's not new... do it with a computer " isn't code. Well it's code for bend over and grab your ankles but it's not computer code.

612
LaunchBar Commander / Icon problems with FileContents nodes
« on: August 01, 2013, 11:35 AM »
As part of the project I mentioned on the Easy Screencast Recorder thread I'm attempting to create what I'm calling a System Bar for Windows. The basic idea is to reimagine the (IMO severely outdated) Start Menu and Control Panel. I'll be creating a separate thread to get general input on it but I've suddenly run into a strange issue creating menus from text files.

I should probably mention this is on Windows 7.

The menu items in FileContents nodes suddenly started showing me incorrect icons. Instead of the icon I specify (using the /icon argument) every menu item displays the file handler icon you would see in a file manager. Here's where it gets really strange though. It didn't start happening until after I set the file associations for various standard image formats to XnView. At first I suspected XnView was at fault but it turns out the same thing happens if I associate the file extensions with MS Paint or GIMP. OTOH if I set it back to the Windows default (Windows Photo Viewer) that fixes the problem.

Here's an example when Photo Viewer is set to default:

PhotoViewerAssoc.png

And here's what it looks like when I change it to XnView:

XnViewAssoc.png

This doesn't affect any other type of node. In fact it doesn't even happen to the icon set for the node itself or icons automatically extracted from an executable in the text file - just icons set using the /icon argument. A (semi) educated guess would be that they are being processed in a file system context for some reason rather than actually being opened.

Here's the NirCmd menu with various programs set to default for opening ICO files:

 Default-PhotoViewer.png Photo Viewer (Windows default)


MS_Paint.png MS Paint


XnView.png XnView


GIMP.png GIMP

613
No, they want him to come home, and will not seek the death penalty.  Oooh....  :o :huh: :-\
Any time a politician makes a point of telling you what he isn't doing it's because he doesn't want to talk about what he is doing.

614
Living Room / Re: 3D Printers - Dirty Secret
« on: July 28, 2013, 10:06 AM »
Even thought it's exactly the opposite problem this reminds me of a job I had with a company that provided printers for 3M factories. One of the two 3M locations in this area produces sandpaper. They had one room which IIRC was used exclusively for cutting the huge rolls of sandpaper into sheets and packaging them. Each station had a HP LaserJet for printing shipping labels.

What they didn't have was any type of cover over the printers which were sitting about 3-4 feet away from the sandpaper rolls. Every so often the printers would have to be "cleaned" which meant taking the paper tray out, picking up the printer, and dumping the sand out on the floor.

615
I'd love it if they could get it together and stop operating from the "How Not To Handle Disruptive Competition" playbook. I certainly have a lot of respect for their engineers. I still probably wouldn't buy a BlackBerry but more serious competition (2 players is not enough) is better for everyone in the long run. The problem is they keep blaming everything but themselves for their market failures. All the engineering in the world can't fix that.

616
Nobody wants you to have a Blackberry!
BlackBerry's executives have certainly done their part to convince you not to buy one.

617
Living Room / Re: NSA Can't Search Emails Of Agency Employees
« on: July 25, 2013, 12:09 AM »
Chances are this was nothing but the typical deny first and don't bother checking later policy that government agencies (especially intelligence services) have WRT to FOIA requests. The CIA has it down to a science. Last year somebody filed a lawsuit after they responded to a FOIA request for nothing more than their FOIA policy and they responded saying their were no documents matching the request.

Now keep in mind every agency publishes their FOIA policy publicly so the only way someone whose job was processing information requests wouldn't find it is if they didn't look. In fact that was the point of the request - irrefutable evidence the CIA is actively ignoring the law like everybody knows they are. The NSA certainly does the same thing.

618
Dammit xtabber! I didn't want to spend any more money than I have to and I'm a complete sucker for O'Reilly 50% off sales... sigh... Thanks for emptying my wallet! :P :D

There must be some law Tim O'Reilly can be prosecuted under for selling crack disguised as books. Or at the very least for holding 50% off sales when I don't have any money to spend.

619
Thanks for the explanation.

Is it far off to say then that for a given source (image, video, audio clip), sampling is a process of creating a set of components (samples) which can later be assembled to create something akin to the original source?
Yes, that's basically what it is. The other important point to remember is that the samples do not contain the entirety of the original.

Where it gets more complicated is audio sampling. In video what's displayed are the samples themselves, In audio (assuming we're talking about lossless aka LPCM) the samples are merely numbers which can be transformed back into a (theoretically) perfect copy of the original waveform based on the Nyquist-Shannon Sampling Theorem.

620
I don't know if this can be simplified enough to make it worth adding to that post but I can explain in basic terms. I'll stick to video sampling for the moment because digital video and digital audio have some fundamental differences.

Sampling is sort of like looking through a screen door. You can't actually see everything on the other side of the door. What you see is everythng in between the vertical and horizontal lines. Those spaces are essentially analog samples. Even though your vision is being partially blocked your brain can fill in the details between the samples to produce a complete image.

Digital sampling is a little different. Going back to the screen door, if you increase the size of the spaces you're looking through you also increase the information in each sample. A digital sample, on the other hand, has a fixed amount of information. Each video sample represents one point or a single RGB value. When you reduce the number of spaces in the grid what you are really doing is increasing the space in between samples.

To get away from the screen door analogy entirely, think of a digital image as a grid made up of samples (data points) and gaps (the space between them). More samples means smaller gaps and less information your brain has to fill in. The goal is to have enough samples that you don't notice the gaps.

621
Living Room / Re: Computers Outlawed in Florida
« on: July 20, 2013, 09:59 PM »
The points above mostly all make sense, given that:
  • The police/SS seem obliged to deem cash business to be implicitly/potentially illegal, because you cannot trace the source of the money being used in the transaction to establish:
    (a) proof/certainty as to whether it was used for bona fide legal/legitimate purposes (e.g., it might be operating an unlicensed casino), or
    (b) whether the cash came from a "legitimate" or criminal source (e.g., as in money laundering).

  • There seems to be a necessary drive by police/SS to exercise State control over all financial transactions so as to be able to "prove" them at the POS (Point Of Sale), as the police/SS are otherwise unable to effectively police various areas of crime engaged in money exchange/laundering.

Fans of the Breaking Bad series will recall the problems with having all that illegally-obtained cash (millions) stashed away in the wall linings of your garage or wherever...

@sword may well be right though:
See, "Alice's Adventures in Wonderland", by Lewis Carroll
(Which I thought was a very droll comment.)    ;)

   But there is at least one other important aspect to this that I can think of - banking transaction "tollgate" fees - which are a huge real/potential source of revenue.
We have witnessed that payments intermediaries/agents (e.g., PayPal, Visa, Mastercard) can pick and choose at their whim which of their commercial accounts can use their services - e.g., withdrawing access to their payments service and freezing accounts for "pirating" organisations frowned on by the **AA or by the State (e.g., Wikileaks).
   There will undoubtedly be a financial benefit for this "self policing", probably in terms of some kind of a fee from the **AA or the State, and/or from the use-of money interest by effectively sequestering the funds (assets) in any frozen or "unclaimed" or "unclaimable" accounts.
   The precedent for this form of highly lucrative and legitimised piracy bonanza was set in the case of the thousands of secretive anonymous Swiss Bank accounts of wealthy Jews killed in the Holocaust, and of the hundreds (or more) of Nazi/SS generals who had squirrelled away their humungus stolen assets - the spoils of war. Sitting on that sea of "gifted wealth" after WW2 was what made the corrupt (QED) Swiss banks even more secretive (lest they be discovered and were asked to pay the legitimate account monies to the descendants/heirs of the "untraceable" account-holders) and is apparently the main reason for Switzerland's strong economy today and their pride of place in the respectable (ho, ho) banking community.

   So that represents a  view of the population providing lucrative revenue from the accounts that you have as a banking/financial intermediary. But what about the accounts that you do not have? They could be potentially very lucrative.
   Well, every cash transaction is a missed tollgate fee, and there are likely to be billions of them, and once you have established your bank as the tollgate financial intermediary for those accounts, you can collect a fee on every transaction. It's a tax levied by nominated financial barons, for an ephemeral service, and which is authorised by governments and their Agencies (which collectively are otherwise the authorised thieves tax-gatherers). The government cannot function without a well-subsidised banking system creating the magical "trust" money (debt) that government necessarily feeds upon for its projects. For example, to conduct its philanthropic "peace-making" wars on a global scale, or to conduct philanthropic global mass surveillance...
   Some people (not me, you understand) might say that this issue (fees and commissions to feed the banks) - and not crime - might be the main reason that cash transactions must be discouraged in favour of EFT-POS (Electronic Funds Transfer at Point-Of-Sale), or similar - all operated by/through the banking system - but I couldn't possibly comment.
I had actually been trying to work out the regulatory gatekeeper angle on this because it smells exactly like the kind of crap that everybody from online rideshare services to more upscale operations like Uber have had to deal with from the crony capitalists who regulate taxis. I suspect you've hit the nail on the head.

MasterCard and Visa have an extremely disproportionate amount of influence on the electronic payment infrastructure in this country. Their insane fee structures are the reason most businesses prefer smaller transactions to be in cash. Not by coincidence one of the more embarrassing revelations from the State Department that sent the US government on their Wikileaks witch hunt was about their "lobbying" on behalf of those 2 companies WRT Russia's development of their own electronic payment system.

(By the way, this may indicate that Bitcoin or similar must be verboten.)
According to the DHS goon squad it certainly is. You know somebody has friends in high places when they get to rent out the copyright police for their party.

622
Glad to help! It took me literally thousands of hours of reading, re-reading, and re-re-reading to understand this stuff so I know how frustrating (and unnecessarily confusing) it can be.

623
Before I get any deeper into this (oops too late) I think the best thing is to establish a common baseline so everybody (including me) knows what I'm talking about. Like anything technical it's essential everybody is speaking the same language so a lot of it will be pretty rudimentary. Also, see my signature.

Basic Terminology

  • Frame: A frame is the smallest group of samples you should need to be concerned with. Don't think pictures (like video frames) but rather data frames like in networking. Each group of samples has a header both to provide metadata and for muxing and decoding.
    • Video Frame: Every video frame, regardless of what standard is used for encoding, contains all the samples for 1 entire picture. The terms are basically interchangeable.
    • Audio Frame: The number of samples in an audio frame is determined by the relevant encoding standard. Any further details will be handled by the relevant DirectShow filters so this is already more than you probably need to know.
  • Stream: A stream is a sequence of video or audio samples.
    • Elementary Stream: This is a stream of video or audio frames. Some files appear to be containers (eg MP3) but are really just elementary streams with additional information tacked on.   
    • Raw Stream: A raw stream consists of nothing but samples. It typically has no file header and there are no frames. I only mention this because H.264 does not use frames (except in the video sense obviously) so except for special circumstances (which we shouldn't have to worry about it) should always be in a container.
  • Mux: Multiplexing multiple streams together is typically referred to as muxing. This is also similar to multiplexing in a data network except that the frames have to be in sync in terms of timing. Typically this means alternating between 1 video frame and multiple audio frames. This should be handled automatically but I figured it was worth explaining.
  • Container: When you mux streams together you put them into a container. The container has its own header to store metadata about the streams so they can be separated correctly later.
  • Demux: Predictably demultiplexing the individual streams from a container is better known as demuxing.
  • Encoding: Just like any other type of information video and audio have to be encoded in some standardized data format for processing by a computer. Encoding and format are not the same thing (see container) but they're commonly used interchangeably. If you're going to do that just make sure you're clear that's what you mean. If you want to be extra clear it's safer to call it encoding, standard, or encoding standard but even I'm not that much of a language nazi.
  • Encoding Standard: Some encoding standards are inseparable from the software used to create them. For example QuickTime refers to both the encoding standard and the encoder. However the most common encoding standards are entirely separate from the software itself. It makes things easier if you can separate them in your head. For example there are encoders called DivX and XviD but both encode video according to standards defined in MPEG-4 Part 2. It is not DivX or XviD video, but rather MPEG-4 ASP or MPEG-4 SP video.
  • Definition: Definition is the accuracy of a sample or group of samples. In other words the amount of detail captured. Once a stream is captured the maximum definition is set. It can never be increased but can be decreased.
  • Resolution: Resolution is the precision of a sample or group of samples. In other words the amount of detail encoded (stored) for a sample or group of samples. Increasing the resolution does not increase definition but decreasing the resolution permanently decreases the definition.
  • Interpolation: If you're familiar with this mathematical term that's all this is. Otherwise just think of it as a mathematical educated guess. It's used to create new information, typically for upscaling to a higher resolution.

Picture Groups

One way to reduce the size of a video stream is to avoid duplicating details which don't change from one frame to the next. This is particularly relevant to screen capture where it's common for several sequential frames to be exactly the same and many others to be nearly so. This section describes how this can be done by grouping pictures together. To best understand this information I recommend you read through the descriptions, attempt to follow the explanation which follows, and then repeat as many times as necessary.

  • I-frame: An Intra picture, more commonly known as an I-frame, is a full picture equivalent to a normal image file.
  • Delta Frame: Delta frame is the generic name for any frame which describes changes compared to one or more other frames. It cannot be decoded by itself. Any other frames it references must be decoded first. These may be Intra frames or other Delta frames - often both.
    • P Frame: A Predicted picture, more commonly called a P-frame, uses only references to previous frames. These are the most efficient delta frames in terms of encoding and decoding efficiency but the least efficient in terms of file size.
    • B Frame: A Bidirectional picture, or B-frame, describes changes relative to both previous and future frames. They are (on average) the most efficient in terms of file size but the least efficient in terms of encoding and decoding efficiency.
  • Keyframe: In the most basic terms a Keyframe is an I frame where video decoding can begin without referencing any previous frames. Although keyframe and I-frame are sometimes used interchangeably, not every I-frame is automatically a keyframe. Also be aware that whether a particular I-frame is also a keyframe may be a function of a particular application and not determined exclusively by the properties of the video stream.
  • GOP: A Group Of Pictures, or GOP, is a sequence of frames beginning with an I-frame which is followed by 1 or more P-frames and/or B-frames and sometimes also additional I-frames.
    • Open GOP: A GOP is considered open if it includes one or more delta frames which reference frames from preceding and/or subseqent GOPs.
    • Closed GOP: A closed GOP is entirely self-contained. No frame in a closed GOP references a frame from another GOP. At the very least a closed GOP cannot end with a B-frame.

This is an example of a fairly simple GOP structure, like what you might find in a MPEG-2 file. At the top is the order these frames will play. At the bottom is the order they will be encoded, decoded, and stored. Most of the I and P frames are encoded (and must be decoded) out of order because otherwise the encoder or decoder won't have the necessary information for the preceding B frames.

DisplayVsStreamOrder.png

It's also worth mentioning that the first GOP (00-05) ends with a B frame so it cannot be closed while the second (07-09) ends with a P frame so it can be.

For capturing you may use P frames (depending on your choice of encoder primarily) but never B frames because they're not suitable for realtime encoding. When you reach the final step of encoding for upload (or most other distribution methods) you will rely heavily on B frames to retain maximum quality at a minimal file size.

Containers

  • Matroska: Matroska is a free (as in speech, beer, and patent encumbrance) universal multimedia container. If Matroska doesn't support it you almost certainly shouldn't be using it. The only down side is a lack of support in video editing software and possibly a lack of support by online video services although YouTube is happy to accept Matroska uploads. If you want to use one of the big commercial editors Matroska will give you problems. Matroska files typically have a MKV extension for video or muxed video and audio. It can also be used for just audio although MKA is more common.
  • WebM: WebM is Google's open source media container. Actually it's just a subset of Matroska. However unlike Matroska you can't put just any stream you want into it. It's intended specifically for VP8 video which is a successor to the VP7 codec Flash Video was based on. Google bought On2, the company behind VP8, a couple years back to create an open source competitor to H.264. That hasn't happened yet. This one is more interesting than useful.
  • MP4: As the name suggests MP4 is the official MPEG-4 container. You can put H.264 or MPEG-4 ASP (DivX, XviD, and the like) video in this container and MP3, AAC, or AC3 audio. Other than storing H.264 streams (because they're a pain without a container) I don't have much use for it because I use LPCM or FLAC audio in my YouTube videos. If you prefer MP3 or AAC it's not a bad choice. Theoretically you can also put MPEG-2 video in it except I don't know about software support for it and I don't bother with MPEG-2 any more. The file extension should always be MP4 but you will see M4V used for video only files or M4A for audio (thank Apple for that one).
  • RIFF: RIFF is a ancient and generic container format for any type of data. Because it is not specific to any particular type of data it uses chunks instead of frames. Unlike a frame, a chunk does not have a header of its own. Instead it is referenced in 1 or more indexes at the beginning of the RIFF file. Each index amounts to master header for a group of chunks.
  • WAV: The WAV container is an implementation of RIFF specifically designed for audio streams. Although it can hold various types of audio you shouldn't be using it for anything except LPCM. For practical purposes it's enough to know that a WAV file can be treated like an elementary audio stream.
  • AVI: The AVI container is another specialized application of the RIFF format. It stands for Audio Video Interleave. Interleaving is just another way to describe muxing. Like all RIFF-based formats AVI files store the metadata (equivalent to frame headers) in monolithic indexes at the beginning of the file. There is one index for each stream so in our case there would be 2 - 1 each for video and audio.
        The relatively primitive nature of AVI's chunk-based approach makes it unsuitable for B-frames because VfW was designed around the assumption that frames are stored in display order. It can be done, but it is always a hack. That's why VfW has generally been ignored by x264 developers.
    • AVI 1.0: The original AVI specification, commonly referred to as AVI 1.0, is the only type of AVI file you can work with via the equally ancient VfW interface. It is officially limited to a file size of 2GB, although with some trickery AVI 1.0 files up to 4GB can be created and read. You may notice that these sizes exactly match the limitations of the FAT16 and FAT32 file systems respectively.
    • AVI 2.0/OpenDML: AVI 2.0 files use a Matrox extension of the AVI 1.0 standard called OpenDML which removes the 2GB/4GB file size limitation. There are other technical differences, but at the end of the day that's the problem of your DirectShow filters. As long as we're going through DirectX (which makes use of VfW components but not VfW itself) this should be the only type of AVI files to worry about.
  • ASF: This is Microsoft's proprietary container for Windows Media (WMV and WMA) if you capture to these formats you'll use it for initial storage and then you'll convert it to something else and switch containers. Almost nobody uses ASF because almost nobody uses WMV and WMA is almost exclusively used in Windows Media Center. The extension, predictably enough, is ASF.

Video Standards

  • AVC/H.264: MPEG-4 Part 10 defines an advanced video encoding standard better known as H.264 (the ITU designation), MPEG-4 AVC, or simply AVC (Advanced Video Coding). It is far and away the best video encoding standard in terms of quality vs. bitrate (file size) but due to the complexity required is also relatively CPU intensive to encode, and potentially also to decode. It also has a lossless profile which is particularly suited to low motion video like typical screen captures. H.264 streams are raw, rather than elementary so they should always be stored in a container. Although they can be stored in MPEG PS or MPEG TS containers MP4 or Matroska are typically used.
  • WMV 9: Windows Media Video is a family of video encoding standards of which only WMV 9 is of any particular interest as it is designed for everything from screen capture software to streaming. The VC-1 standard (aka WMV3, WVC1 or SMPTE 421M) used on some Blu-ray discs is a subset of WMV 9. At relatively high bitrate the quality is comparable to H.264. Being a proprietary Microsoft technology, WMV files are stored almost exclusively in their ASF container.
  • CamStudio Lossless: CamStudio Lossless is an encoding standard implemented by the VfW codec of the same name. There is also a decoder, but no encoder, built into FFmpeg. It is highly optimized for realtime encoding (eg screen capture) of low motion video. Within those constraints it offers unbeatable efficiency (small file sizes). The one caveat for this codec is that it can be tricky to decode in AviSynth. For some reason AviSynth doesn't handle the way CamStudio Lossless handles duplicate frames properly. To bypass this you simply need to use the FFmpeg-based FFMS2 source filter rather than VfW to decode it with. It can be stored in either AVI or MKV containers.
  • UT Video: UT Video is one of the newest lossless codecs. I haven't used it personally but for general purpose use it is reputed to be as good as it gets. I can almost guarantee it won't hold a candle to CamStudio Lossless for screen captures but if it's more "normal" video rather than super low motion like the typical screen capture it is apparently in a class by itself. Even if you don't use it for capturing it should be a great choice for intermediate tasks like editing. Being a codec means you'll need to put it in either an AVI or Matroska container.
  • FFV1: FFV1 is FFmpeg's lossless video standard. It can be encoded either directly with FFmpeg or via VfW using ffdshow (don't look for a release version it's in perpetual beta). For normal or high motion video it's one of the most efficient but it is fairly CPU intensive. For screen capture probably most suitable as an intermediate format for editing. However it is not considered as fast or efficient as UT Video so I'd go with that one first. You will need to store it in either an AVI or Matroska container.
  • MSU: MSU is a commercial lossless codec that's free for personal use. People seem to either love this one or hate it - either it works flawlessly or it chews up CPU cycles and takes forever. Tests I've seen seem to indicate it's efficiency (output filesize) is better than FFV1 but not as good as UT Video. I'll probably never bother to try it out just because I prefer open source alternatives which the rest of the lossless codecs on this list are. Once again this is an AVI or Matroska container.
  • HuffYUV: HuffYUV I include more for sentimental reasons than anything else I suppose. It's the original open source lossless codec and was originally written by Ben Rudiak Gould who also created the first version of AviSynth. It should be less CPU intensive than FFV1 or MSU, but still not as good as UT Video. Efficiency wise definitely at the bottom of the list. However it does have the advantage of being available either as a standalone codec or part of ffdshow. Again, AVI or Matroska container.

Audio Standards

  • LPCM/PCM: LPCM stands for Linear Pulse Code Modulation which may also be referred to as just PCM or uncompressed. This is a sort of universal and simple way of storing audio used for everything from Betamax to CD to DVD and Blu-ray. There is no standard LPCM elementary stream but LPCM in a WAV container can be treated like one.
  • FLAC: Free Lossless Audio Encoding or FLAC is an open source encoding standard for losslessly compressing LPCM audio. Unlike LPCM FLAC does use elementary streams which can contain a variety of (mostly CD Audio related) metadata. It can be stored by itself in a FLAC container. It can also be stored in a Matroska container either by itself or muxed with other streams.
  • MP3: MPEG-1 Layer 3 Audio is losslessly compressed audio typically found in an elementary stream which also has a sort of secondary header added for tag metadata. It can also be muxed into pretty much any container although typically it's found in MKV, MP4, or AVI files.
  • AAC LC: Advanced Audio Coding Low Complexity is part of the MPEG-2 standards family. At very low bitrates (128kbps or less) it tends to have slightly superior sound to MP3 at the same bitrate. At higher bitrates they are more or less equivalent. It is often referred to simply as AAC. Apple uses this encoding standard for iTunes downloads. There is no elementary stream format so raw AAC streams are typically found in MP4 containers by themselves. They can be muxed into MP4, MPEG PS, MPEG TS, or Matroska containers.
  • WMA: Windows Media Audio is a family of audio encoding standards which include a lossy standard more or less comparable in quality to MP3 as well as a lossless one. I could give you a lot more details but WMA really isn't worth the effort.

Windows Specific

  • Uncompressed Video: In Microsoft land uncompressed video is defined as RGB 4:4:4 (every pixel includes all three color components). Uncompressed video can be encoded or rendered directly without any additional components.
  • Uncompressed Audio: Microsoft defines uncompressed audio as LPCM at any bit depth and any samplerate. Uncompressed audio can be encoded or rendered directly without any additional components.
  • Compressor: A component used to encode video or audio to a format other than the ones listed above as uncompressed.
  • Decompressor: A component for decoding any video format except those listed above as uncompressed.
  • Splitter: This is Microsoft speak for demuxer. Functionally it's exactly the same thing.
  • Renderer: A component used to send uncompressed video or audio to your display or speakers.
  • VfW: VfW is Microsoft's ancient attempt to copy Quicktime. Most things you can do via VfW are better handled either through DirectShow or a standalone executable.
  • Codec: In VfW Compressors and Decompressors for a given format are typically included in a single Codec. However it's still possible to have a component that's just a compressor or a decompressor.
  • DirectShow: This is the DirectX multimedia framework which replaced VfW. While it is a huge improvement in terms of playback, it isn't always reliable for random access.
  • Filter: Rather than monolithic components like the codecs in VfW, DirectShow uses discrete components called filters. Each filter performs a single, specialized task like opening or writing a file splitting streams from a container, decoding or encoding a stream, or rendering uncompressed video or audio. DirectShow filter files have an extension of AX.
  • Pins: The inputs and output of DirectShow filters are called pins. To send information from one filter to another you connect the output pin from the first filter to the input pin on the second. Depending on the filter an input or output pin could also connect to a file or a device.
  • Filter Graph: In DirectShow the chain of filters used for a given set of operations is called a graph. A graph is built automatically by video playing or processing programs. It consists of the filters themselves and the connections between the various pins.
  • GraphEdit: Alternatively you can use a free Microsoft tool called GraphEdit to either open a file to see what filters are involved or manually build a graph by selecting your own filters and connecting them yourself. You can even save a graph to open with various tools just like opening a file. I actually use an open source tool called GraphStudio which offers the same basic interface but more features. In either case these are good tools for troubleshooting DirectShow problems. It's probably one of the better pieces of software Microsoft has ever produced.
      FilterGraph.png
    • MFC: Media Foundation Classes is essentially DirectShow except that it's locked down so they don't have all those pesky volunteer developers turning their crappy closed ecosystem into something infinitely more useful and interesting like they did with VfW and DirectShow. Just remember that no matter how much an MFC filter looks like something from DirectShow they're intentionally designed not to work with it.

    Color

    This seems like a simple enough subject. When you look at an object in the real world like your keyboard what you're seeing is whatever frequencies of light aren't being absorbed. Instead they're being reflected back. That's subtractive color. When you look at a computer monitor you are actually seeing light being shined directly at you. That's additive color.

    Each pixel on your monitor is actually 3 different dots, one red, one green, and one blue. This is called RGB color space. The intensity of each one determines the final color of the pixel and can be expressed in a value from 0-255. That's 8 bits per color or 24 bits per pixel making it 24 bit color.

    Video uses a different color scheme. Instead of RGB it uses YUV. The Y represents luma (light and dark) while the U and V represent chroma (color). Technically the chroma is only red and blue because your eyes are more sensitive to green and therefore it's more or less included in the luma. This is the YUV color space

    That also means the UV components don't need to be at full resolution because you won't be able to tell the difference. In fact they are usually only 1/4 the resolution which saves a lot of space. So now instead of 24 bits per pixel each block of 4 pixels uses 32 bits for luma but only 16 bits for chroma for a total of 12 bits per pixel. In other words half the original size.

    Additionally video colors have a different gamut than computer colors. For video, whether RGB or YUV, the values range from 16-235 instead of 0-255. That means not every color your monitor displays correlates to a legal color for video. These illegal values are called out of gamut colors. What this ultimately means is that the colors in your final video will be different from the colors on your desktop. It shouldn't be a big deal but it's easy to think you're doing something wrong when that happens or that there's some way to "fix" it. You're not and there isn't.

    What you should try to make sure of, though, is that you're not converting between RGB and YUV (actually YV12 once you include the chroma downsampling) more than once. If all you do is capture and encode that shouldn't be a problem. If you do any kind of editing in between you should figure out what colorspace your editing tools use and compare that to your capture codec. If your editing tools operate in RGB color space you should make sure you capture RGB. If they use YUV you can capture either RGB or YUV as long as you only perform the conversion once.

    Other Useful Software

    • AviSynth: This is one of the most useful and flexible video tools ever created. It's a script-based editor that uses its own custom scripting language. It's extensible with plugins and can even be linked directly to programatically. Even though it's GPL licensed there are also exceptions written in to allow developers to link to AviSynth.dll without worrying about whether they have to open their code as well.
          It basically works like this. You write a simple script specifying a source file or
      files to open and any processing instructions you may have and then save it with an extension of AVS. You can then open that script with just about any program that can open an AVI file and it supplies the output of your script as uncompressed video and audio frames. That sounds a little complicated - and it certainly can be - but it can also be as simple as 1 or 2 lines:

              AviSource("D:\Videos\MyFile.avi")
              ConvertToYV12()

      I won't demonstrate how much more complicated it can get because that would be cruel and probably not something you'll ever use. ;)
    • FFmpeg: This is the holy grail of open source video and audio programs because it allows you to decode just about any file you can come up with and also bundles numerous impressive open source encoders including x264 and FFmpeg's own FFV1. It is also a nest of potential patent litigation so you have to be careful about where your server is located if you choosed to distribute it with a program. In most cases it's better to simply link to a website where somebody is providing a download from beyond the reach of the various trade groups.
    • x264: H.264 is the most important video format in the world for the forseeable future and besides being free and open source x264 also happens to be the best x264 encoder in the world. It is a command line tool but there are lots of front ends available and honestly the command line isn't all that intimidating because the built-in presets are probably all you'll ever need. As with FFmpeg though, beware patent traps and the trolls who guard them.
    • AviDemux: This open source and cross platform video editor uses FFmpeg libraries to do all kinds of basic editing. It can also be run from the command line, making it potentially a good tool for preparing captured video for upload.
    • ffdshow: This is a package of DirectShow filters using open source libraries (predominantly FFmpeg) and also includes a VfW interface for them as well. You may not need it but I've used it for years.
    • mkvtoolnix: This is the official toolkit for Matroska files. You can put streams in, take streams out, join streams together, and numerous other things.
    • LAV Tools: Yet another FFmpeg-based toolkit. This one provides individual DirectShow filters implementing FFmpeg features rather than a single package like ffdshow. One of the more useful of these filters is a Matroska splitter. You can't open MKV files using DirectShow without one.
    • Preferred DirectShow Filter Tweaker: When you have more than one DirectShow filter installed to handle the same type of file each one has a priority. Sometimes you need to change the priorities of one or more filters to make sure DirectShow uses the one you want. This program can do that for you.
    • Media Player Classic - Home Cinema: This DirectShow based media player can handle just about any file you throw at it. You can also get all of its built-in DirectShow filters as standalone AX files.
    [/list]

    624
    General Software Discussion / Re: Swapping Out Software?
    « on: July 18, 2013, 08:15 PM »
    ^ I think a good deal of Adobe's motivation in what they're currently doing is to reduce the number of CSS customers (i.e casual users and non-pros) they have and focus on the hardcore graphics professionals. A market where they're firmly entrenched for many reasons both good and bad - but mostly good.

    When selling complex products that require support, the last thing you want is to have every kid on the block using it badly. You can be profitable (sometimes even more profitable) with lower sales figures. Because sales don't automatically map out to better margins. Sometimes small, very fat, and happy is where it's at for a tech company.

    Besides, non-professionals don't buy into those high margin support packages and add-ons that the pros do. No do they sign up for those expensive training sessions and workshops. You're lucky if they buy a book. And even luckier if they do more than give it a quick skim when they do buy one. Amateurs much prefer to tie up the support lines for ages when they need help. ("I don't know about any of that! Just tell me what I need to click on to do this...what? The tools menu? Where's that?)

    Supporting unqualified users can seriously hurt the bottom line. Autocad realized that ages ago. So did the producers of most of the other heavy-duty CAD, 3D modeling, and animation packages. Many almost seem to go out of their way to try and steer the 'average joe' away from their flagship products.

    No. This isn't an oversight, or hubris, or something stupid on Adobe's part. It's a very sharp and calculated business decision. I call it a "velvet rope" approach: qualified, target segment customers only, please?
     (see attachment in previous post)You say you do this for a living?
    Because your name's not on my list.



    Time will tell if Adobe called it right with this one. FWIW, when it comes to CSS, I think they did. 8)



    That's an interesting theory but it has nothing to do with Adobe's decision, and on top of that it would be a sign that their executives are completely incompetent. If the problem was that hobbyists cost too much to support because they make too much use of Adobe's services and don't pay for the extras they would either limit the basic support to make people pay extra for what they're getting now or simply raise the price of the software. What you're describing is like treating a sprained wrist by amputating your arm at the shoulder.

    But I don't have to guess at Adobe's motivations because they telegraphed them clearly just a day after they announced Creative Cloud (in 2011 IIRC). That was the day they announced that starting with the next Creative Suite upgrade versions would no longer be available for anything more than 1 version back. They didn't make a big public announcement about that. It just got a quick and quiet press release on the Adobe website.

    The reason for Creative Cloud is that Adobe wanted a way to force their smaller customers, many of whom were only upgrading every other version, to buy every version instead. That year they also announced they were transitioning to an annual upgrade cycle.

    The fact that all those things point to the same conclusion is not a coincidence. Creative Cloud is not about shedding customers or trimming support costs. It's about forcing their customers to give them money on a fixed schedule whether it makes sense for them or not. To quote The Princess Bride, anyone who tells you anything else is selling something.

    Adobe's actions amount to nothing less than looking their customers in the eye (not all of them but apparently a significant number in their eyes) and saying, "We've heard your requests and you can stick them up your ass. You'll get what we want to sell you when we want in the way we want and that's the way it is." There's a word for companies who do that. That word is footnote. Today they're pissing off their small customers tomorrow they'll be pissing off some of their bigger customers and before too long they won't have any customers to worry about.

    625
    The problem is that it's not designed as a realtime encoder.


    Fair enough.. And it probably makes sense to split up the job of rapid lossless recording vs the job of getting good compression.

    So we're back to the idea that ESR should have a way to post-process (either on demand or automatically) video into a format for uploading and sharing.

    Probably - but let me get back to you on the FFmpeg thing first and see what the options are. I suspect x264 ends up being to CPU intensive either way but we should start with a better picture of the possibilities before getting invested in anything.

    Pages: prev1 ... 20 21 22 23 24 [25] 26next