Time taken for delivery of puppies in dogs depends upon litter size. Small litter is delivered earlier than larger litter. Usually dogs can take 3-6 hours for the delivery of the puppies because dogs can go in to a resting phase that can be of 30 minutes to 2 hours after delivery of one puppy. So, if number of puppies are more in a litter then more time will be taken for deliver.
If you are not a professional breeder then don't take risk of whelping at home because delivery can be complicated in dogs. It will be more better to get help from vet.
If you are not a professional breeder then don't take risk of whelping at home because delivery can be complicated in dogs. It will be more better to get help from vet.