Cycles Photorealistic Felt Material?

He doesn’t need normal maps because he is using a procedural texture with generated coordinates. His surface is basically 3D.

I think it looks decent, but not seeing all the fibers on the surface takes away from the plausibility. If you could use more “hair” and have them randomly laying flat, that may help. You may need quite a few of them lying in random directions so that they overlap to achieved a convincing effect.

Edit: You may get good results by simply modeling strands and distributing them across the surface with particles. The strands will be guaranteed to be on their sides, and that should also use less memory.