My goal is to download a specific stream of video from neulion. The two hour video is split into thousands of mp4 slices. The url naming scheme does not have a progressive numbering logic (is not: ...1.mp4, ...2.mp4, ...3.mp4). Instead it has three variables:
general structure: http://...2013_h_whole_1_*.mp4/*/*.mp4
I broke the process into three stages:
1. Capture all the urls (using Coojah)
2. Download the video slices from the captured url (using wget)
3. Re-join the slices into a single mp4 file (using mp4box)
Stage 1: I played the video and used Coojah to capture the urls and their streaming order (thanks to rubiohiguey for Coojah and a good deal of other info! - see below)
Stage 2: I downloaded the files using wget, a simple script and the url list from Stage 1 (I could have used Coojah here too, but decided it was more transparent to me if I used wget + simple script)
Stage 3: I re-joined the mp4s downloaded in stage 2 using MP4Box, a simple script and the url list (to provide me the correct file order)
The result was a single video, with moments of clarity, but in general a mess. Often it looked like images were overlapping and colors were sometimes off. The limits of my knowledge prior to this was very straight-forward downloading with no complexities.
Am I missing something obvious?
Is using wget or mp4box inappropriate?
rubiohiguey mentioned using ffmpeg - should I be using that instead of mp4box?
unfortunately, I cannot provide a link to the video
(rubiohiguey posted a reply to on a different thread that was very helpful regarding Coojah and some other information:
+ Reply to Thread
Results 1 to 2 of 2
First off: I am a complete newb to ffmpeg and video capture/streaming/recording ETC. I do not claim the steps below to be the best way to do this or even correct.
I started down the same path as your steps this thread and this one. However I wasn't able to validate that these chunks were good or not as they wouldn't play in VLC separately and my attempts at merging them failed.
I then tried this which downloaded the full files (~35 minutes each) a few times correctly:
ffmpeg -i <http://streamlink.mp4.m3u8> -strict -2 ouputname.mp4
However after using it more I was receiving Gateway timeout errors in ffmpeg 9 out of 10 attempts, about 1/3 of the way finished.
I then switched to the following method which has worked perfectly so far:
1. Get stream link (via URL Snooper 2, or Coojah, or w/e)
2. Take off the /xx/xxxx.mp4 portion at the end of the link, so you are back to the first ".mp4". Add ".m3u8" to the end so its ".mp4.m3u8"
3. Download the link you edited in #2 above (i.e. the m3u8 file).
4. Parse the .TS names from the m3u8 file.
5. Download the .TS files by replacing the .mp4 file name (from the modified link in #2, prior to adding the .m3u8) with the TS file names you parsed out.
6. Use Copy (Windows) command to concatenate the downloaded TS files like: copy /b <wildcard to grab all TS files> outputname.ts
7. Use ffmpeg on TS file created in #6 like: ffmpeg -i ALL.ts -vcodec copy ALL.mp4