I like to record CS:GO videos for my YouTube channel, and before this hasn't been problematic for me, but I've had this question on my mind for a while now. When i watch the mp4 file that was generated by Shadowplay after i finished recording, it would only play the audio, but not the video, as if that was all it recorded. However, when i put this file into my editing software, it also puts the video on there an if nothing unusual happened. I'm guessing this isn't supposed to happen, and even though in the long run it doesn't really stop me from making videos, it is rather annoying so is there any way i could fix this?
Audio and Video files can be compressed and encoded in many different ways. This doesn't just mean
.avi vs other, because the encoding within those files can differ as well: you could have 2
.mp4 files, and one will play and another wont, because they are encoded entirely different from one another.
Programs (such as media players) that then attempt to open these files need to not only read the file, but be able to decode the actual video or audio content in order to play.
So how are your Shadowplay videos encoded? Well according to nVidia's FAQ on Shadowplay, they are using H.264 video encoding:
Q: What video format is used by ShadowPlay?
A: ShadowPlay encodes video using H.264 codec and outputs in MP4 format. It's compatible with popular players such as Windows Media Player, VLC, and YouTube.
So to address your specific case where you're only hearing audio: what is happening is that Windows Media Player doesn't know how to decode the video, only the audio, thus you only hear the game and not see it. Your editing software on the other hand, can decode the video just fine.
You mention that you're using Windows Media Player, and funnily enough it's listed as a supported media player, however it's fairly notorious for not supporting a lot of encodings. I would suggest against using it.
Instead, if you want a media player that generally supports a lot of different encodings, I would suggest using VLC Media Player.