Skip to content

Instantly share code, notes, and snippets.

@henrydatei
Last active March 9, 2023 09:34
Show Gist options
  • Save henrydatei/b85f2ffbe0390b2e8b069ab1e5765986 to your computer and use it in GitHub Desktop.
Save henrydatei/b85f2ffbe0390b2e8b069ab1e5765986 to your computer and use it in GitHub Desktop.
Download a video from Videocampus Sachsen
#file=$1
#videoname=$(echo "$file" | cut -d "." -f1)
#echo "$videoname"
touch playlist.txt
touch urllist.txt
key=$1
videoname=$2
#keystring=$(cat $file | grep -o -E "key=[0-9,a-z]+")
#key=$(echo "$keystring" | cut -c 5-)
link="https://videocampus.sachsen.de/media/hlsMedium/key/$key/format/auto/ext/mp4/learning/0/path/m3u8"
playlist=$(curl -s "$link" | tail -n 1)
newLink="https://videocampus.sachsen.de/media/hlsMedium/key/$key/format/auto/ext/mp4/learning/0/path/$playlist"
wget -O playlist.m3u8 "$newLink"
for line in $(cat playlist.m3u8 | grep ".ts"); do
partLink="https://videocampus.sachsen.de/media/hlsMedium/key/$key/format/auto/ext/mp4/learning/0/path/$line"
echo "$partLink" >> urllist.txt
echo "file $line" >> playlist.txt
done
cat urllist.txt | parallel -j 50 'wget {}'
ffmpeg -f concat -i playlist.txt -c copy $videoname.mp4
rm playlist.m3u8
rm playlist.txt
rm urllist.txt
rm *.ts
@henrydatei
Copy link
Author

First, thanks for this awesome script and your help- its working now. Maybe you have a solution for this problem:

Some of the videos I wanted to get (~5%) stop in the middle of the download with this error:

[concat @ 0x11e7052a0] Impossible to open '113d39a418c4bb8ffeb44311077bcf99_1638267204_480p_mp4_187.ts' playlist.txt: No such file or directory

The video this error is from: key=113d39a418c4bb8ffeb44311077bcf99 Strangely, it still saves the video. When I retry the same script, the new downloaded video has a different length than the previous but still isn't complete and throws the error. Do you have any idea what the problem could be?

I can’t test this right now but have you removed all created files after the download failed? The script creates playlist.m3u8, playlist.txt, urllist.txt and a lot of .ts files. Maybe there are some problems when the files aren’t empty (the script appends lines to these files, so there are problems when leftovers are in this files)

@rallemc
Copy link

rallemc commented Aug 5, 2022

I just retried it without deleting anything and it worked for all videos.
The only thing I changed, is that I worked from a different network. No clue, what the problem was :)

@kinafu
Copy link

kinafu commented Mar 9, 2023

To download some videos today I wasn't succesful with the script but these steps worked:

  1. In Browser login to Videocampus
  2. Press Play on the video
  3. Open Developer Tools > Tab Network
  4. Use the XHR filter
(Show screenshot)

Screenshot Developer Tools Filter XHR

  1. Right-Click on any of the files of type ocet-stream, copy as link (German "Wer kopieren" > "Als Link kopieren")
  2. Replace the string as follows:
# in
https://videocampus.sachsen.de/media/hlsMedium/key/[String A]/format/auto/ext/mp4/learning/0/path/[String A]_[String B]_480p_mp4_193.ts
# out
https://videocampus.sachsen.de/getMedium/[String A].mp4?[String B]&format=1080p

Example:

# in
https://videocampus.sachsen.de/media/hlsMedium/key/f5eo8eezg6n19eo53v74a3965ll5rs02r/format/auto/ext/mp4/learning/0/path/f5eo8eezg6n19eo53v74a3965ll5rs02r_1666077443_480p_mp4_193.ts
# out
https://videocampus.sachsen.de/getMedium/f5eo8eezg6n19eo53v74a3965ll5rs02r.mp4?1666077443&format=1080p

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment