Too fast video - possible solutions or workarounds.

12,660 views
Skip to first unread message

mjs

unread,
Sep 11, 2022, 12:11:42 AM9/11/22
to Video DownloadHelper Q&A
There have been a number reports of downloaded videos where the video speeds by very quickly as though it is on fast forward. Then for the remainder a frozen frame with audio Only. Some of these reports sound like the problem is with private Vimeo videos embedded on other sites. Video Downloadhelper appears to download the video only from a dash manifest regarding Vimeo videos. The problem could be with video hosted elsewhere.

This post proposes possible solutions or workarounds for too fast video. First lets deal with Vimeo. If it isn't working in VDH even after checking every video resolution then it sounds like a problem with the dash manifest. So lets avoid that and try other options.

Try these tutorials on YouTube, they're of course done in Chrome but can also be done in
Firefox in a slightly different way.

Example 1:

Example 2:

In example 1 for Firefox , you right click on the url and click or hover over Copy Value then click Copy Response. As seen in image :

vimeo.png
Now paste what you copied in a rich text editor such as WordPad or something similar.

To get an mp4 link of the video use the find function and type mp4 then click find next.
Keep clicking find next to get the resolution you want. You'll see width:1920 , and after that a url. This is the 1080p resolution.

Screenshot 2022-09-11 125811.png

Copy this url as seen in image and open it in a new tab , right click save video as. Choose name and directory to save video.

In example video 2 for Firefox , find the script part shown in the video and right click on it. Then click or hover over Copy then click Inner HTML.

vimeo1.png


Paste what was copied in a rich text editor like before then repeat the step to find the mp4 url as shown in the first example to download video.

I'll post another way using youtube-dl for Vimeo.

Wild Willy

unread,
Sep 11, 2022, 12:44:37 AM9/11/22
to Video Download Helper Google Group
Good work! I can attest that this also happens with livestreams I have recorded from the
NBC Sports/Golf Channel web site. These recordings are HLS & at least 90% of them record
perfectly. For example, I've recorded the first 3 rounds of a golf tournament Thursday,
yesterday, & today. There were no problems with them. But every once in a while I'll
get the too fast video problem with one of these golf livestreams. Since these are
livestreams, there is no possibility of "trying all the resolutions." I don't know until
the recording ends whether the problem has occurred. By then, obviously, the livestream
is no longer available. Worse. Trying to access the manifests through Network Monitor
gives 403 Forbidden - access denied. These download with VDH so Michel is doing some
sort of magic to get the livestreams. But I can't even look at the master manifest.
There is a master manifest but all attempts on my part to read it are blocked by the 403
error.

I opened a thread over a year ago in which I have posted an extensive discussion of this
problem with an explanation of the evasive maneuvers for repairing one of these too fast
videos over here:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/w9993gUmxr4

Although mjs is focusing on Vimeo content & my discussion focuses on Golf Channel
livestreams, my evasive maneuvers should be able to repair the Vimeo videos as well.
However, if mjs's advice to try all resolutions turns out to work for your video, that is
certainly easier than my evasive maneuvers.

mjs

unread,
Sep 11, 2022, 2:32:11 AM9/11/22
to Video DownloadHelper Q&A
Downloading  private Vimeo video using youtube-dl. What is needed :

On Windows , youtube-dl , ffmpeg ( includes ffprobe and ffplay )  I have the .zip version which can can be extracted by Windows. And  Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package (x86)  ( install this if you don't have it )

On Linux and Mac , you need only youtube-dl  and ffmpeg installed. I don't know about Mac computers but in Linux you should be able to install both from your software manager.

This will be explained on Windows. Once you have everything and ffmpeg has been extracted make a new folder called youtube-dl. 
Next place youtube-dl, ffmpeg ,ffprobe and ffplay inside this folder. Then put the folder in your desired directory.
With the folder open you'll see what looks like an address bar above it. Click in there and type cmd and press enter. You have now opened the command prompt for the directory youtube-dl is located in. To select youtube-dl press the tab button until you see it then give a space .
Next copy url of the video in your browser address bar . What we want to is bring up a list of formats for the video. So type  -F  give another space then paste the url and press enter. With a list of formats we can choose what to download and that also means avoiding dash manifest variants.  Example of what it looks like in below log file.

To a choose format repeat those steps to select youtube-dl, give a space.Try the http-1080p
version. Type -f  http-1080p then paste url and press enter. This version won't be downloaded from a manifest.
If you choose a hls version you type  -f  hls-fastly_skyfire-5614 give a space then paste url and press enter.

The format code has to be exactly as you see it from the list of formats.

The first example should look like this :
Screenshot 2022-09-11 161822.png

The second example should look like this :
Screenshot 2022-09-11 162121.png

log.txt

mjs

unread,
Sep 11, 2022, 2:58:58 AM9/11/22
to Video DownloadHelper Q&A
For too fast video downloaded from other hosting platforms besides Vimeo , ffmpeg may be the only way. It could be something called
timed_id3 data included in the manifest. Using ffmpeg you can omit this. This might seem intimidating and complicated but further down
the discussion there is a simplified way using ffprobe.

mjs

unread,
Sep 15, 2022, 11:02:03 PM9/15/22
to Video DownloadHelper Q&A
If the problem resides on Vimeo.com rather the video being embedded on an external site, try this method.

Go to the video that has the issue, let the page finish loading. Then press F12 or Ctrl + Shift + I  to open the Developer Tools.
Click on Network , click in the Filter bar and type player.vimeo.com then reload the page with the video. There should be a url it finds.

Screenshot 2022-09-16 114033.png

Double click this or you can also right on it and open in new tab. Now scroll down about half way down and you'll find mp4 links corresponding
to the resolution. Choose the one you want and open the mp4 link in a new page. Now right click on it and save video as, choose a name and a directory to save video.

Screenshot 2022-09-16 at 11-46-44 https __player.vimeo.com.png

mjs

unread,
Sep 19, 2022, 10:55:12 PM9/19/22
to Video DownloadHelper Q&A
Lets look at an example video I was sent by email : https://akademie.dubistgenug.de/aufzeichnung/

It is in German , I don't know the German language but lets see how it went in VDH. I downloaded this video in Linux and Windows in the 2 resolutions available.

They both played fast like it was on fast forward , in VLC though it just had a frozen frame with the audio playing. And the Windows version had no
watermark added as I have no license. The thing to note is both versions have a extremely high frame, a typical video should have 25 frames,
30 frames or 60 frames. The one on the left is from Linux and the one on the right is from Windows:
Screenshot 2022-09-20 113847.png

On Windows no watermark , even though it said one was added :

Screenshot 2022-09-20 111545.png

Now lets see how it went without VDH. I downloaded the video another 2 times both being Video only and no audio as I just wanted to see
how the video played. I used 2 different methods, one is the youtube-dl method I've already mentioned. On this method I wanted to see if the dash
version had a problem because VDH downloads the video from a dash manifest. I downloaded it and it played fine at normal speed.

The other method I used which I'll show is a less convenient way as the video and audio would be downloaded separately in the browser.
On the page for the video select the resolution you want by clicking the gear icon in the video player. Then press f12 to open the developer tools.
Click on Network and click Media. Reload the page with the video and you should see media urls. If you don't then start the video for a few seconds then pause it. There are both audio and video in there. The audio is on top and the second url is the video:

Screenshot at 2022-09-19 12-03-28.png
 
Note the &range=numbers  in the image , this is the part of the url that needs to be removed when you open the url in a new tab.
Just double click on it or right click on it and open in a new tab. Then click in the browser address bar and go all the way to the end of the link and
remove &range=numbers and press enter. You can then save the media whether it being video or audio by right clicking on it and Save video / audio as. In this instance I've only downloaded the video , but you can get both video and audio and play them together in VLC or merge the 2 files with VDH or ffmpeg itself. The video played fine once again at normal.

Video properties on the left , a dash variant downloaded using youtub-dl . Video properties on the right , video downloaded in browser by using the
developer tools. You can see they're the same :

Screenshot 2022-09-19 151751.png

The conclusion is that for whatever reason VDH gets a video with a very high frame rate and it plays too fast. Is that because the dash manifest
is damaged or is it something else. I don't know but I've shown it can be downloaded using other methods and it plays fine at normal speed.

Wild Willy

unread,
Sep 20, 2022, 1:59:40 AM9/20/22
to Video Download Helper Google Group

I visited your German web page. I don't speak German either so I can't comment on what
the guy was talking about. I found it interesting that this page has both a video player
& an audio player. I guess you can just listen to the guy if you don't want to watch
him. Without launching playback in either player, VDH recognized both the audio only
file & the video. I tried downloading the video with VDH & got results similar to yours:
no video with good audio & totally strange Windows File Properties on the Details tab.

Then I took a slightly different approach to yours. As advised (sort of) in those
YouTube videos by Vid Down Madness you quoted in your first post, I looked in the Network
Monitor for something with the word player in its name. I found an item named player.js.
I popped up the context menu on that in the Network Monitor & executed the "Save All As
HAR" function. I have no idea what a HAR is. Half a laugh? In the resulting file
selection dialog, I called the file vimeo.json, changing both the file name & the file
extension. I then edited it with Notepad++. I searched for m3u8 & found 8 occurrences
of a master.m3u8. I didn't study the URLs. They are long & full of gibberish letters &
digits. But it seemed like it was 8 occurrences of the same HLS manifest URL. So I
copied the URL out of there & gave it to ffprobe.

Aside: It seems like there's some sort of escaping convention in effect in json files.
Every " seems to be coded as \" instead of just ". This tripped me up in a previous
attempt to interpret one of these json files. In that other case, I thought a URL ended
with \. Not true. It was simply that the " terminating the URL was being escaped as \".

As I was saying, I ran ffprobe on the HLS manifest URL. It gave the results you can see
in the file I've attached. You can also see in there the ugly URL of the HLS manifest
that was the target of this ffprobe report.

You can see 3 Programs in the ffprobe report. You'll notice that audio Stream 0:0 is
shared by all 3 Programs. Two of the 3 video Streams are of resolution 640x360, 25fps.
But Stream 0:1 says its variant_bitrate is 759711, while Stream 0:2 says its
variant_bitrate is 774254. That makes Stream 0:2 the one of higher quality, although at
such a low resolution, the difference is probably hardly noticeable. Stream 0:3 was of
resolution 426x240 & I didn't consider it. This means that I would be using -map 0:2
-map 0:0 to get this video with ffmpeg.

Which I did. It took 00:04:05 to get an MP4 of about 162M, an average of a bit under
700,000 bytes per second download speed. I am attaching the image of the Windows File
Properties Details tab. Of course, the file played fine in VLC.

I suppose I should give the reference for how to use ffmpeg. Start here:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/BzPLK2YyL-s

Then do a search for the text "cannot download" on that page. That will give you a link
you should click. It's all explained in there.

While I was in the json file, I also searched for mpd, hoping to find a DASH manifest.
There were several occurrences of video/vnd.mpeg.dash.mpd. This is clearly a partial
URL. But I tried prepending https://i.vimeocdn.com/ to come up with a complete URL.
That didn't work. The HLS manifest resides on akamaized.net, but prepending that to the
DASH manifest partial URL didn't work either. I don't know how to come up with a DASH
manifest URL given what I see in the json file. Looking at the hit details of the file I
downloaded with VDH is no help. There is no manifest mentioned in there, only media
URLs. I don't know if an actual DASH manifest exists. It could be that information in
the json is manipulated to come up with media URLs for downloading. VDH finds something
in there but I can't figure out how or what.

But this is moot. Michel has posted on here that only the YouTube style of DASH is
supported by VDH:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/yj0X6iZxBVo/m/jqU_cjO5EAAJ

I was unclear about the relationship between YouTube & Vimeo. They are apparently not
related at all. Vimeo has had a string of ownership changes & as far as I can tell, is
currently independent, publicly traded on NASDAQ. There is a Wikipedia article on them
(of course). YouTube, as we well know, is owned by Google.

I think I was confusing Vimeo with Vevo. Vevo, also the subject of a Wikipedia article,
is also separate from YouTube. But the article says Vevo is focused on "YouTube
syndication." I don't really know what that means. I think it means Vevo has some sort
of relationship with YouTube that Vimeo does not. I have downloaded videos from YouTube
that have the Vevo flag on them. In any case, Vevo is not YouTube. And Vevo is not
Vimeo.

Whatever. VDH doesn't understand how to handle embedded Vimeo content. I think there is
just enough similarity between YouTube & embedded Vimeo to confuse VDH. I have
successfully used VDH to download Vimeo videos. Well, one at least:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/yRowBqZXoKQ
https://groups.google.com/g/video-downloadhelper-q-and-a/c/GRHKV7ryDuk/m/9ygPXk7BBwAJ

So it must be that whatever a web site has to do to embed a Vimeo video, it adds this
layer of complexity involving the json that is not there on Vimeo directly. And that
causes problems for VDH.

Between mjs & myself, we have offered you have an array of options for successfully
downloading embedded Vimeo videos that VDH fails to download.

I'd like to comment on the Network Monitor. It is a handy tool at the center of a lot of
discusion on this forum. It is the place to start improvising an alternative approach
when VDH fails. When you have trouble downloading something with VDH, open the Network
Monitor & see what's there. Try the things mjs & I have suggested. Maybe you'll come up
with your own twist on things. If you do, please post your innovation here. Sometimes,
when you open a video in its own window, as mjs has described, you can use VDH to
download it from there. Sometimes. No guarantees. Lots of web pages consist of all
manner of things besides the video you want to play. These are things like links to
similar videos or to other parts of a series of videos. Or the strip down the right side
of YouTube pages giving links to other videos that may or may not have anything to do
with the video you're interested in. When you double click on an MP4 or WEBM or MKV in
the Network Monitor, you are generating a web page that contains only that one video.
Perhaps this narrow focus helps VDH recognize what it needs to. Perhaps it strips away
certain levels of complication that trip VDH up on the original page. But you can
usually use VDH when you have one of these mostly empty pages. You can also, as mjs
describes, pop up the context menu on the video player & use the browser's "Save Video
As" function. Whatever works.
ffprobe.txt
Properties.jpg

mjs

unread,
Sep 20, 2022, 5:43:03 AM9/20/22
to Video DownloadHelper Q&A
I haven't done it that way before , how do you get the manifests from notepad++

 If you follow how I did it using Copy Response on the player.vimeo.com url  it has the same manifests in there.
Also in there I found one reference to dash :

"cdn_url":"https://f.vimeocdn.com","vimeo_api_url":"api.vimeo.com","request":{"files":{"dash":{"separate_av":true,"streams":[{"profile":"d0b41bac-2bf2-4310-8113-df764d486192","quality":"240p","id":"4402bbcc-d1dd-43c5-b298-ecf0e14c68b4","fps":25},{"profile":"f9e4a5d7-8043-4af3-b231-641ca735a130","quality":"360p","id":"2756523e-fec1-4716-86d8-a6c2adb283c0","fps":25

It looks like instructions to play audio and video as separate streams , if so then that is what I see in the developer tools / Network.

Wild Willy

unread,
Sep 20, 2022, 8:40:22 AM9/20/22
to Video Download Helper Google Group

First question answered in the attached sequence of images.

Copy Response . . . Interesting. I broke down & tried to find information on what HAR
is. HTTP Archive. It appears that your Copy Response & my Save All As HAR do the exact
same thing. Interesting that you found player in an item retrieved from domain
player.vimeo. com, while I found player in the file name player.js, which was in domain
f.vimeocdn.com. It looks like we've taken different paths to almost the same target.
Almost. Not quite. But like I said, we're offering an array of possible solutions.
People should take away from this that there are multiple ways of doing things. You need
to keep an open mind. Observe details. Improvise. Guess. Different sites will present
their data differently. Just use the Network Monitor to mine for gems.

The character string dash occurs many times in the json file in my illustrations. There
appear to be a lot of references to the dash character for drawing . . . something, I
don't know what. Only a few occurrences of the string dash seem related to DASH
streaming. None of them is near anything that looks like a URL I could use. There are
plenty of partial URLs, but I don't know how to complete them into usable URLs like
https://sitename/something/something/something. The example you gave is a bunch of
unintelligible stuff that doesn't give up a URL either. DASH seems to be a whole
different class of problem. HLS is easy as pie by comparison. Complete URLs to
manifests, ffprobe, wam bam, ffmpeg gets your video lickety split, next case. Maybe
that's why VDH has such trouble with DASH. Everybody seems to cook their own. VDH
handles the type of DASH that exists on YouTube. Handles it well. I get stuff off of
YouTube regularly with VDH & it's rarely a problem. I've kind of sort of figured out how
to get stuff off of YouTube with ffmpeg, but I get download speeds of 25,000 bytes per
second. Just as a proof of concept, I downloaded something from YouTube with ffmpeg a
week ago. It was about 1 hour duration & the download took FIVE HOURS! There is just no
advantage to using ffmpeg on YouTube. It is very much a desperation tool for me there.
But that's YouTube. Obviously, embedded Vimeo content is a problem for VDH. On the
other hand, content hosted directly on Vimeo seems to be no problem at all for VDH. But
that stuff is HLS. We've had a number of problem reports from European web sites that
use DASH & I've been able to find mpd DASH manifests in those cases. I've gotten
complete URLs to the DASH manifests out of the Network Monitor. At that point, it's
basically the same as HLS. I pump the DASH manifest through ffprobe & it gives reports
that look the same as any HLS results. Then I just run ffmpeg the same as for HLS
streams. VDH has problems with those sites but ffmpeg works like a charm. There's just
no predicting. Each case seems to need its own unique hand-crafted solution. I see our
effort here as a way for people to try stuff like we've done. It may work the same as
we're describing here. Or there may be differences. The uniting, underlying,
fundamental principle is the Network Monitor. Mine for gems. You don't know what you're
going to find until you start looking.
#01.jpg
#02.jpg
#03.jpg
#04.jpg
#05.jpg
#06.jpg

Wild Willy

unread,
Sep 21, 2022, 12:08:43 PM9/21/22
to Video Download Helper Google Group
It is important to understand that there are circumstances in which no downloader, not
VDH, not ffmpeg, not youtube-dl, no product will successfully download the content you
want. In such a situation, your only recourse is a screen recorder. I have something
called Open Broadcaster Software. OBS. I stumbled upon mention of it one day when I was
doing web searches on some other subject. It sounded like something I could use so I got
it. It works well enough in the few situations in which I have used it. I don't want to
project that I am any kind of expert on the subject. I found OBS, it worked well enough
for me, & I stopped my search. There are other products out there that do the same
thing. They may be better, they may be worse, I can't say. A screen recorder is always
a last resort solution. When you use such a product, it records the video & audio
playing on your system. You have to set the recorder to record, then launch playback of
the item you want to record. If it's 5 minutes long, it will take 5 minutes to make the
recording. If it's 4 hours long, it will take 4 hours to make the recording. While the
recording is in progress, you pretty much can't do anything else on your system. If you
switch tasks, the recorder will faithfully record the momentary interruption of what's
displayed caused by Alt+Tab. At least, that's how it works on my Windows 7 system. When
I've recorded things, I generally start the recording, then go to sleep. Clearly,
downloading is always preferable. But in the cases I describe below, a screen recorder
may be your only option.

The most common way of preventing downloads is Digital Rights Management. DRM. DRM is
one of the few things in the world of multimedia that seems to be something of an
international standard. Its primary purpose is to prevent downloading of content. You
can easily tell whether something is protected by DRM. Go into your browser settings &
disable the DRM support. Then try to play the content. If it plays, then it's not
protected by DRM & downloading is probably possible. If playback fails, turn the DRM
support back on. If the content now plays, clearly it is protected by DRM, and you'll be
out of luck.

But that's not the only way web sites thwart downloaders. We've been talking about
finding manifests, jsons, MP4s, & the like in the Network Monitor. If you try to
retrieve these objects on a site that wants to thwart downloaders, you can encounter the
error 403 Forbidden - access denied. This indicates that the item you tried to access is
protected by a password. Of course, the web site does not publish the password so once
again, you'll be out of luck.

And there's yet another thing you can encounter. In order for VDH or ffmpeg or any other
product to read content from a web site, it must send certain commands to the web site.
The web site could have been configured in such a way that those commands are not
implemented. You'll get an error message like Invalid Command. One time I even saw an
error message that said Command Not Implemented. Once again, you'll be out of luck.

But, you say, I can play the content with the player embedded on the web page. How is
that possible but I can't download the content? I am not an expert on this but I believe
the embedded player uses encrypted commands & secret passwords & things like that. The
web site knows how to communicate with the player on the web page on your system. But
when you try to download the same content or even just inspect it, you will be blocked
one way or another.

Now, it is possible to see some of these errors when there's nothing blocking
downloading. I've hit the 403 error when I've entered an incorrect URL. So before you
decide to resort to the screen recorder, inspect the URL you've used in ffprobe, ffmpeg,
youtube-dl, or whatever tool you're using. Inspect it carefully. Inspect it twice.
Inspect it three times. Inspect it till your eyes hurt. URLs are typically such ugly
monstrosities that you should be copy/pasting them, not trying to retype them yourself.
But maybe you accidentally brushed a key on your keyboard & oops, bad URL. So be careful.

Wild Willy

unread,
Sep 22, 2022, 8:41:01 PM9/22/22
to Video Download Helper Google Group
I was intrigued by your use of the menu entry Copy Response. I went back to that German
video & found the item named player.js that I had found. I tried several menu
selections, including Copy Response, and what I got was not useful in every case, except
for Save All As HAR. But when I went to the entry you found in domain player.vimeo.com,
the Copy Response gave me something that was useful, meaning it included the URLs of the
HLS manifests. Comparing Save All As HAR with Copy Response on this object shows that
there is a bunch more stuff obtained with Save All As HAR, but the additional stuff is
not actually useful. The useful stuff is retrieved with Copy Response for the object
you found. Copy Response retrieves 2 lines, & the second line is empty. Mind you, that
first line is thousands of characters long. Save All As HAR retrieves thousands of
lines, but only the 1 line in there is useful, & that line is the same one I got with
Copy Response.

So it seems that those menu functions retrieve different things depending on the type of
object you're looking at in the Network Monitor. Your object was HTML, mine was js, but
the two objects gave different results for the same menu functions. Something to keep in
mind for future reference.

mjs

unread,
Sep 22, 2022, 11:55:39 PM9/22/22
to Video DownloadHelper Q&A
In your Save all HAR method , did you have some idea it would work or was it just pure luck. Also if you check ,in addition to the manifests there
is also a mp4 link in there. The same mp4 link is found in the Copy Response way.

What is VDH doing with these downloads that the video gets messed up is my question. I've been thinking it gets the video from a dash manifest
but I'm not sure that is correct. Probably Dash streams where the audio and video play separately .

The hit details for that video from VDH :
https://30vod-adaptive.akamaized.net/exp=1663913260~acl=%2F68086bf6-c135-4c00-a16f-47551a907f4d%2F%2A~hmac=384ce212715f4fa4f044ffbd6fd3f00761787a2b758a27be565af9fdc106953e/68086bf6-c135-4c00-a16f-47551a907f4d/sep/video/4402bbcc,2756523e/audio/53430c0c,5e806bce,72e01515/dash-audio.mp4

https://30vod-adaptive.akamaized.net/exp=1663913260~acl=%2F68086bf6-c135-4c00-a16f-47551a907f4d%2F%2A~hmac=384ce212715f4fa4f044ffbd6fd3f00761787a2b758a27be565af9fdc106953e/68086bf6-c135-4c00-a16f-47551a907f4d/sep/video/4402bbcc,2756523e/audio/53430c0c,5e806bce,72e01515/dash-video.mp4

While the Developer Tools shows:
https://30vod-adaptive.akamaized.net/exp=1663913260~acl=%2F68086bf6-c135-4c00-a16f-47551a907f4d%2F%2A~hmac=384ce212715f4fa4f044ffbd6fd3f00761787a2b758a27be565af9fdc106953e/68086bf6-c135-4c00-a16f-47551a907f4d/parcel/audio/5e806bce.mp4?r=dXM%3D&range=5883-51754

https://30vod-adaptive.akamaized.net/exp=1663913260~acl=%2F68086bf6-c135-4c00-a16f-47551a907f4d%2F%2A~hmac=384ce212715f4fa4f044ffbd6fd3f00761787a2b758a27be565af9fdc106953e/68086bf6-c135-4c00-a16f-47551a907f4d/parcel/video/4402bbcc.mp4?r=dXMtZWFzdDE%3D&range=5882-191205

The urls all look very similar but the difference is the part in red.

Wild Willy

unread,
Sep 23, 2022, 3:04:47 AM9/23/22
to Video Download Helper Google Group
I wanted a way to copy the content of the js file onto my system. I didn't want to just
double click it. I tried the other menu selections & they weren't giving me the file.
So I did the HAR thing & that did it. Like I said, it seems like that's the only thing
that works for some types of object but for others, you have more than one menu selection
that will work.

On your prompting, I looked in Player.js for MP4 URLs. I came up with this:

https://vod-progressive.akamaized.net/exp=1663916956~acl=%2Fvimeo-prod-skyfire-std-us%2F01%2F4936%2F29%2F749684104%2F3444886134.mp4~hmac=796ef4eb74b7049020eebca50c7c43c4a6c5ea130d7e1737ed78f01633648ca0/vimeo-prod-skyfire-std-us/01/4936/29/749684104/3444886134.mp4

This was the only instance of a recognizable full URL for an MP4 in this file. There
were probably hundreds of other instances of the string mp4 in the file, but they were
all near partial URLs or were of some other nature, like the string video/mp4.

I tried visiting that akamaized URL. It gave me the black page as if it was going to
show the built-in Firefox media player, but it never did. You'll also notice that it
looks like there's another URL embedded twice within that URL, on a site that apparently
goes by the name vimeo-prod-skyfire-std-us. But I tried various tricks to isolate parts
of that longer URL & tried to visit those addresses. When I tried to go to the akamaized
site, I got access denied. The skyfire site said site not found.

OK. So let's look at the HTML object you discovered on the player.vimeo.com site. The
only URL for an MP4 in there is the weird one with the 2 URLs embedded within it.

So then I let the video play for a few seconds & that made a few MP4 objects appear in
the Network Monitor. You're right. Those have parcel embedded within their URLs. The
URLs in the VDH hit details are different. I tried to open the URLs VDH found. I just
got an error that said bad request. I have no idea where VDH is finding those URLs. I
suspect VDH simply is extracting information from somewhere, we haven't figured out
where, & misinterpreting certain strings as frame rates & bit rates. It's not that
anything is corrupt. It's that VDH isn't getting the information the way it should. So
when it builds the output file, it puts these bad attributes on it & it doesn't play
properly. For all we know, VDH is taking character strings & interpreting them as
numerics. This is the case that Michel has acknowledged VDH does not handle today. The
only kind of DASH content that VDH handles correctly is the almost proprietary case of
YouTube. Every other type of DASH, including our German site here, is simply not handled
correctly by VDH.

Meanwhile, I noticed a master.json in the Network Monitor. I grabbed that with a Copy
Response. It kind of looks like a proper mpd DASH manifest but not quite. I found that
it had a pattern of header information followed by entries that looked like they might be
chunk descriptors. Filtering out the chunk descriptors, this is what I found in that
master.json file.

{"clip_id":"68086bf6-c135-4c00-a16f-47551a907f4d","base_url":"../../../../../parcel/",

This appears to be some sort of header for the multimedia object. Notice the parcel
thing. Following that, I found these descriptors. Each one appears to describe a single
track of our multimedia object. Things are grouped by both square brackets & brace
brackets. I'm not showing the closing brackets. They come after the last chunk
descriptors. The first 2 things are owned by the "video":[ ] sequence. Within those
square brackets, there are 2 { } chunks. Then you have an "audio":[ ] sequence, within
which there are 3 { } chunks.

"video":[{"id":"4402bbcc","base_url":"video/","format":"dash","mime_type":"video/mp4","codecs":"avc1.640015","bitrate":309000,"avg_bitrate":206000,"duration":2508.36,"framerate":25,"width":426,"height":240,"max_segment_duration":6,"init_segment":

{"id":"2756523e","base_url":"video/","format":"dash","mime_type":"video/mp4","codecs":"avc1.64001F","bitrate":597000,"avg_bitrate":461000,"duration":2508.36,"framerate":25,"width":640,"height":360,"max_segment_duration":6,"init_segment":

"audio":[{"id":"53430c0c","base_url":"audio/","format":"dash","mime_type":"audio/mp4","codecs":"mp4a.40.2","bitrate":191000,"avg_bitrate":191000,"duration":2508.3306666666667,"channels":1,"sample_rate":48000,"max_segment_duration":6,"init_segment":

{"id":"72e01515","base_url":"audio/","format":"dash","mime_type":"audio/mp4","codecs":"opus","bitrate":98000,"avg_bitrate":83000,"duration":2508.3265,"channels":1,"sample_rate":48000,"max_segment_duration":6,"init_segment":

{"id":"5e806bce","base_url":"audio/","format":"dash","mime_type":"audio/mp4","codecs":"opus","bitrate":66000,"avg_bitrate":56000,"duration":2508.3265,"channels":1,"sample_rate":48000,"max_segment_duration":6,"init_segment":"

The first one looks like a regular video mp4 of resolution 426x240.

The second one looks like a regular video mp4 of resolution 640x360.

The third one looks like a regular audio mp4, which is actually indistinguishable from an
mp3. It looks like it would give Windows properties of sampling rate 48kHz, bit rate
191kb/s.

The fourth one looks like another audio mp4 but note the codec of opus. That's what you
see with webm files, not mp4. It looks like its sampling rate is also 48kHz with a bit
rate of 98kbps. Or maybe 83kbps. I'm not sure which number Windows would pick. For the
third one, the 2 bit rates are equal. Here, they're different.

And the fifth one looks like another webm audio track, sampling rate 48kHz again, but bit
rate either 66kbps or 56kbps.

The long stretches of the file that I am not showing look analogous to what we are
accustomed to seeing in HLS stream manifests. They aren't in anything remotely
resembling HLS format, but they appear to be trying to accomplish the same thing.

Meanwhile, I find it very odd that we have 2 webm audio tracks but no webm video track.
A webm video track would show vp9, not the avc1 in the codecs list that we see here,
twice. It's no problem for ffmpeg to merge together such disparate tracks into either a
webm or mp4, or even mkv, whichever you specify. I just wouldn't expect a structure like
this.

The fact that the items appear as individual, separate objects in the Network Monitor
does not mean they are "being supplied separately." We've gotten used to the
idiosyncrasy of VDH displaying certain variants as video-only or audio-only. I think
this is actually a shortcoming of VDH, perhaps even a bug. When I've been looking at HLS
manifests for problems reported by our fellow users, I can see that they are not actually
separate. VDH seems to like manifests in which there are unique audio & video tracks.
What I mean is, if there's 5 Programs (to use the ffprobe terminology), then Program 0
has video Stream 0:0 & audio Stream 0:1; Program 1 has 0:2 & 0:3; Program 2 has 0:4 &
0:5; and so on. Every Stream appears only once, and they're all in neat video/audio
pairs. VDH has no problem with such multimedia objects. When you get situations in
which a given audio Stream is shared across multiple Programs, VDH doesn't handle that
correctly. It shows separate video-only & audio-only tracks. Plus, if there are
multiple audio Streams, but fewer audio Streams than video Streams, so the audio Streams
are shared among the video Streams, VDH does not show all the audio Streams. But that's
just VDH. The tracks are not actually supplied separately in the sense we've gotten used
to understanding. Video players on web pages play audio with video. Ffmpeg can download
2 tracks into a single target file, either via 2 -i parameters or 2 -map parameters,
usually 2 -map parameters. It's only VDH that has conditioned us to think things are
audio-only or video-only. They are not. It's just audio tracks & video tracks OF THE
SAME multimedia object. This is a shortcoming of VDH. It just doesn't put together the
appropriate audio track with its partner video track. The information is in the
manifests. VDH isn't interpreting it correctly. There should never be a variant on a
VDH menu that is other than video with audio, unless for some reason the web site is
offering a silent video or you're looking at an audio podcast, something out of the
ordinary like that. The vast majority of the multimedia content around the web is talkie
movies. VDH should not be giving us video-only & audio-only variants.

Multimedia objects have such things as multiple video tracks & multiple audio tracks to
accommodate people with slower Internet connections. Smart web sites (most are smart)
detect your bandwidth & give you a lower resolution video with an audio track of a lower
fidelity in order to let you play the video without the constant, annoying buffering.
But we, here in VDHland, are not trying to just play stuff. We're trying to get our own
copies so we can have them forever. Or maybe, as in the case of YouTube, we're trying to
avoid the ads. Or maybe we're trying get our own copy of a 4K video that we just don't
have the bandwidth to play on a web page, but we do have the computer power to play if we
had the whole thing on our hard drive. Web sites don't necessarily give a rip about us.
Many aren't oriented toward people downloading their content. Those would be sites where
you don't see an easily accessible DOWNLOAD button. You've visited those. I have.
Also, we've certainly encountered our share of sites that have intentionally implemented
measures to thwart us. But despite all of this, we should really never think of video &
audio being "supplied separately." They're not.

But it's not all bad. This shortcoming in VDH has sure made us learn a lot about how
things work. Maybe even more than we ever really wanted to know.

Wild Willy

unread,
Sep 23, 2022, 3:34:18 AM9/23/22
to Video Download Helper Google Group
Oops. ERROR. When I visited this URL:

https://vod-progressive.akamaized.net/exp=1663916956~acl=%2Fvimeo-prod-skyfire-std-us%2F01%2F4936%2F29%2F749684104%2F3444886134.mp4~hmac=796ef4eb74b7049020eebca50c7c43c4a6c5ea130d7e1737ed78f01633648ca0/vimeo-prod-skyfire-std-us/01/4936/29/749684104/3444886134.mp4

I thought Firefox was not going to show me a video player. The page was just blank. I
was wrong. When I tried again just now, I thought to actually move my mouse around on
the page. Well, whaddaya know? There's a video player there. The German video plays
just fine with that URL. Strangely, the VDH menu remains empty even after launching
playback. Of course, the Save Video As trick works.

Actually, it worked once & now it's telling me I am not authorized to visit that web
page. I suspect it timed out just now. It has been a while since I extracted that URL
from the json. There's probably a new one there now. Yes. I made a new trip to the
page & the URL is different. The gobbledygook strings are different. Typical. The
point is, there is an mp4 URL inside these weird script objects & it does take you to the
video on a page by itself. I am quite perplexed why VDH doesn't recognize it when it's
presented like this. I ran ffprobe on the URL:

> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
> 'https://vod-progressive.akamaized.net/exp=1663927646~acl=%2Fvimeo-prod-skyfire-std-us%2F01%2F4936%2F29%2F749684104%2F3444886134.mp4~hmac=e4c538706106060b8a1e5a53e313d7d08cd5f8b38f8f65cfaf55a3d68f1b1b52/vimeo-prod-skyfire-std-us/01/4936/29/749684104/3444886134.mp4':
> Metadata:
> major_brand : mp42
> minor_version : 0
> compatible_brands: mp42mp41isomavc1
> creation_time : 2022-09-14T18:22:03.000000Z
> Duration: 00:41:48.33, start: 0.000000, bitrate: 523 kb/s
> Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m, progressive), 640x360, 442 kb/s, 25 fps, 25 tbr, 25 tbn (default)
> Metadata:
> creation_time : 2022-09-14T18:22:03.000000Z
> handler_name : L-SMASH Video Handler
> vendor_id : [0][0][0][0]
> encoder : AVC Coding
> Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 77 kb/s (default)
> Metadata:
> creation_time : 2022-09-14T18:22:03.000000Z
> handler_name : L-SMASH Audio Handler
> vendor_id : [0][0][0][0]

You can see the URL is different from the one in my preceding post. This information
looks pretty ordinary. I don't know why VDH wouldn't recognize it.

mjs

unread,
Oct 18, 2022, 2:17:07 AM10/18/22
to Video DownloadHelper Q&A
Another example video brought to the forum, this one is a bit of an unusual case.


Using the copy response method outlined up the top there are no mp4 urls to be found. So the next step is to use the find function again to
find m3u8. This should find .m3u8 manifest links. These can be used in ffmpeg to get the video and audio and merged into a single file.

The youtube-dl method will work but it will only get the video and audio separately.

I also tried using network method and removing &range=numbers to the links I found. It wouldn't bring up the video for 1080p and 720p
resolution videos encountering some error. It did work on the other resolutions.

Wild Willy

unread,
Oct 18, 2022, 4:06:06 AM10/18/22
to Video Download Helper Google Group
I looked into this video, too. I found that no MP4s showed up in the Network Monitor
until I let the thing play for a couple of seconds. I used the gear in the player to
override the Auto resolution selection. I found, as you did, that the 1080p & 720p
selections with the gear did make some new MP4s show up in the Network Monitor. But then
the double click followed by removing &range just gave some sort of HTML error. The
highest resolution under the gear that gave an MP4 that would actually open after
removing the &range was 540p, a rather pitifully low resolution.

I did locate an object in the Network Monitor from domain player.vimeo,com. There was
only one such object from that domain. Curiously, it was of type html. Using your Copy
Response trick, I was able to save this html file on my system. It looks like most of
the text in this file is inscrutable <script> tags. However, I was able to locate the
URL of a master manifest. I ran that through ffprobe. That did yield a way to get at
the 1920x1080 video. I didn't bother downloading it because frankly I'm too tired at the
moment. I actually found 2 URLs for master manifests. Each one occurred twice in the
html file. One manifest resided on akamaized.net & the other on skyfire.vimeocdn.com.
Running them through ffprobe gave what appeared to be the same results for each one. So
ffmpeg looks like the way to go for this video.

Wild Willy

unread,
Oct 19, 2022, 6:55:32 PM10/19/22
to Video Download Helper Google Group
The user posting over here:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/qF5IYe5CSUg

posted 2 videos, both embedded Vimeo content. Once I was more awake, I delved into the
two videos more deeply. In the case of the Nilsson/Alfvén concert, the object at
player.vimeo,com contained 4 URLs for HLS manifests (m3u8). But it turned out those were
only 2 unique URLs, the other 2 being duplicates. One URL was on akamaized & the other
was on skyfire. I used each manifest to download the concert with ffmpeg. The resulting
MP4 files were identical. Both akamaized & skyfire served the same 1920x1080 version of
the concert, which was of duration about 1 hour 45 minutes. The downloads lasted about
10 minutes each. Of course, they both played fine, although I just skimmed them.

For the Mahler concert, the object at player.vimeo.com offered 7 URLs for HLS manifests.
There was once again a pattern of duplicates. Of the 4 URLs on akamized, there were
really only 2 manifests, each one duplicated once. Of the 3 manifests on skyfire, once
again there were only 2 unique URLs, one of them being duplicated. I retrieved one
version of the concert from each source. Running all 7 manifests through ffprobe showed
that the same content was available in all cases. But I wanted to download from each of
akamaized & skyfire just to cover all the bases. This time, the download from akamized
took about 26 minutes. This was unexpectedly long, seeing as the duration of this show
was just under 1 hour, considerably shorter than the other concert. But then, this
concert was offered in 3840x2160, so the file was much bigger. It played fine as far as
I could tell sampling it. The download from skyfire took over 40 minutes. The Resource
Monitor was showing that for this download, skyfire was all over the map with its speed
of download. It would show 6 million bytes per second for a few minutes, then it would
suddenly drop to 100,000 bytes per second for a few minutes. I don't know what was up
with that. The download of the other concert from skyfire ran at the same speed as
akamaized. In any case, the skyfire download did eventually complete & I had another
copy of the same concert, which played fine. Curiously, the version from skyfire was
very slightly smaller even though it was of the same duration. The bit rates from
skyfire were also slightly lower than from akamaized. But even at that, the bit rates in
both downloads were around 25,000 kbps, which is exceptionally good quality for a
3840x2160 resolution video. Typically, 4K content shows bit rates in the 15,000 kbps
range. So they went all out with this Mahler show.

The ffprobe results for the Mahler manifests showed the usual bogus error about inability
to interpret the subtitles stream. So I reconstructed the URL for a subtitles manifest
from the ffprobe error message. I was able to download captions from akamaized but the
skyfire download failed. When I looked at what ffmpeg had gotten from akamaized as the
vtt file, I decided not to bother actually troubleshooting the skyfire subtitles. The
vtt file was completely bogus. Besides, there was no talking in any language in the
video so I don't know where those captions were coming from. Still, it points out once
again that using ffprobe/ffmpeg will often show you subtitles you can't access any other
way.

mjs

unread,
Nov 3, 2022, 3:30:38 AM11/3/22
to Video DownloadHelper Q&A
Repair the downloaded video with ffmpeg

There is a way to fix the video by using a command in ffmpeg , solution found here :
https://groups.google.com/g/video-downloadhelper-q-and-a/c/SSgY9oLoHdw

If you haven't used ffmpeg before , there is a link to a page to learn how to use it in this thread.

This is the command to use in ffmpeg :  ffmpeg -r 25 -i  in.mp4  -r 25  out.mp4

This would be ok to use if the video originally had a frame rate of 25 fps but what if the video had a different frame rate.
How could the correct frame rate be verified.

To do that I used this example video found here:

You need to go to the embedded video that was downloaded with the high frame and use the Copy Response method found up the top of this thread. Use your preferred text editor and use the find function to look for fps. I used WordPad.

The first instance of fps it finds shows that it is 30 fps :

Screenshot 2022-11-03 174511.png

So the ffmpeg command needs to be :  ffmpeg -r 30 -i in.mp4 -r 30 out.mp4

Tip : if the input file has a long file name then type it's first letter then press tab and it will automatically complete it.

The Big Lebowski

unread,
Nov 6, 2022, 5:43:13 PM11/6/22
to Video DownloadHelper Q&A
Sorry guys

I tried to read everything that was posted but i completly lost track on the way
I'm not too technical though, so maybe that's why i didn't understand everything

All i can say, is that I clearly suffer from the same behaviour
I try to download a video using VDH (got a premium license) and although sound is ok, video is too fast

When i open developper console, i can see those lines :


There are 2 steams, one for audio, one for video
copy/paste for the audio steam in another tab makes me able to save the sound. But it doesn't work that way for video, hence why i'm lost

I saw ffmpeg might be able to help but still, i'm lost

Can anyone assist me with the different steps, even if it has to be manuel ?
(DVH developper won't fix that misbehaviour by the way so that the software can handle this automatically by itself ?)

mjs

unread,
Nov 6, 2022, 6:02:54 PM11/6/22
to Video DownloadHelper Q&A
Is that you in the other discussion

Do you want to do a screen share . A program like TeamViewer has a meeting function. You generate a meeting id and send it in a private
message. A day and time needs to be scheduled . My time zone is GMT +11

Wild Willy

unread,
Nov 6, 2022, 7:30:45 PM11/6/22
to Video Download Helper Google Group
It's time for a new ffmpeg tutorial. Give me the URL of your web page & I'll use it as
the example in a new tutorial.

mjs

unread,
Nov 7, 2022, 6:44:57 PM11/7/22
to Video DownloadHelper Q&A
The Big Lebowski , you almost got the video. I've seen it error like that on certain resolutions so you've done it right. But it might have to be done
another way to download it or try the repair. If your video is public then post it here. Otherwise with a screen share l can walk you through the steps.

Wild Willy

unread,
Nov 7, 2022, 8:26:04 PM11/7/22
to Video Download Helper Google Group
There's also the issue of timeouts. I have observed on some sites that the time it takes
me to copy/paste a URL for a master manifest from the Network Monitor into a script that
executes the ffprobe command is actually too long. It's a matter of only a few seconds,
yet the ffprobe tells me 403 Forbidden. I just reload the page & try again. I have seen
it take me 4 or 5 reloads before I manage to do it quick enough that the ffprobe succeeds.

Of course, I am doing the ffprobe in preparation for doing a download with ffmpeg. So
after I inspect the ffprobe report, I have had to do yet more reloads to get a new URL
for a master manifest & eventually the ffmpeg invocation will not only launch but
actually continue & successfully download.

The Metropolitan Opera is a site whose timeout seems to be comfortably long, perhaps
hours. That makes sense because most operas last at least a couple of hours. Some could
go on for 4 hours or even longer.

But the CBS TV livestream is one that has given me this timeout problem. Their timeout
appears to be a bit variable, seeming to be as short as 2 seconds & as long as 20
seconds. I think they don't append new information to an old master manifest, but rather
they just create a whole new manifest. They must do this every, I don't know, 5 or 10
seconds. So if I'm taking my information nearer the end of their 10-second window, it
closes right behind me & I'm out in the cold. Only repeated attempts make it work. And
it does eventually work. I have recorded entire NFL games from the CBS TV live feed,
recordings that result in files of duration as long as 5 hours. (I usually start before
kickoff & pad it out to allow for the possibility of overtime.) Those recordings are
actually quite beautiful, being 1920x1080 @ 60fps with bit rates in the 10,000kbps range.
I don't clearly recall but they might even be in surround sound. It's just that there's
a bit of difficulty getting it to start.

Wild Willy

unread,
Nov 11, 2022, 11:02:13 PM11/11/22
to Video DownloadHelper Q&A
Often, not always, but a lot of the time, you can get VDH to tell you the frame rate of a video.

#01.jpg
#02.jpg
#03.jpg
#04.jpg
#05.jpg

This can be much easier than what mjs describes above.  Can be.  It doesn't always work.  Obviously, you can't do this when VDH doesn't recognize anything.  If the web site is not using HLS, you may still be able to find the frame rate in the Hit Details, but it's very much on a case by case basis.  Still, this can be a handy time saver when VDH offers such information.  Just be prepared to have go looking in more difficult places, as mjs describes above.

Alex DaTro

unread,
Nov 16, 2022, 3:45:02 PM11/16/22
to Video DownloadHelper Q&A
great, thank you soooo much!
I tried many of the discussed solutions, but none worked for me (I am no computer expert), but with ffmpeg : 
ffmpeg -r 25 -i  in.mp4  -r 25  out.mp4
it works easily

Otavio Ferreira Martins

unread,
Nov 28, 2022, 10:15:01 PM11/28/22
to Video DownloadHelper Q&A
You saved my life! Finally a solution that works, thank you so much!!

Wild Willy

unread,
Nov 29, 2022, 1:16:44 AM11/29/22
to Video Download Helper Google Group
Alex, Otavio, thanks so much for your feedback. It's comments like yours that encourage
me. Sometimes, I feel like I'm speaking into a vacuum. But knowing that some people are
being helped keeps me going.

I do have to say that what we have outlined here does not always work. For the World Cup
that is going on now, the TV coverage here in the States is being provided by Fox & FS1.
I thought there might be certain games I would like to record, especially during the next
few days when we will be having simultaneous matches played for the final round robin
group stage matches. I experimented with the Fox feed & it was quite amenable to
recording, both with VDH & ffmpeg. But I was getting very strange results with FS1.

I would let VDH record for a couple of minutes on FS1 & then stop the recording. Using
the stop button in the VDH blue dot status menu did not seem to be reliable. I kept
getting failures that left me with an unplayable file. So I reverted to pulling the
electricity feed from my Internet connection. That gave me a file that would play but it
was damaged. The first 30 seconds or so would be fine, then the video would go to about
double speed while the audio played fine. The video would eventually run out & freeze on
the last frame while the audio would play fine for the remainder of the video, which was
only about another minute & a half. I tried with & without HLS as M2TS enabled. It made
no difference. It was always good for a bit, then suddenly the video track would get too
fast.

The ffmpeg -r trick did not correct the problem. Ffprobe said the file was of duration
30 seconds, so ffmpeg would stop after respeeding the part of the video that didn't need
respeeding. VLC would play the entire 2 minutes, with the last part of the video too
fast, but ffmpeg simply would not process the too-fast part of the video. That part of
the file was simply invisible to ffmpeg.

Even stranger, every recording I made with VDH got the same content. It was the first 30
seconds of some stupid ad, followed by the next ads sped up for however long I let the
stream record. I never did get actual program content recorded.

So I started experimenting with ffmpeg. I found what seemed to be a master manifest
easily enough. But when I used that to record 2 minutes of the stream, I was getting
very strange results. To limit the recording to 2 minutes, I used -t 00:02:00. This
does not tell ffmpeg to stop recording after 2 minutes have elapsed. It tells ffmpeg to
stop recording after the result file has reached a duration of 2 minutes. My recordings
were taking over 4 minutes of elapsed time to write a file whose duration was 2 minutes.
And every recording was of the same ads that VDH had been recording.

The ffmpeg log showed a bunch of very strange processing. There would be a few
screenloads worth of log messages showing ffmpeg reading something from the manifest that
contained the word "discontinuity." This would be in lines that said ffmpeg was skipping
the input from the manifest. It is not unusual for manifests to contain descriptive
lines that ffmpeg simply skips over. Ffmpeg is looking for the next line in the manifest
that refers to a chunk of video content. So I would see all this noise content that
ffmpeg was skipping over. This would go one for several dozen or a few hundred lines,
I'm not sure, I didn't count them. Then finally, there would be a line starting with
frame= indicating that it was writing something into the output file. Those lines show
the time index of what it's writing. They also show a speed factor indicating how fast
the recording is progressing. The speed factor was usually about 0.2. That means ffmpeg
was recording at about 1/5 the speed of the content. So 1 minute of content was going to
take 5 minutes to record. Not very encouraging.

The fact that I was always getting ads led me to believe I wasn't letting the recording
run long enough to get to the program content. So I decided to record one of the matches
I was going to sit & watch through my cable box anyway, independent of the livestream
coming into my computer. I set ffmpeg to run for -t 04:00:00 to see what I would get.

I was already watching the next match when ffmpeg finally terminated. That was after
recording for SIX HOURS. Remember, -t is about the duration of the output file, not
about how long the command runs. I had a file of duration about 48 minutes. It took SIX
HOURS to record 48 minutes worth of content. So the recording did not stop because of my
-t parameter. Inspecting the ffmpeg log, which was ridiculously huge, showed that ffmpeg
had stopped because it had started getting 404 Not Found errors on the manifest. This is
one of the normal ways a livestream is supposed to terminate. The serving site is
supposed to simply remove the manifest for the livestream from the server. Another
normal way a livestream terminates is for the server to just stop updating the manifest
with information about new chunks of content. There are ffmpeg parameters that limit the
number of retries ffmpeg attempts against a manifest that is no longer being updated. I
explain those in my ffmpeg tutorial (see the reference upthread here). But in the case
of this particular football match, FS1 finally got around to removing the manifest for
the stream a couple of hours after the match had ended. And at that point, ffmpeg had
taken 6 hours to record less than 1 hour of content. The ffmpeg log showed an
overwhelming mass of the noise processing, with frame= lines few & far between, & a speed
factor far less than 1.

But I did have a perfectly playable MP4 of duration 48 minutes. It contained the same
handful of ads repeated over & over. It appears that FS1 has multiple streams, & one of
them is for the ads. So where was the actual football match? I was not having a whole
lot of success finding the master manifest for the real FS1 stream in the Network
Monitor.

So I made a bit of a guess. I looked in the VDH menu for variants that looked like they
might be promising. I picked one & looked at its Hit Details, as I describe above. I
fished the master manifest URL out of there. I passed that to ffmpeg. While ffmpeg was
running, I looked in the ffmpeg log it was writing. You don't have to wait until ffmpeg
terminates to read the ffmpeg log. At least, you don't with Notepad++. I don't know
about other text editors, like Notepad or Wordpad. But Notepad++ is perfectly happy to
open the ffmpeg log while it is still being written. Notepad++ is also perfectly happy
to reopen the log file to show the new lines that have been written at the bottom of the
file while you have been reading it. I discovered that sometimes, I was getting the
advertising stream. If I saw the long stretches of ffmpeg not writing frame= records, I
knew I was not recording the live stream of football. I would just cancel that
recording, empty the VDH menu with the little trash can in the tools you can hover up at
the bottom of the VDH menu, reload the page, let the stream play for a couple of seconds,
then hunt through the VDH menu for a variant that looked promising & get another manifest
from its Hit Details. It's a painstaking & tedious process, but eventually I found a
manifest that allowed ffmpeg to record the actual program FS1 was broadcasting.

I suppose you could argue that if I was getting a manifest URL from Hit Details in VDH, I
could just record that variant with VDH. True. The problem is terminating the
recording. You can't set a timer on a VDH recording. The livestream in question is from
a TV channel. They don't stop. The stream continues with whatever is on the air next.
VDH would record forever. And I have found that the VDH blue dot status menu is not a
reliable way to end a VDH recording. Sometimes it stops the recording properly & you
have a media file you can play. But sometimes it stops the recording & you have a file
that can't be played & can't be repaired. Yes, you can just pull the plug on your
Internet connection, but that's not always something you want to do, like if you're
recording 2 things at the same time. So ffmpeg is my choice here over VDH.

So the lesson to take away from this thread is not that ffmpeg -r is some kind of magic
spell that cures all ills. The lesson to take away from this thread is that you have to
be ready to improvise. Make guesses. Use the Network Monitor. Use VDH. Use ffprobe &
ffmpeg. Use them all together & figure out something that gets you the content you want.
And still be prepared to declare defeat. There will be content that you simply can't
record no matter which of our techniques you try. Some web sites just will not
cooperate. The only way to figure that out is to try everything we've discussed here.
And if you come up with something we have not discussed, do please add to the pool of
knowledge here by adding your comments to this discussion.

mjs

unread,
Dec 20, 2022, 4:07:37 AM12/20/22
to Video DownloadHelper Q&A
If you opt to go with the ffmpeg fix for your video then you still need to find out what the correct frame rate is.
Willy has shown the easiest way to do that by going to your video and using VDH to get the frame rate. I'll show what this looks like for
vimeo videos.

Hover over the VDH menu and to the right of the video hit is a button.
vdh menu.png

Clicking this opens a another menu. Then click Details.
vdh menu 1.png

This opens the details page for the video. Scroll down this page and look for videoMPD. To the right is a green triangle.
Click this to expand more information about the video and the correct frame rate.

vdh hit details.png

Here it shows it to be 25

video frame rate.png

mjs

unread,
Jan 19, 2023, 1:06:38 AM1/19/23
to Video DownloadHelper Q&A
Here is another solution for those on Mac computers :  https://groups.google.com/g/video-downloadhelper-q-and-a/c/lx-rAMAC3PU

Wild Willy

unread,
Mar 1, 2023, 8:23:41 AM3/1/23
to Video DownloadHelper Q&A
Here is a success story of somebody who read this thread & figured out how to download
his videos:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/ZZtb6aPLd24

mjs

unread,
Mar 2, 2023, 4:34:37 AM3/2/23
to Video DownloadHelper Q&A
 I didn't mention that m3u8 manifests could be found in my first post up the top because I thought finding an mp4 file would be enough.
 I didn't account for the possibility that on some videos no mp4 files are found using Copy Response. Willy's method also finds the same
manifests using Save All As HAR on player.js

Sometimes those master manifests which are retrieved and used in ffprobe return a 403 forbidden message.
At least in my testing it does and it might for you. I just learned of another way to get a master manifest which can be used in ffprobe & ffmpeg.

Go to your video and open the developer tools by pressing F12 on the keyboard and click Network. In the filter type json.
Now reload the page for the video and it should show a url which has master.json in it. Copy this url and paste in notepad.
Edit the url so that it becomes master.m3u8 instead of master.json and then the url can be used in ffprobe & ffmpeg.

Wild Willy

unread,
Mar 2, 2023, 6:17:05 AM3/2/23
to Video Download Helper Google Group
That is astonishing. I just tried it & it works with the video I've been messing with in
this thread:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/NqlJrnTB8u4

What it means to me is this. Even though the web page does not cause an HLS manifest to
be transmitted to your browser when you use the player in the web page to play back the
video, an HLS master manifest exists. The only thing that gets transmitted to your
browser is this master.json file. But back on the web site, they are hiding a different
file, one whose name is entirely the same except for the file extension. They send you
the file with the file extension json, but they hide the file with the file extension
m3u8. I suspect this might not always work, but the possibility that it might work is
too attractive to skip attempting it. The possibility that it might work means that
pretty much all the evasive maneuvers we went through above will be unnecessary. If you
can find an HLS master manifest, which is what a master.m3u8 would be, you can skip
directly to ffmpeg & save yourself endless hassle.

Was this a brainwave that just struck you? Or did you stumble across somebody else
suggesting this idea?

mjs

unread,
Mar 2, 2023, 7:05:53 AM3/2/23
to Video DownloadHelper Q&A
I might have thought of the idea what if I change this master.json to master.m3u8 and it worked. A brainwave
But Supernaut in the other thread said he got a master manifest from the json link ( there was an attached image ) but didn't explain how.
Maybe he did it the same way I did it.

I think I found the pattern on the manifests that give a 403 forbidden. It's the ones that include captions. The ones that don't are fine.

Wild Willy

unread,
Mar 2, 2023, 8:39:06 AM3/2/23
to Video Download Helper Google Group
Well bully on you! I'm jealous I didn't think of it.

I don't think you can pin all 403 Forbidden errors on captions. I've seen captions in
manifests that run through ffprobe just fine. Many of the operas I've gotten from Medici
TV have captions & I always use ffmpeg on that site, once for the opera, once for the
captions. There have been a number of threads in here where I've been helping somebody &
ffprobe on the manifest has thrown up that spurious error about captions. That's how I
discover that captions are available. That's what happened in this recent thread:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/ZZtb6aPLd24

I think that's the one where Supernaut did what you said. He (she?) posted an ffprobe
report that mentions captions. In fact, the captions were the reason I asked for that
ffprobe report. And that was for a private Vimeo video. I think 403 Forbidden really is
about permissions & the web site configuration. I have also seen 403 Forbidden simply
when I've made a typo in the URL. Also when a URL has expired. I take a 403 Forbidden
error as a warning to double check what I'm doing, also to reload the web page & make
sure the error persists.

So I'm not so sure about any correlation between 403 Forbidden & captions. If you've got
some specific instances where you've drawn that conclusion, tell me about them. I'm
curious to see what's going on there.

Wild Willy

unread,
Mar 2, 2023, 8:00:39 PM3/2/23
to Video Download Helper Google Group
I was thinking. A dangerous pursuit, I know. If you can change master.json to
master.m3u8, why not change it to master.mpd? After all, VDH identified this thing as
DASH, even though I got it with HLS, as did VDH. So I tried giving master.mpd to ffprobe
on the example I mentioned above. I got these error messages:

Warning: program compiled against libxml 211 using older 209
[https @ 0000000003e07600] HTTP error 400 Bad Request
[dash @ 0000000000367240] Failed to open an initialization section
[dash @ 0000000000367240] Error when loading first fragment of playlist
https://161vod-adaptive.akamaized.net/exp=1677811275~acl=%2F93e9aea9-14bc-4a9b-9aa5-c8cee44ddca0%2F%2A~hmac=7178ca14d48552a13976c812c8e8508ef643bf6b6ef0d2b6ec430e8aefb15abd/93e9aea9-14bc-4a9b-9aa5-c8cee44ddca0/sep/video/43a5f3a8,4cd95d22,680ab750,ca651f9d,f9274a1e/audio/68ef0aa6,e51e0577,29776e88/master.mpd?base64_init=1&query_string_ranges=1:
Server returned 400 Bad Request

Interesting. Not File Not Found. But this bit of rather cryptic complaining instead.
Ffprobe had found something & tried to read it. So I thought I'd like to look inside
that file for myself. So I just pasted that URL into the address bar of a Firefox tab.
Firefox dutifully asked me what to do with it, offering to save the file to my hard
drive. So I saved the file. It sure looks like a DASH manifest to me. I don't know
enough about this to spot whatever it is about it that ffprobe didn't like. Maybe the
manifest is actually fine but the stream data it read was faulty in some way. Maybe my
ffmpeg from 2022/11/3 needs updating. I've been thinking about doing that anyway just on
general principles. I stumbled across a random comment somewhere a few days ago that a
new major version of ffmpeg just came out. Maybe it's time to try that.

In any case, further to the comments I made above about the web site hiding an HLS master
manifest, it seems the web site might be hiding a DASH master manifest as well. It
didn't work for this site but it might work for other sites. Are there advantages of
DASH over HLS? Not that I can see. One is as good as the other. As long as you can get
a master manifest of either type, ffmpeg can download that content.

mjs

unread,
Mar 2, 2023, 8:12:12 PM3/2/23
to Video DownloadHelper Q&A
I'm talking about when the manifest has subtitles in it and I give it to ffprobe a 403 error is always returned. Like this one :


Is there something I'm missing or getting wrong.

I used the video found here :

This one is at Vimeo.com so the copy response is not needed, just filter for player.vimeo .com and open the json in a new tab.
There are 7 manifests in there.

Wild Willy

unread,
Mar 2, 2023, 10:00:43 PM3/2/23
to Video Download Helper Google Group

I went to that video & found the item in domain player.vimeo.com at this URL:

https://player.vimeo.com/video/797528697/config?context=Vimeo%5CController%5CApi%5CResources%5CVideoController.&email=0&force_embed=1&h=91ec87f8c9&s=7921de46d1a4cf5ac12935905dd67da393608151_1677907727

I agree, there are 7 occurrences of URLs containing m3u8. But there are not 7 distinct
such URLs. There's 3 pairs & a singleton. There are also 4 occurrences of master.json
in there. But they are actually only 2 pairs of distinct URLs. I did the trick of
changing master.json to master.m3u8 & master.mpd. I ran ffprobe on all of those URLs,
totalling 8 invocations. I also fished the captions URL out of the error message in the
first ffprobe report & ran ffprobe on the captions manifest. To be complete, I would
have run 3 more ffprobes on the captions from the other 3 reports that show them. But
I'm not sure that would prove anything. Curiously, the 2 HLS master manifests from the
master.json URLs don't mention the captions. I can't explain that. They all ran fine,
except for the failures on the .mpd manifests, which is more or less what I expected.
The results are in the attached file. You can see the URLs I gave to ffprobe inside the
ffprobe reports. I didn't carefully inspect every single Stream in the reports but they
are all the same duration, even the captions. I imagine they're all the same.

Perhaps you need a new ffprobe/ffmpeg. The way I invoke ffprobe is like this:

ffprobe -protocol_whitelist file,crypto,data,http,https,tls,tcp "manifest URL"
2>>"report file"

Maybe if you don't specify a protocol whitelist, you might get tripped up. That's the
same parameter I use on all my ffmpeg invocations as well. I didn't always have that. I
was seeing errors that led me to try to get some help from the usually totally useless
documentation that comes with ffmpeg. Unusually, I actually found something that led me
to the -protocol_whitelist parameter & I started adding entries to the value string.
Every so often, I hit an error that led me to add a value to the string. It's been a
long time since I added anything to it. The documentation leads you to believe that all
protocols are whitelisted by default. But my experience has been that you need the
parameter anyway. I believe I tried the value ALL at some point but it didn't work. I
got the values I do have in there from the error messages I was getting. I suspect there
is a protocol I need to add to the list to get ffprobe to stop generating the spurious
error message on captions. But the error message is singularly unhelpful on that score,
as is the documentation. Whatever. Try it yourself. It can't hurt.
ffprobe.txt

mjs

unread,
Mar 3, 2023, 12:08:47 AM3/3/23
to Video DownloadHelper Q&A
That didn't work , still 403 error. As I said this only happens on manifests that have the subtitle string in the link.

ffprobe.txt

Wild Willy

unread,
Mar 3, 2023, 1:29:40 AM3/3/23
to Video DownloadHelper Q&A
You are going to laugh at yourself until you cry.  Here's what you posted, with some notes from me:

#01.jpg

This has nothing to do with captions.  Look closely at where your input URL gets cut off.  The first character that is not being passed is the ampersand.  Now look where each & occurs in the URL.  Extract the strings between & and &.  Compare those strings with the error messages you're getting at the bottom of the output.  This is not a coincidence.  The Windows command processor is doing what it is supposed to be doing.  The & character is what the Windows command processor recognizes as the indicator that what follows is another command for the command processor to execute.  So you are executing something like this:

ffprobe -protocol... Parameter&Command#2&Command#3&Command#4

There isn't even any requirement to have a space before the &.  You'll note that the & character itself does not appear in the error messages.  You'll also note that the error messages are not coming from ffprobe but from the Windows command processor itself.

Solution: Surround the entire URL with " " characters.  If you look carefully at any of my examples, I always show double quotation marks all over the place.  Look again at the sample command I offered in my preceding post.  But that's only the latest example.  I do it all the time.  You have provided the perfect example to explain why.  The " character is also a special directive to the Windows command processor.  It tells the command processor to just pass everything inside the " " as is without changing it in any way.

Is it legal to have this much fun?

mjs

unread,
Mar 3, 2023, 2:09:58 AM3/3/23
to Video DownloadHelper Q&A
Oh I never knew that was so important that I needed include the quotation marks. But I can give a manifest that doesn't include the subtitle string in the url to ffprobe without the quotations and it works. Can't believe that's all it was to make it work.

Wild Willy

unread,
Mar 3, 2023, 3:11:37 AM3/3/23
to Video Download Helper Google Group
It's not about the subtitle qualifier in the URL. That's a coincidence. It's about the
ampersand. Ampersand is a common character you will find in URLs quite a lot. Rather
than trying to decide can I get away without the quotes or should I code them, I always
code them. They're never wrong. Same thing for full file names of the form
x:\thing\other thing\file name.txt. Just always surround them in " " & you don't have to
think about it. It's a safe habit to get into.

PaddyMac

unread,
Mar 4, 2023, 1:03:11 AM3/4/23
to Video DownloadHelper Q&A
While I'm on Mac, this solution will work on PC if you have Adobe Premiere. Or indeed, any video editor that can assign a new frame rate to the footage by overriding the fps that is assigned (usually 12,800 fps etc). 
Then you download the audio separately, merge the fixed video and audio, and rerender. 

Wild Willy

unread,
Mar 7, 2023, 7:39:34 PM3/7/23
to Video Download Helper Google Group
I'm going to try to summarize what is happening here. The original video is fine. It's
just that it's got its information in places VDH does not know about. When VDH tries to
download it, it grabs metadata about the video (specifically frame rate) but it grabs it
from the wrong place. Whatever it is picking up, it isn't frame rate. It could be some
random string of letters for all I know. Whatever it is, VDH writes the downloaded file
in such a way that it has a bad frame rate. The frame rate is not, in fact, bad. It's
just that VDH is writing bad data.

You can avoid all the nonsense by just downloading it with ffmpeg. Ffmeg knows where the
correct information can be found. It will download good video & good audio in a single
operation. There will be no need to repair a file, no need to use -r to change the frame
rate, no need for video editing software, no need for Adobe Premiere, no need for
Handbrake, no need for separate downloads of video & audio. A single download with
ffmpeg & you'll have a good copy of the original video.

There is clearly & unquestionably a bug in VDH. We have no idea when Michel will fix it.
Until he does, use ffmpeg.

Wild Willy

unread,
Mar 15, 2023, 2:07:52 PM3/15/23
to Video DownloadHelper Q&A
Here's another success story of somebody who used this thread to solve his problem:

Message has been deleted

mjs

unread,
Mar 29, 2023, 12:50:03 AM3/29/23
to Video DownloadHelper Q&A
With the ffmpeg repair method I have found that an extra command can be used to copy the audio instead of re-encoding it.
Only the video with the bad frame rate needs fixing so it makes sense not to redo the audio.
Does it save a lot of time ?

Not much, it took an extra 1.5 minutes of processing by redoing the audio before it was finished. After the input.mp4 file add -codec:a copy

[google deleted my other post]

Wild Willy

unread,
Mar 29, 2023, 7:39:52 AM3/29/23
to Video DownloadHelper Q&A
When the Metropolitan Opera was giving us a free opera every night during their COVID shutdown, I was getting those as separate audio & video files.  Here's some numbers from the longest ones I have, all over 4 hours in duration:

Parsifal performance from 1992/03/28: Duration 4:24, Video 5.48G resolution 720x486, Audio 366M
Les Troyens 2013/01/05: 4:20, 5.45G 1280x720, 360M
Les Troyens 1983/10/08: 4:10, 3.61G 720x486, 346M
Giulio Cesare 2013/04/27: 4:05, 5.97G 1920x1080. 339M

The audio is a small fraction of the size of the video.  In any normal file that includes both a video track & an audio track, you'll observe roughly the same ratio.  While it seems more efficient to respeed just the video since the audio is fine in one of our too-fast videos, you're probably right that adding the -codec:a copy parameter doesn't save you much.  I think the longest too-fast example we've worked on here was about 1 hour or so.  Plus it wasn't of the same quality as the operas so the file sizes were considerably smaller.  I suspect you'd need to be looking at something more like 10 or 15 hours long of high quality high resolution before you'd have an audio track of sufficient size for it to make much difference.

A couple of observations on those operas.  The performances of Les Troyens were from 30 years apart.  The older one predates the advent of HD TV.  Look how much smaller the video file is.  And the newer one isn't even full HD.  Similarly, Parsifal is from the pre-HD era as well.  Today, that video might be 2-3G larger.  But the differences in the sizes of the audio files across the same time period don't seem very large.  I think perhaps audio technology was pretty good a couple of decades before video technology caught up.

Rios Rios

unread,
Apr 8, 2023, 7:31:33 AM4/8/23
to Video DownloadHelper Q&A
I too had issues with downloads where the video played rapidly in just some seconds while the audio seemed fine. Here is what I did:
As the files where provided via Dash-Streams I set Video DownloadHelper to download video and audio seperately.
Next I copied the video to raw bitstream format using this command:  ffmpeg -i input.mp4 -map 0:v -c:v copy -bsf:v h264_mp4toannexb raw.h264
as suggested here: https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video 
In the last step I merged the raw video and the downloaded audio using MKVToolNix. The resulting files play just fine and video/audio is in sync.

mjs

unread,
Apr 10, 2023, 3:37:27 AM4/10/23
to Video DownloadHelper Q&A
That's a whole lot faster than doing it with the other ffmpeg method. However you made sound a little confusing by saying
"I set Video DownloadHelper to download video and audio separately"

If you could get the video and audio separately then all that's needed is merging the two files together and bam you have the complete file.
But when that is not possible, yes download another copy of the audio and merge it with the raw bitstream. I used ffmpeg to do that.
I suppose you could also extract the audio from the bad video file and use that with the raw bitstream, but I haven't looked into that.

Arkadiusz Bubelski

unread,
May 1, 2023, 6:50:07 AM5/1/23
to Video DownloadHelper Q&A
I created such script which fix files without coding them again, save below code to Fixh264.bat 
and run it give two argument > Fixh264.bat  "File Name.mp4" targetFPSNumber

-- save below code as file  Fixh264.bat  in directory you have video donwloaded 
set arg1=%1
set arg2=%2
shift
shift

mkdir fixed
mkdir video
cd video
mkdir %arg1%
cd ../

mkdir audio
cd audio
mkdir %arg1%
cd ../

ffmpeg -i %arg1% -c:a copy -vn audio/%arg1%/raw.m4a
ffmpeg -i %arg1% -map 0:v -c:v copy -bsf:v h264_mp4toannexb video/%arg1%/raw.h264
ffmpeg -fflags +genpts -r %arg2% -i video/%arg1%/raw.h264 -i audio/%arg1%/raw.m4a -c copy fixed/%arg1%
 

Tigran Grigoryan

unread,
May 1, 2023, 7:44:06 AM5/1/23
to Video DownloadHelper Q&A

Hi
понедельник, 1 мая 2023 г. в 14:50:07 UTC+4, Arkadiusz Bubelski:

Tigran Grigoryan

unread,
May 1, 2023, 7:49:02 AM5/1/23
to Video DownloadHelper Q&A
> --
> You received this message because you are subscribed to the Google Groups
> "Video DownloadHelper Q&A" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to video-downloadhelper...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/video-downloadhelper-q-and-a/d3a327f3-8187-45bf-ab62-1bf1d30e71cdn%40googlegroups.com.
>

weoi

unread,
May 16, 2023, 8:07:12 PM5/16/23
to Video DownloadHelper Q&A
Sorry, I'm new to the forum and not much of a techie. All the talk of youtube-dl and ffmpeg is very confusing. Was hoping for an easier solution, but I guess it's either this or nothing so far?

mjs

unread,
May 16, 2023, 8:38:03 PM5/16/23
to Video DownloadHelper Q&A
I realise those tools may not be for everyone but there looks like there is another option if you have VLC media player.
Make sure the entire discussion is expanded first then look for my post using Ctrl+ f to find in page for json. This is to get master manifest.
Once you have it use VLC , watch the short video l found :


weoi

unread,
May 16, 2023, 8:40:46 PM5/16/23
to Video DownloadHelper Q&A
Thank you. I'll see if that's more at my level.

weoi

unread,
May 16, 2023, 10:32:00 PM5/16/23
to Video DownloadHelper Q&A
Unfortunately, it doesn't seem to work or I can't figure it out.
When I do a search for json in the Network tab, nothing comes up. Same for m3u8.
When I do a search for mp4, I see a bunch come up. I think the videos are maybe broken up into several shorter ones and are maybe being strung together as it plays???

When I tried looking at the video with another extension, it showed a whole bunch in a list so this is my best guess. Not even sure if it's a thing.

In a different effort, I tried finding the player file (or whatever it's called) and saving the file as a txt and searching for the video URL. Found it, but it won't even show in the browser saying it can't be shown because of the privacy settings.

On Tuesday, 16 May 2023 at 20:38:03 UTC-4 mjs wrote:

Wild Willy

unread,
May 16, 2023, 10:40:25 PM5/16/23
to Video Download Helper Google Group
It might be helpful to get a proper problem report from you. To find out how to do that,
click this:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/BzPLK2YyL-s

That is probably a good candidate for something you want to bookmark. You'll probably
want to read the whole thing, if not right now, if not in one sitting, bit by bit over
time. That thread is a collection of references. To find any reference, do a search
within the text of that web page for any given key word or phrase. For the moment, look
for:

problem report

That will give you a link. Click it, read what you find, & follow the advice.

While you are in there, here's another reference to look up:

stealth quote

It's a good idea to learn how to avoid stealth quoting.

mjs

unread,
May 16, 2023, 10:43:27 PM5/16/23
to Video DownloadHelper Q&A
Yes the url you're looking for shows as master.json, you may need to interact with the video player such as clicking the gear icon or clicking
the play button. Once you find it like said further up in the discussion just alter the link by removing .json and make .m3u8.

weoi

unread,
May 18, 2023, 1:04:19 AM5/18/23
to Video DownloadHelper Q&A
Thank you for the reference, Wild Willy. And got the stealth quote. Hope I did it right.
They have that feature automated in the Gmail too and it is annoying.

mjs,
I will have to try doing that later. I haven't had any time today and don't think I will be able to try tomorrow.
Thanks for the clarification though at this point, I've half given up and accepted that I will just have to live with not being able to download the videos.


Wild Willy

unread,
May 18, 2023, 3:31:31 AM5/18/23
to Video Download Helper Google Group
When I discovered the stealth quoting, I was very angry. It's not something the old
Groups interface did. When they changed the interface whenever it was, 2 or 3 years ago,
it was definitely new & not improved. Besides the introduction of this stealth quoting,
they removed the ability to edit your own posts. They also removed the ability to open
attached files in a new tab. Your only choice now is to download it or open it in a
whole new window.

In any case, I'm hoping you don't give up because your example might give us a chance to
illustrate a case, which I would hope would be helpful for others coming in here looking
for answers.

And good on ya for not stealth quoting!

mjs

unread,
May 20, 2023, 6:13:04 AM5/20/23
to Video DownloadHelper Q&A
I did some testing with the VLC media player for vimeo videos and unfortunately looks like this method needs be discarded in the bin.
So I tested a couple of videos by converting the master.json url to a master.m3u8 url and the result was it downloaded the audio and no video.
I then decided to make the url master.mpd and this did download a video but at the smallest resolution even though VLC is set to best available
for the resolution. I think it works on other video sites especially where VDH detects the video and audio as separate files.
Just not on vimeo videos. I tested this in linux on a bootable usb stick so I wonder if it's the same on windows.

CHRISTOPHER GR

unread,
May 20, 2023, 11:27:15 PM5/20/23
to Video DownloadHelper Q&A
HOLA OTRO FORMA DE PAGO ??

El jueves, 22 de septiembre de 2022 a las 18:41:01 UTC-6, Wild Willy escribió:
I was intrigued by your use of the menu entry Copy Response. I went back to that German
video & found the item named player.js that I had found. I tried several menu
selections, including Copy Response, and what I got was not useful in every case, except
for Save All As HAR. But when I went to the entry you found in domain player.vimeo.com,
the Copy Response gave me something that was useful, meaning it included the URLs of the
HLS manifests. Comparing Save All As HAR with Copy Response on this object shows that
there is a bunch more stuff obtained with Save All As HAR, but the additional stuff is
not actually useful. The useful stuff is retrieved with Copy Response for the object
you found. Copy Response retrieves 2 lines, & the second line is empty. Mind you, that
first line is thousands of characters long. Save All As HAR retrieves thousands of
lines, but only the 1 line in there is useful, & that line is the same one I got with
Copy Response.

So it seems that those menu functions retrieve different things depending on the type of
object you're looking at in the Network Monitor. Your object was HTML, mine was js, but
the two objects gave different results for the same menu functions. Something to keep in
mind for future reference.

Wild Willy

unread,
May 21, 2023, 1:14:59 AM5/21/23
to Video Download Helper Google Group
Christopher GR, your comment is a bit off topic but I will answer it anyway. I am able
to answer because I used Google Translate to find out what you said. I discovered that
you posted in Spanish, a language I do not speak. I expect you will use Google Translate
to figure out what I am saying here.

I don't work for VDH but the VDH folks have answered your question many times. The only
way to purchase a license is to visit this web page:

https://www.downloadhelper.net/convert

You will find 2 links there, one for paying in euros, the other for paying in US dollars.
When you click either of those links, you navigate to a page on which your only option is
to pay using a credit card. They have posted here a number of times that their credit
card processor is named Stripe. If you don't have a credit card or if Stripe is not
available to you for some reason or if you are unable to pay in euros or dollars, you are
out of luck. There is no other way to purchase a VDH license.

mjs

unread,
May 24, 2023, 11:58:18 PM5/24/23
to Video DownloadHelper Q&A
Rios Rios brought the idea of a faster way to repair the file but you still need to have another copy of the audio.
Arkadiusz Bubelski took that approach a step further by automating the entire process with a script. The script needs to be in the ffmpeg folder as
well as the bad file. Then you just need to know the correct frame rate.

Wild Willy

unread,
May 25, 2023, 12:49:09 AM5/25/23
to Video Download Helper Google Group
Both Rios & Arkadiusz use a step that creates a raw format of the video. Is this
actually fast? I don't know. Seems to me like extra processing. Arkadiusz supplies a
script that proliferates a galaxy of little subdirectories. I don't like that approach
at all. His little shift deal could be cute, allowing you to process any number of files
on a single invocation, so his approach isn't totally off. The one thing he didn't point
out is that his script needs to iterate. He's not showing those statements. He needs a
GoTo at the bottom that loops back to the top, & a test for no more incoming parameters
at the top. Rios relies on MKVToolNix & a rather fancy set of ffmpeg parameters that
mess with the presentation time stamps. Of course, VDH can do what he appears to be
doing with MKVToolNix. I did a little experimenting with those fancy parameters a while
back, long before he mentioned them here, & found they didn't accomplish what I thought
they did. I was probably using them wrong. Still, I don't like either of their
approaches, & I'm not convinced they're faster. They may be. I'll stick with what I'm
doing. It's a single ffmpeg command, self-contained, not relying on outside tools or
extra steps. It may be time consuming but so what? It's the computer doing the work,
not me. I can always find other things to do while the computer is churning away. Even
other things on the computer.

Wild Willy

unread,
May 25, 2023, 12:53:14 AM5/25/23
to Video Download Helper Google Group
For people who want more illustrations, take a look at this thread:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/BNpgowJqsw0

That thread gives an example that is amenable to several of the approaches we've
described here. I offer multiple solutions, including screenshots, to illustrate how to
do these things. I even offer a couple of illustrations that fail. The failures are
good to have. They remind you that not every approach works in every case. Also, you
shouldn't give up if a certain approach fails. Another one might succeed.

Arkadiusz Bubelski

unread,
May 25, 2023, 1:52:52 AM5/25/23
to Wild Willy, Video Download Helper Google Group
For me exporting raw video and audio and then merge is 16 times faster than that single command to encoding,recoding video. I was really thank full someone here mentioned that way as i had 24 hour of video files (waiting for this solution around  1 year).

If someone has many files he/she add automatic iterations of all files and cleanings temp files.



--
You received this message because you are subscribed to a topic in the Google Groups "Video DownloadHelper Q&A" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/video-downloadhelper-q-and-a/sNfTCMYfiTU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to video-downloadhelper...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/video-downloadhelper-q-and-a/646ee8ba.050a0220.dd5a3.04b8%40mx.google.com.

ricardo alvaro

unread,
May 27, 2023, 5:26:26 PM5/27/23
to Video DownloadHelper Q&A
Well, it's my first time in a forum like this so i'm sorry if im typing in the wrong part of the conversation.
I've been reading all the thread and i got a point from all the conversation. In my case (and all of u i think), when i download the video, the first 20 secs sum up all the video frames, but the audio it's in the same point as the original video. According to this, the main solution to fix this is using the ffmepg tool and adjust the framerate of the video. I'm not sure if my explanation is almost correctly with the solution of many of you, so let me know if i'm in the right track. I will take a look on youtube to understand how ffmepg works and try to replicate ur ideas. Thanks to all :D

El domingo, 11 de septiembre de 2022 a las 6:11:42 UTC+2, mjs escribió:
There have been a number reports of downloaded videos where the video speeds by very quickly as though it is on fast forward. Then for the remainder a frozen frame with audio Only. Some of these reports sound like the problem is with private Vimeo videos embedded on other sites. Video Downloadhelper appears to download the video only from a dash manifest regarding Vimeo videos. The problem could be with video hosted elsewhere.

This post proposes possible solutions or workarounds for too fast video. First lets deal with Vimeo. If it isn't working in VDH even after checking every video resolution then it sounds like a problem with the dash manifest. So lets avoid that and try other options.

Try these tutorials on YouTube, they're of course done in Chrome but can also be done in
Firefox in a slightly different way.

Example 1:

Example 2:

In example 1 for Firefox , you right click on the url and click or hover over Copy Value then click Copy Response. As seen in image :

vimeo.png
Now paste what you copied in a rich text editor such as WordPad or something similar.

To get an mp4 link of the video use the find function and type mp4 then click find next.
Keep clicking find next to get the resolution you want. You'll see width:1920 , and after that a url. This is the 1080p resolution.

Screenshot 2022-09-11 125811.png

Copy this url as seen in image and open it in a new tab , right click save video as. Choose name and directory to save video.

In example video 2 for Firefox , find the script part shown in the video and right click on it. Then click or hover over Copy then click Inner HTML.

vimeo1.png


Paste what was copied in a rich text editor like before then repeat the step to find the mp4 url as shown in the first example to download video.

I'll post another way using youtube-dl for Vimeo.

Wild Willy

unread,
May 27, 2023, 8:49:56 PM5/27/23
to Video Download Helper Google Group
Ricardo, I'm going to give you some standard advice. You would be helping yourself to
give a proper problem report. To learn how to post a proper problem report, click here:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/BzPLK2YyL-s

Be sure you carefully read the first 2 paragraphs there. Once you have read that, you
can check out the references within that web page that I am about to give you. But don't
just find the relevant link & click it. READ the context around the link. I recommend
you bookmark that link & read the entire page, if not now, if not in one sitting, bit by
bit over time.

You find a reference on that web page by searching the text of that page using various
search keys. The search keys I am suggesting are these:

problem report
cannot download
stealth quote
short tutorial

Next, look for "problem report" within the text of that web page. That will give you a
link. Click that, read what you find, & follow the advice. It's not good enough to just
name a web site. Help those who would help you by specifying URLs of particular web
pages on which you are finding content that you are having trouble downloading. I know
I'm not about to scrounge around on some site I've never heard of to see if maybe I can
find something that does or does not work. Make it easy for me to help you. If you give
a proper problem report, it raises the chances that somebody else can look at the video
you're having trouble with & show you what to look for.

Next, look for "cannot download" within the text of that web page. That will give you a
link to a tutorial on ffmpeg. That is likely to be more informative that any video you
might find on YouTube.

Next, look for "stealth quote" within the text of that web page. That will give you
another link to click. Click that, read what you find, & follow the advice, not just for
your posts in this thread, not just for your posts in this forum, but for your posts
anywhere on Google Groups. Quoting posts that are already on this page just wastes space
in the discussion.

Next, look for "short tutorial" within the text of that web page. That explains why your
response here will use the Reply all button. It also explains why you will NOT use the
Reply to author button.

I am encouraged that you seem willing to put in the effort to understand what it takes to
get these problem videos. These discussions run on at great length but in the end, the
process is quite simple. After you do it once or twice, it gets pretty easy to do. So
let's hear from you again & we'll see where we can take this.

Wild Willy

unread,
Jun 17, 2023, 4:03:25 AM6/17/23
to Video DownloadHelper Q&A
I have just provided what amounts to a new tutorial on the respeed issue:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/ILSeMRTchq8

Maybe people having trouble following things here will find that helpful.

I need to thank Rios & Arkadiusz for their ideas about how to change the frame rate of a video.  That other thread offered me the first chance I have had to try your ideas for myself & they do indeed run quickly.

But there are some things I need to take issue with.  Let's start with bsf:v h264_mp4toannexb.  This is a completely unnecessary parameter.  I've looked this one up in the ffmpeg documentation.  It says there that this parameter describes default behavior of ffmpeg.  Default.  Supplying the parameter is just an extra bit of typing that could be a target for typos.  You can leave it out.  I did in that other thread.  Things worked fine.

But I know where you got that one from.  I've seen it, too, when I've done web searches looking for answers.  You have to remember that ffmpeg has been around for over 10 years, maybe over 15.  I don't know.  A long time, that's for certain.  The ffmpeg documentation is terrible, so a lot of people have had to resort to asking questions on forums.  These questions stretch back over this same long time.  Answers they got were probably correct at the time.  But ffmpeg is continually evolving.  Answers that were true at one time are no longer valid.  This particular video bit stream filter is no longer necessary.  The ffmpeg devs must have realized at some point that it would be best to simply incorporate the thing in question as a default feature of the product, thus making the parameter entirely unnecessary.  So before you grab something off the web & use it, look at the date on it.  Be skeptical.  A lot of what you're going to find is no longer valid.  If an answer is older than 6 months, take it with a grain of salt.

For splitting the audio track off into its own file, you can simplify what you show above.  Just use a -map.  Then you don't have to say -vn.  You used a -map to split off the video into the raw file.  Just do something similar with the audio.

You can see what I did by opening one of the attachments I posted in that other thread.  It should be obvious which attachment I mean when you go read that other thread.

Wild Willy

unread,
Jun 17, 2023, 4:08:14 AM6/17/23
to Video DownloadHelper Q&A
In that other thread, ffmpeg threw a bunch of errors.  They seem to be unimportant errors because the resulting file was perfect.  It played without a problem in VLC.  Have you guys encountered this sort of thing when you've been changing the speed on a video?

Wild Willy

unread,
Jun 20, 2023, 1:03:30 PM6/20/23
to Video Download Helper Google Group
Here is an example worth looking at:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/S9BPzSdwtPw

It shows how to apply the principles we've been trying to explain here, complete with
examples & screenshots.
Message has been deleted

Wild Willy

unread,
Jul 5, 2023, 4:59:28 AM7/5/23
to Video DownloadHelper Q&A
Here's another example of the application of the principles laid out in this thread:


That one is a bit tricky.  But if you're persistent & willing to make some guesses, you'll get somewhere.

mjs

unread,
Jul 11, 2023, 2:22:15 AM7/11/23
to Video DownloadHelper Q&A
Maybe we can get the video with VDH. How can it be done while not getting the bad frame rate ?  First go to your video, open the developer tools by pressing F12 & select network.

In the filter type master.json , then reload the video page. If the url doesn't show , some interaction with the video is required like mousing over the video, clicking gear icon or clicking play. Then it should appear. Right click on it , mouse on Copy --> Copy URL

Paste in text editor and remove json , replace with m3u8 then copy this url. Paste in browser then press enter. A prompt with pop up to save manifest, save it on computer as it will be needed.  Along with this prompt VDH will detect the streams for this manifest.
A quick download gives the file name new tab, on the secondary menu clicking download will allow to enter your file name.

vimeo quick download.png


vimeo downnload.png


It looks like the what we are after , but after choosing a resolution it turns out to be video without the audio. Open the master manifest that was saved as it will be used to get the audio.

Paste master.m3u8 url still in your system clipboard on a separate line underneath the master manifest. There are two partial audio manifest urls, a medium & high up the top. Copy the one you want like so : /audio/1cb9cc2b/playlist.m3u8

Go to your master manifest link and there is a part of the highlighted url to remove :

119vod-adaptive.akamaized.net/exp=1688999583~acl=%2F450f9560-1604-4a28-9a2f-030f2e61855e%2F%2A~hmac=d907d2bcbbcaad1fa88273eb100a9cbd00d18f8855edff649fc591d9b4fe8608/450f9560-1604-4a28-9a2f-030f2e61855e/sep/video/1cb9cc2b,294213ec,35f2a976,52c6d17b,cfce786b,eaebe860,f04043d6/master.m3u8?base64_init=1


Now add the partial url to the manifest url :

119vod-adaptive.akamaized.net/exp=1688999583~acl=%2F450f9560-1604-4a28-9a2f-030f2e61855e%2F%2A~hmac=d907d2bcbbcaad1fa88273eb100a9cbd00d18f8855edff649fc591d9b4fe8608/450f9560-1604-4a28-9a2f-030f2e61855e/sep/audio/1cb9cc2b/playlist.m3u8 

Copy & paste this completed audio manifest into browser then press enter. VDH detects the audio stream that you can download. 
You've got the video & audio that'll play together in VLC or use the merge tool built into VDH. The merging tool is a premium feature that will add a watermark if unlicensed.  Otherwise use other software to merge files.
master.m3u8

Wild Willy

unread,
Jul 11, 2023, 3:43:44 AM7/11/23
to Video Download Helper Google Group
That looks interesting. But the akamaized URL you've given has long since expired. I'll
bet it doesn't even work for you any more. In cases like this, you should also post the
URL of the web page where the video resides. Each user can then follow your instructions
& get his or her own manifest. That manifest will look very much like but not identical
to the one you've attached. The URL of that manifest will also be like but not identical
to the one you were working with.

Also, I hypothesize that what you're describing may work on certain sites & not on
others. Only experience can tell in how many cases this approach will work. A few?
Half? Many? Most? We can only try it as we go along & see how it fares. It's
certainly worth adding to this collection of tools we're amassing here.

I think your major contribution here is the utterly illogical trick of changing
master.json to master.m3u8. You'd think if a site has a master.m3u8, it would send that
to the player on the web page in your browser. Then again, maybe master.json is meant to
be a way to deter people from downloading their content. As long as web sites don't get
wise to us, we'll be good.

Personally, if I've got a master manifest, I'm going straight to ffmpeg. It does all
that fooling around for you with putting together the front part of the URL with the back
part. It also lets you choose directly which video resolution & which audio track to
download, & then downloads the 2 tracks into a single target file that does not need any
further post-processing. It's a video with audio at the right frame rate right away all
in one go. At the very least, you should push a master manifest, in this case your
master.m3u8, through ffprobe. It will give you those 2-piece URLs already put together.
Give me the URL of that web page & I'll show you how that works.

mjs

unread,
Jul 11, 2023, 4:50:05 AM7/11/23
to Video DownloadHelper Q&A
I deliberately posted old urls from the day before when I was trying this out , the video used was : https://vimeo.com/251646742

Vimeo actually has two different ways to stream a dash video, the version you know does &range=
In the example video it's streamed as chop segment urls. Look in the network , these urls cannot be manipulated to open the media in new tabs.
Also check out the dash manifest below.

It might not work for all sites, but the reason for offering it is some people can't deal with ffmpeg or   youtube-dl. It's too hard or too technical
for them. I learned youtube-dl by doing research online, I've learned enough with ffmpeg on this group to use it. You did all the leg work on that.
If I had to work out all that for ffmpeg I reckon I'd give up on it.


master.txt

Wild Willy

unread,
Jul 11, 2023, 6:50:07 AM7/11/23
to Video DownloadHelper Q&A
OK.  We start with the video & the Network Monitor.  You'll note I have not launched playback.  You'll have to trust me I have not clicked the gear icon, either.

#01.png

So then we drag the top edge of the Network Monitor up so it's big enough to work in.  Sort on the Type column.  Position the display on the json section.  Near the top of the json files, there's our master.json.  It's important to note that master.json is just the beginning of the file name.

#02.png

Now get the URL of this master manifest.  Pop up the context menu on this item the same way you pop up the context menu on any item.  Copy URL is the menu selection you want to execute.  That puts the URL of that file into your system clipboard.

#03.png

Now I'm pasting that URL here.

https://119vod-adaptive.akamaized.net/exp=1689071580~acl=%2F450f9560-1604-4a28-9a2f-030f2e61855e%2F%2A~hmac=28c29b19b41d331d18e5ae041db5c9cfcca2bb5c2cf75a6d551ffe43893ada15/450f9560-1604-4a28-9a2f-030f2e61855e/sep/video/1cb9cc2b,294213ec,35f2a976,52c6d17b,cfce786b,eaebe860,f04043d6/master.json?base64_init=1

Change it to master.m3u8.

https://119vod-adaptive.akamaized.net/exp=1689071580~acl=%2F450f9560-1604-4a28-9a2f-030f2e61855e%2F%2A~hmac=28c29b19b41d331d18e5ae041db5c9cfcca2bb5c2cf75a6d551ffe43893ada15/450f9560-1604-4a28-9a2f-030f2e61855e/sep/video/1cb9cc2b,294213ec,35f2a976,52c6d17b,cfce786b,eaebe860,f04043d6/master.m3u8?base64_init=1

Run that through ffprobe.  The command I ran was this:

ffprobe.exe  -protocol_whitelist file,crypto,data,http,https,tls,tcp -strict experimental "https://119vod-adaptive.akamaized.net/exp=1689071580~acl=%2F450f9560-1604-4a28-9a2f-030f2e61855e%2F%2A~hmac=28c29b19b41d331d18e5ae041db5c9cfcca2bb5c2cf75a6d551ffe43893ada15/450f9560-1604-4a28-9a2f-030f2e61855e/sep/video/1cb9cc2b,294213ec,35f2a976,52c6d17b,cfce786b,eaebe860,f04043d6/master.m3u8?base64_init=1" 2>"Q:\To Watch\ffprobe.txt"

The part at the end that reads 2> followed by a file name is how to capture the output of the command in a file, which I've attached to this post.  I have inserted commentary within that log file to explain what's in the report.  So even if you're not going to use ffmpeg, the ffprobe report still saves you a bunch of time.  People who have convinced themselves that this is all too technical for them should be able to execute ffprobe.  It's just one command that takes a URL as input & generates a report.  You don't have to deal with all the other things that make ffmpeg a bit more complex.  But I keep telling people it's not all that complex.  It's just a bunch of simple steps.  Each step is simple.  But it's not just 2 or 3 steps.  So?  Have you ever followed a recipe to cook something?  Ffmpeg is not any more complicated.  We've just laid out a long recipe.  How hungry are you?
ffprobe.txt

Wild Willy

unread,
Jul 11, 2023, 7:34:11 AM7/11/23
to Video DownloadHelper Q&A
I ran through the same exercise but this time, instead of changing master.json to master.m3u8, I changed master.json to master.mpd.  I'm attaching the ffprobe report on that here.  Strangely, the preliminary part of the ffprobe report is far less useful & informative.  There's basically nothing there but some warning messages.  It looks like we have the same 7 video tracks.  But this time, there are 3 audio tracks.  This time, they all have a value for variant_bitrate, so it's even easier than in the HLS master manifest to choose the alleged "best" audio track.

Another thing that is different is that the video tracks are not associated with particular audio tracks.  I guess the DASH protocol is more loosey-goosey than HLS.

Oh.  That reminds me.  I should point out that a master manifest (or any manifest) with the file extension .m3u8 is an HLS manifest.  A manifest with the file extension .mpd is a DASH manifest.  HLS & DASH are 2 different conventions for supplying streamed data from a serving web site to a client browser on your desktop.

Traditionally, VDH would incorrectly process the HLS manifest in this example.  It would offer several variants of video without audio, plus one, maybe two variants of audio without video.  Of course this is a bug.  It's just that there's 7 video tracks that happen to share 2 audio tracks.

VDH would not process this DASH manifest at all.  Typically, this sort of thing would get one of those too-fast videos with good audio.

But a new day has dawned.  VDH 8.0.0.0a2 beta downloaded this one flawlessly.  Duration 3:41, resolution 4096x2048,  frame rate 25fps, video bit rates in the 17,000kbps range (excellent), audio sampling rate 48khz, audio bit rate 256kbps (the highest on offer here).  VLC played it no problem, video & audio.  The variant on the VDH menu says it's DASH.  The Hit Details say it's DASH.  Looks like Michel fixed DASH support.

Ffmpeg would have no trouble whatsoever with either of these master manifests.
ffprobe.txt

mjs

unread,
Jul 11, 2023, 8:41:07 AM7/11/23
to Video DownloadHelper Q&A
I used that video only as an example on what to do if that fast video problem occurs, it's less of a problem on Vimeo.com
The real problem is when it has been embedded on external websites. Have you tried on one that exhibits the problem with the beta extension.

Wild Willy

unread,
Jul 11, 2023, 8:54:11 AM7/11/23
to Video Download Helper Google Group
I haven't scrounged one up yet.

Wild Willy

unread,
Jul 11, 2023, 9:59:18 AM7/11/23
to Video Download Helper Google Group
This thread is mentioned above:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/qF5IYe5CSUg

It mentions this video:

https://www.konserthuset.se/en/play/alfven-and-nilsson/

This is an embedded Vimeo video. VDH 8.0.0.0a2 beta recognizes this as a DASH video &
downloads it, but it ends up needing respeeding. The respeed operation to extract the
raw video had so many errors I thought it was going to fail. But it eventually worked.
Doing the Network Monitor trick to find an HTML object in the player.vimeo.com domain
gives an HLS manifest that looks good, although I didn't use it to download anything.
But none of the tricks for turning up a DASH manifest worked. I don't know how VDH
determined that this thing was DASH. I even found a master.json that did yield results
when renamed to master.m3u8. It also looked like you could use it to get something with
ffmpeg but I didn't bother. Renaming it to master.mpd gave errors.

So things aren't perfect yet. It's still way better than it was, but not all problems
are solved.

Trey

unread,
Aug 1, 2023, 12:13:42 AM8/1/23
to Video DownloadHelper Q&A
I bought a subscription to a tutorial website and started saving some videos (it is a private website, meaning password protected so I can't share links here). I saved a 3 minute video as a test and it played fast for about 2 seconds and the rest of the video was a still photo with audio. I found and read this thread along with the "Corrupted video frame rate" thread. I noticed the embedded video player I was saving was related to vimeo player, and the frame rate of the saved video was about 10,000 instead of the expected 25. I never heard of ffmpeg before, but that thread and this thread made me want to try ffmpeg as a possible fix to my problem. THANK YOU!!! It worked!!! The info and help everyone gave in both threads was great.

In order to use the code in this post, I made it work by changing it the following (since I only know how to stay in the same folder, it only worked if I changed the file name):
ffmpeg -r 25 -i test.mp4  -r 25 new.mp4

I only had 1 file in my folder to test the framerate conversion. I am happy with the result and want to save a lot of videos. Now I have a lot of videos in my folder and it will take a long time to fix each one individually.

MY QUESTION:

Does anyone know how to do batch conversion for correcting the framerate? I have watched many youtube videos and tried their batch codes for converting to a different file type (but trying to apply it for the framerate code above. For example, the videos have been changing avi to mp4 in a batch). I have been very unsuccessful. Here are my details:

Main folder with videos = C:\Users\Me\Documents\Videos
Another sub-folder with more videos = C:\Users\Me\Documents\Videos\More

I am ok with having the new videos stay within the same folder. But if it is easier, I am also ok with putting all the new videos in a new folder to help keep them separate = C:\Users\Me\Documents\Videos\New

My video file names look similar to this = test.mp4, test1.mp4, test2.mp4, test3.mp4, etc.
I am ok with keeping the same file name, but I am also ok if you have to use a different file name such as = new, new1, new2, new3, etc.

Thank you for your time!

P.S. a bonus question: I seem to lose the last 1-2 seconds when I convert the framerate. Either the video seems to stop or the audio fades out a second early). There is a small possibility the video was saved without the last 1-2 seconds, but I am guessing it is ffmpeg. I can't complain since I am saving the video and ffmpeg is fixing the frame rate. But, if possible, is there a code that can be included in the above code to prevent this from happening? I don't know if anyone else has this happen.

jcv...@gmail.com

unread,
Aug 1, 2023, 1:21:10 AM8/1/23
to Video DownloadHelper Q&A
Hi,
ChatGPT proposes this .bat file:



@echo off
setlocal
set "source=C:\Users\Me\Documents\Videos"
set "destination=C:\Users\Me\Documents\Videos\More"

rem Create the destination directory if it does not exist
if not exist "%destination%" (
    mkdir "%destination%"
)

rem Change the frame rate of each .mp4 file in the source directory
for %%F in ("%source%\*.mp4") do (
    ffmpeg -r 25 -i "%%F" -r 25 "%destination%\%%~nF-fr25.mp4"
)
endlocal

Wild Willy

unread,
Aug 1, 2023, 3:05:00 AM8/1/23
to Video Download Helper Google Group
I think perhaps ChatGPT was a little overzealous about its quotation marks. The SET
commands should look like this:

set source="directory name"
set destination="directory name"

The environment variable is the thing on the left of the equal sign. The environment
variable should not go inside the quotation marks. Otherwise, the quotation marks are
extremely important wherever they are coded. Pay close attention to that detail. It is
critical.

I'm not sure the setlocal & endlocal are all that important if you are just executing
the .bat script by itself. The setlocal & endlocal statements are the default behavior in
such a case. Those statements become important when you have a fancier .bat script that
contains subroutines, subprograms, subscripts, whatever terminology you care to use. Or
a .bat script that issues a CALL to another .bat script. Then setlocal & endlocal might
be important. In this simple case, they are not necessary.

I would not code the @echo off. This suppresses a lot of useful output in the command
window. You want to see everything until you are certain this is debugged.

In the target file name in the ChatGPT script Jérôme has offered, the part that adds the
string -fr25 might be overkill. You're putting the output in a different directory so
there's no need to make the file name unique. I would go with this:

"%destination%\%%~nF.mp4"

I would most assuredly NOT execute this by typing each line in at a command prompt. I
would create a .bat script containing these commands, save it as a .bat file, then I
would just double click the .bat file from the file manager. I might be tempted to add
this at the bottom of the script:

pause
pause

This causes the script to stop & wait for keyboard input from you before it terminates.
I have found that under mysterious circumstances, a single pause is not enough. I always
code 2 of them in a row. Just put them in as the last 2 lines of your script. That way,
if there's any errors, the window will stay open & you will be able to read the error
messages. If you don't pause before the end, the window will close & you won't know what
happened.

In addition, ffmpeg generates a lot of output messages. If you run this proposed .bat
script as it is laid out here, you will have those messages flying by in the command
window & you won't get a chance to inspect them. But there is an easy way to deal with
this. Here is the complete .bat file I would create:

rem Change these next 2 commands to specify actual directory names on your system.
rem The source directory must already exist.
rem The destination directory is conditionally created by this script
rem so it might or might not already exist.
set source="a directory"
set destination="a different directory"

rem Create the destination directory if it does not exist.
if not exist "%destination%" (
mkdir "%destination%"
)

rem Make sure the output log file does not exist.
if exist "%destination%\ffmpeg log file.txt" (
erase "%destination%\ffmpeg log file.txt"
)

rem Change the frame rate of each .mp4 file in the source directory.
rem The ffmpeg output parameter -codec: copy speeds up the execution of ffmpeg.
rem If, for example, your input is mkv & your output is mp4, you must omit -codec: copy.
rem But here, your input & output are both mp4 so you want -codec: copy.
for %%F in ("%source%\*.mp4") do (
ffmpeg -r 25 -i "%%F" -r 25 -codec: copy "%destination%\%%~nF.mp4" 2>>"%destination%\ffmpeg log file.txt"
)
pause
pause
exit

Save this as a file named whateveryouwant.bat. Like maybe Repair Speed.bat. Yes, file
names can have spaces in them. Directory names as well. That's why you should always
surround file names with " " in any script. Put your script in any directory. It does
not need to be in either the source or destination directory used in this script. My
preference is to keep scripts in a script directory where I can easily find my tools.
But this is a matter of taste. You can put the script in any directory you choose,
including source & destination.

Also, I would not have the source & destination directories on the C: partition. The
Windows boot partition (C-drive) is already quite bloated enough. I would advise you to
place these directories in another partition on your system. Microsoft seems to have
this vision that there is only one disk drive in a computer & that HDD contains only one
partition, the boot partition, the C-drive. I suppose this is the simple way of doing
things for dumb users. But for smart users, this is just not the right way to manage
your disk space. Try to keep your data elsewhere. For example, my scripts are in a
directory on my Q partition & my data is in various directories on my M, N, I, & J
partitions. In some cases, the partition occupies the entirety of the physical HDD, in
other cases the HDD contains more than one partition. But I have more than one physical
HDD & more than one partition in my system. This is just a smarter way to manage your
files. Even if you have only one physical HDD, you should have at least 2 partitions on
that HDD: the C partition for Windows, another partition for your stuff. That partition
can have any letter you want. Windows at least lets you choose that much. The other
partition can be D or you can call it E, F, G, whatever. Just think it through before
you do it.

It's probably too late now for me to be offering you this advice. But if you ever get
another computer, you will have a chance to do things right from the outset then.
Message has been deleted

Wild Willy

unread,
Aug 1, 2023, 3:37:13 AM8/1/23
to Video Download Helper Google Group
Oops. I just realized I made a mistake in the SET commands. Here is the complete
corrected script:

rem Change these next 2 commands to specify actual directory names on your system.
rem The source directory must already exist.
rem The destination directory is conditionally created by this script
rem so it might or might not already exist.
set source=a directory
set destination=a different directory

rem Create the destination directory if it does not exist.
if not exist "%destination%" (
mkdir "%destination%"
)

rem Make sure the output log file does not exist.
if exist "%destination%\ffmpeg log file.txt" (
erase "%destination%\ffmpeg log file.txt"
)

rem Change the frame rate of each .mp4 file in the source directory.
rem The ffmpeg output parameter -codec: copy speeds up the execution of ffmpeg.
rem If, for example, your input is mkv & your output is mp4, you must omit -codec: copy.
rem But here, your input & output are both mp4 so you want -codec: copy.
for %%F in ("%source%\*.mp4") do (
ffmpeg -r 25 -i "%%F" -r 25 -codec: copy "%destination%\%%~nF.mp4" 2>>"%destination%\ffmpeg log file.txt"
)
pause
pause
exit

SET commands do not need quotation marks. There are even several built-in environment
variables delivered with Windows that contain blanks. Open a command window & issue just
SET at the command prompt. You'll see a few of these. One notable one is the
environment variable ProgramFiles. Look for it. The variable names themselves must not
contain blanks. But their values can, yet you must omit the " " marks. If you code
them, the quotation marks become part of the value of the environment variable. You
don't want that.

Trey

unread,
Aug 1, 2023, 9:50:01 PM8/1/23
to Video DownloadHelper Q&A
Wow! I have never used a .bat file before. When I read that jvc looked up the info in chatgtp (that first blew my mind), I was intimidated since I only wanted a simple script that I could copy/paste into the CMD window. Thank you Wild Willy for the clear and detailed instructions to make a .bat file and cleaning up the script. Unfortunately, the last script didn't work since it only put a copy of the bad/fast .mp4 videos in a new folder. I tried removing "-codec: copy" from the script and that worked correctly. I only tested with 2 videos in the folder. The destination folder has Vimeo videos that play correctly! And it was very fast!

THANK YOU to both of you! I really appreciate how much time you take to help all of us.

I have 2 follow-up questions.

(1) the script says to make the log file not exist. But I see a log text file in the destination folder. I wasn't sure if you wanted that to happen or not? It only takes a second for me to delete it, unless you think I need it.

(2) The pause happens after the script is finished (which is what you explained). Since the script runs so fast, I was curious if people also want a pause between each video? I only tested 2 short videos and I don't know if a pause is needed or not when a lot of longer videos are running in the script.

Wild Willy

unread,
Aug 1, 2023, 11:01:51 PM8/1/23
to Video Download Helper Google Group
Yes, .bat files are a pretty basic tool for Windows users. You would do well to read up
a bit on them.

So codec: copy failed . . . That's unexpected. It works when I use it. But then, I do
it a bit differently. It's discussed above. Two users named Rios & Arkadiusz introduced
the idea of splitting the original video file into its 2 tracks, video & audio. Then you
do the respeed when you merge the 2 tracks back together. So that's 3 steps: extract the
video track, extract the audio track, merge them back together changing the frame rate.
In that process, you can use -codec: copy in each step. It may be a bit ambitious to use
-codec: copy if you try do it all in one step. Also, it occurs to me that the script has
a hard-coded frame rate of 25fps in it. This may be good for the content you have
encountered so far, but it isn't good in every case. If you want to see the details of
the 3-step process, look upthread at my post dated June 17. It refers you off to another
thread where all the screenshots & background information are laid out. You could
probably modify the .bat script we've got going here now to accommodate the 3-step
process. That would be a good exercise for you to learn a bit more about the Windows
command language. When I do these things, I use the 3-step approach.

You have to understand that the script Jérôme got from ChatGPT consists of some
preliminary stuff & then it goes into a loop. The for statement invokes ffmpeg
repeatedly. In your case, you say you gave it 2 files as input. That means the for
statement executed ffmpeg twice. The gobbledygook between the word for & the word do
says to execute the ffmpeg invocation within the do ( ) once for each file in the source
directory. The do ( and the ) are not on the same line, but they are a matching pair.
Between the do ( and the ) you can have multiple statements within the ( ). That's where
I would code the statements needed for the 3-step approach, which would permit the
-codec: copy parameter on all 3 invocations of ffmpeg.

Part of the preliminary stuff is to erase the ffmpeg log file if it exists. That's
before the loop. Inside the loop, the >> thing redirects the output of ffmpeg to the
specified file. Redirection. That's a keyword you should search for as you learn more
about command scripts. So the idea is to make sure there is no log file & then create
one. When the script ends, you'll have a log file that you can look at. Don't just
erase that file. Open it in your text editor & look at it. It is very educational.
Once you've read it & extracted all the understanding you can from it, sure, go ahead &
erase it.

As for pause, that is just a diagnostic aid. Once you have debugged the script, you can
remove the 2 pauses. They add nothing to the processing. They are there to prevent the
command window from flashing by faster than you can look at it in case there's errors
that you need to correct. You definitely do not want to put a pause inside the loop.
You could, but that would just make the process stop & look at you after each file is
processed. That would be tedious. The information about what happened inside the loop
has been captured in the log file. It should become your habit to read the log file
after each time you run the script. You never know what surprises might be lurking in
there. Specifically, I would recommend you add the -codec: copy parameter back in, then
read the log file to find out exactly what ffmpeg didn't like about that. It would be
educational.
Message has been deleted

mjs

unread,
Sep 20, 2023, 12:20:01 AM9/20/23
to Video DownloadHelper Q&A
I've previously shown how to get the video with youtube-dl only on vimeo's website not an embedded video. I'll show how to do that with yt-dlp,
a fork of youtube-dl.

It will bring up a list of formats from an embedded video as long as it isn't set to private. youtube-dl cannot do this, it encounters an error instead. I'll use an example video here:

https://groups.google.com/g/video-downloadhelper-q-and-a/c/drVNC30sk34

Just download yt-dlp from github and put it in a folder and directory of your choice. You'll also need to have ffmpeg in the same folder so that the files can be merged together once the downloading is done.

Then above the folder click in the address bar and type cmd.
Then type the following command followed by the link for format selection: yt-dlp -F https://player.vimeo.com/video/823318078

Format list in attached file below. There will be video and audio only files in both dash and HLS. You can choose what video and audio you
want from the left hand side. This is the format code for each file. So if you want the HLS version at 960x540 with the audio
you'd type the following command followed by the link:

yt-dlp -f hls-fastly_skyfire_sep-824+hls-fastly_skyfire_sep-audio-high-Original -o "name of file.mp4"  https://player.vimeo.com/video/823318078

Or you could let it download the best video and audio if no formats are specified like this:

yt-dlp -o "name of file.mp4" https://player.vimeo.com/video/823318078


log.txt

Wild Willy

unread,
Oct 26, 2023, 5:29:17 AM10/26/23
to Video DownloadHelper Q&A
So much of the advice above is directed towards using ffmpeg instead of VDH.  But the latest version of VDH now uses ffmpeg itself.  This automatically cures most of the above issues.  Not all.  But most.  At the moment, the latest release of VDH is 8.1.0.0a5 beta & the latest CoApp is 2.0.5.  These are numbers current as of the moment I am writing this.  If you are reading this far enough in the future, those numbers could be & should be obsolete.  But even in that case, you should be running something newer than those 2 things.  Beta versions of VDH are available only for Firefox.  If you are using another browser, you will have to wait until the changes are ported to your version.  Or you could save yourself a lot of trouble & just upgrade to Firefox now.  In any case, you should get this latest level of the software before you even try to work through all the stuff above.  This latest version handles a lot of the issues by virtue of the simple fact that VDH now uses ffmpeg directly for downloading.  I have posted a bit of additional advice in this thread:

mjs

unread,
Nov 3, 2023, 7:28:30 AM11/3/23
to Video DownloadHelper Q&A
Glenn M has offered another way to fix the bad file without re encoding it here : 

You still need to know correct frame rate , already detailed in this discussion.
Reply all
Reply to author
Forward
0 new messages