{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "JQMhqZ2CvisM"
},
"outputs": [],
"source": [
"# Mount Google Drive\n",
"from google.colab import drive\n",
"drive.mount(\"/content/drive\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "-BikYlAEvmlD"
},
"outputs": [],
"source": [
"# Unmount Google Drive\n",
"drive.flush_and_unmount()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"cellView": "form",
"id": "_lJkjDsMwHx8"
},
"outputs": [],
"source": [
"#@title vsd 0.4.0\n",
"\n",
"import shutil\n",
"import os\n",
"\n",
"if shutil.which(\"vsd\") is None:\n",
" !curl -L https://github.com/clitic/vsd/releases/download/0.4.0/vsd-0.4.0-x86_64-unknown-linux-musl.tar.xz | tar xJC /usr/local/bin\n",
"\n",
"url = \"https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8\" #@param {type:\"string\"}\n",
"output = \"/content/downloads/test-stream.mp4\" #@param {type:\"string\"}\n",
"\n",
"if not os.path.exists(\"/content/downloads\"):\n",
" os.makedirs(\"/content/downloads\")\n",
"\n",
"!KDAM_NCOLS=40 vsd save \"{url}\" -o \"{output}\" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"cellView": "form",
"id": "Ve_He_yCWVga"
},
"outputs": [],
"source": [
"#@title Download and preview first 30s of the downloaded stream\n",
"\n",
"path = \"/content/downloads/test-stream.mp4\" #@param {type:\"string\"}\n",
"seconds = 30 #@param {type:\"integer\"}\n",
"\n",
"!ffmpeg -y -hide_banner -i \"{path}\" -t $seconds -c copy /tmp/vsd-trimmed-stream.mkv 2> /dev/null\n",
"\n",
"from google.colab import files\n",
"files.download(\"/tmp/vsd-trimmed-stream.mkv\")"
]
}
],
"metadata": {
"colab": {
"collapsed_sections": [],
"name": "vsd-on-colab.ipynb",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3.10.6 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10.6"
},
"vscode": {
"interpreter": {
"hash": "b78a8d74843af7dac556e96825c923b905d97bc0fd02250c48d3fcc7fd487986"
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}