Introducing AutoTube, a decentralized video platform.
You can visit it here:
Homepage:
Favorites:
Playlists:
Tags:
Search:
![]()
Mobile:
If no homepage parameter is present on index page:
Technical details:
URL Parameters:
”homepage” (index.html?homepage=”address”)
This is used for the main index page. You can pass a link to an autonomi homepage json file. The format of the file is:
{
"videos": [
{
"address": "3b98420a1585194a0ac8c575fb139a56bcc270a7c3869b89df11e5e50470b375",
"playlist": "true"
},
{
"address": "52d4bb074bdbb05932becba009a7518f905ff7f84821c6379c279be796dc599c",
"playlist": "false"
}
]
}
As you can see, the homepage json holds a list of different video lists, you can define them as playlists or not. If one is a playlist it will only show the first thumbnail on the homepage, with an icon showing that it is a playlist.
Here is an example of one on the network:
“address” (player.html?adddress=”address”
The address parameter can be used on the player page. It lets you enter a raw address of a video on the Autonomi network.
Here is an example with a raw video address:
“video” (player.html?video=”address”)
The video parameter can be used on the player page. It lets you enter a video address of a video on the Autonomi network. You can define which video in the list to play by including the index parameter: (player.html?video=address&index=1) A video json file has metadata and looks like:
{
"title": "Reading and handwriting",
"tags": ["reading", "BG", "handwriting"],
"videos": [
{
"title": "Letter G",
"description": "Reading and handwriting by BG Primer BG",
"address": "b40eb4f27390c87d38d082985cfae2ae90b8bf6f8571fb68f25d71d34c90bcd6",
"tags": ["G", "BG"],
"thumbnail_374x210": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/g_374x210.jpg",
"thumbnail_1920x1080": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/g_1920x1080.jpg"
},
{
"title": "Letter D",
"description": "Reading and handwriting by BG Primer BG",
"address": "2489f404d60e0b39f921651875efa02c8a15f49ee1aefdeb0e531352dbf3a497",
"tags": ["D", "BG"],
"thumbnail_374x210": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/d_374x210.jpg",
"thumbnail_1920x1080": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/d_1920x1080.jpg"
},
{
"title": "Letter E",
"description": "Reading and handwriting by BG Primer BG",
"address": "39bf12ace41c7e7bf5351a6c60c54c4857507e2def7220de1b0f82485efc5e65",
"tags": ["Letter E", "BG"],
"thumbnail_374x210": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/e_374x210.jpg",
"thumbnail_1920x1080": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/e_1920x1080.jpg"
},
{
"title": "Letter Zh",
"description": "Reading and handwriting by BG Primer BG",
"address": "c2b9b678ff920f0c1e4364a3a472e560c5845e0adba161d5a52776b72504ea99",
"tags": ["Letter Zh", "BG"],
"thumbnail_374x210": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/Zh_374x210.jpg",
"thumbnail_1920x1080": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/Zh_1920x1080.jpg"
},
{
"title": "Letter Z",
"description": "Reading and handwriting by BG Primer BG",
"address": "f607d499f700d66eb0366a461d20da8166b92112a8ba4cf2e0ceb30a2b2d7fbf",
"tags": ["Letter Z", "BG"],
"thumbnail_374x210": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/z_374x210.jpg",
"thumbnail_1920x1080": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/z_1920x1080.jpg"
},
{
"title": "Letter i",
"description": "Reading and handwriting by BG Primer BG",
"address": "10f1f76389523c0db89a5f8109aa45296f30d2f7ec20cb3256d57e887c7dfdc1",
"tags": ["Letter i", "BG"],
"thumbnail_374x210": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/i_374x210.jpg",
"thumbnail_1920x1080": "cf8eeeceaf5999409efce801076b9641d0022e1747b079c0330c273a9c54f541/upload/i_1920x1080.jpg"
}
]
}
As you can see, a video can have a lot of properties. The tag property lets you define tags so the user can sort. The thumbnail properties are optional, and if they are not present then the application will generate a thumbnail from the middle frame of the video. While this is processing (takes a few seconds) it will show a default thumbnail:
Generated thumbnail:
Here is an example with a json video address:
Many thanks to @Southside again for the long & inconvenient testing process, and to @Dimitar for uploading videos.
Future features I’d love to develop:
- Video publishing pages
- Paymaster & wallet integrations
- Tipping system for published videos
- Commenting system
- Like/Dislike system that uses ANT token to like/dislike
- Spinner while loading videos
- Suggested videos at end of videos
- Pointer support (update-able homepages)
I’d love to keep developing for the network, and there are some bugs like copy/pasting urls not loading right due to path issues. But I need funding to continue this level of commitment. I’m able to do around 1 hours worth of work for $60 going forward. If you wish to see more work on this and other cool projects, consider donating here: 0x99eF8C692dDD8c8535F5460Cf2EA30242e1e366b







