I'll come at this from a slightly different direction...
The current price of ETH is ~$1500.
The Yellow Paper states that storing a 256-bit (32-byte) word costs 20,000 gas.
Average gas price is currently ~100 Gwei. That's 100 x 20,000 Gwei per 32 bytes, which is 2,000,000 Gwei, which is 0.002 ETH, which is $3.
1 GB is 1,073,741,824 bytes, so there are 33,554,432 32-byte words. As above, each of these words costs $3, so each GB costs (3 * 33554432) = $100,663,296 at current prices.
5 MB would therefore cost ~$503,316.
Clearly the base cost of an NFT - before any abstract value has been applied - is not the price shown above, so NFT's can't actually be storing the associated picture or movie data on the blockchain.
If you look at the spec for EIP-1155 you'll see it defines an image
field in the token's metadata:
"image": {
"type": "string",
"description": "A URI pointing to a resource with mime type image/* representing the asset to which this token represents. Consider making any images at a width between 320 and 1080 pixels and aspect ratio between 1.91:1 and 4:5 inclusive."
},
If we look at a real example, in this case by calling the CryptoKitty (an ERC-721 token) API, we see the following:
-> https://public.api.cryptokitties.co/v1/kitties/1
{
"id": 1,
"name": "Flying Kitten",
"bio": "哎呀妈呀!! 本喵爬不更名,坐不改姓,就叫 #{name}!我的表哥是喵星球鼎鼎大名的多啦A梦。 不是什么太高调的事,不过本喵确实和汤姆猫有过相交之情。 本喵和你是不是上辈子见过呀?",
"image_url": "https://img.cryptokitties.co/0x5328276603d169165d0f71ca67ccc89c45027df3/1.png",
"image_url_cdn": "https://img.cn.cryptokitties.co//0x5328276603d169165d0f71ca67ccc89c45027df3/1.png",
"image_url_png": "https://img.cryptokitties.co/0x5328276603d169165d0f71ca67ccc89c45027df3/1.png",
"image_path": "",
"generation": 0,
And so we see the image files are stored off-chain.
Can we mint 5 gigabyte video NFTs?
Yes, given that they're stored off-chain...