I've created a port forward for OctoPrint in my router, and I can now access OctoPrint from the internet just fine, but the webcam image doesn't work, what do I need to do?

If you want to access OctoPrint from the internet including webcam support, I strongly suggest you put haproxy in front of it and make everything reachable under port 80 (OctoPi users: No need to do anything, OctoPi already comes preconfigured this way, so hands off!), because otherwise getting the webcam to work from within and without your local network will be impossible. So just configure haproxy as described (or alternatively use another reverse proxy), then just forward only port 80 in your router and configure OctoPrint to use /webcam/?action=stream as Stream URL. This is not a typo, it is a relative URL that will make it work "magically".