Currently on a top end rebreather, you can dive for about 5 hours before you use up your scrubber. The oxygen for this dive is about 7 litres! ( that is tiny )
When you breathe out you still have about 19% oxygen in your lung breath, and because of dead air passages up to 20% total. So your actual use of oxygen per breath is about 1%. Topping up that 1% from a bottle of pure O2 is easy. The issue is the scrubber to remove the CO2.
A guy from the IANTD is working on a water scrubber system, which allows disolved CO2 to go into the water. This will be a practical gill design!
( 5 hours is not long if you are a cave diver or a deep diver.... )