Why does VLC player convert a 4-minute mp4 to a 4-hour webm? I used standard webm settings in VLC player 2.2.1 (the latest) to convert a 4-minute mp4 made in Handbrake. In the conversion panel it says "Streaming 04:00" but the end result is "03:49:15" and, on two further attempts, "03:56:28" and "04:04:23". The file size is almost the same as the mp4 (4MB).

The length of the webm video - i.e. more than 4 hours - is confirmed by MediaInfo and by Firefox native player, videojs player, and VLC player. In VLC player, I tried clicking on the progress bar to explore exactly what takes up 4 hours, but on-click it closes the video. In Firefox, the same test returns the video to frame 1.

Update (30 August)

I did a test on this "generic mp4": http://download.wavetlan.com/SVV/Media/HTTP/H264/Talkinghead_Media/H264_test1_Talkinghead_mp4_480x360.mp4. Do not know if it was done with Handbrake. Then converted it to webm, using default settings, with VLC 2.2.1. 

Results: The mp4 is 00:00:14s, the webm is 22:40:00s. But the webm is not really 22 hours long, it plays for 14s just like the mp4. However, in a html5 player, Firefox and Chrome native players and VLC player, the progress bar gives the length as 22:40:00.
Yes, it seems to be a problem of generated timecode. See https://trac.videolan.org/vlc/ticket/12713#no1

Switch to ffmpeg (with a GUI like Avanti) to avoid this issue. My answer to an earlier webm question may guide you on settings.