Hmmm it depends on the path the user can follow and the user expectation. Which they both affect each other. You may do research and realise your path can be optimised to fit the user behaviour and viceversa.
- scanning: mute autoplay
- selecting from a list: autoplay with sound after click
- change defaults based on user configuration: e.g. activate sound on a video, remember it for other videos
That being said here are some examples that may help for your particular use case.
Scrolling a "wall" of content. Think about images since are simpler than videos. The user scrolls and can instantly see the content. Very natural. Now let us add videos to our "wall". What makes a video a video? The fact that it can play. So if the user is scanning content he will want to autoplay (but only one video at once). Sound may be questionable so you shouldn't autoplay. The user may be multitasking.
Choosing a video from a "buffet" of videos. The user already searched for it, decided it wanted to see it and clicked on it. Once the user clicked the video you better play it.
Mixed content. The primary content it's not video focused, let's say that you may have documents, videos, images, etc. Showing a generic format that applies to all formats helps scanning content really fast. The user learns one pattern that applies to all content. Now we can add one, max two details that are unique to each type. For example an icon or a preview. In case it's not clear, no autoplay here.
The last example does not directly apply to your question, but I believe it helps to see the difference.
Of course once you understand what is the core flow you can polish it or account for the other issues you mentioned.
Bad connection? Show only a thumbnail so the user can still get a visual clue of what the video is about. No autoplay anymore :(.
Searching in a list of videos? Aid the thumbnail with a rating from other users, descriptive labels, metadata related to the video. The user can't play all videos and decide. But once the scan/search part is over, autoplay is expected.
Ads? Of course no autoplay... but well, i'd do it for bitcoin.