Peertube: Import a full channel from youtube

Created on 30 Nov 2018  路  14Comments  路  Source: Chocobozzz/PeerTube

Migrating from Youtube to PeerTube might be much easier if the import tool could directly import all the videos of a Youtube channel, and would facilitate adoption for Youtube users (especially those who have dozens of video).

Note that youtub-dl can do that, by giving the channel url instead of the video url.

Linked with #754

Import Type

Most helpful comment

So there is a tool https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/tools.md#peertube-import-videosjs that allows a user to import an entire YT channel. Adding functionality into PeerTube to watch and mirror would make my life easier as I would not need to maintain my tool, but I do not think it is within scope of PeerTube. PeerTube is a federated tube site server, functionality additional to that is best handled by third party scripts.

All 14 comments

For anyone interested, note that while waiting for this feature being included in the PT web UI, you can do that with a CLI import script:

https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/tools.md#peertube-import-videosjs

Has this feature been added yet?

I actually found this issue (and multiple others) after i had almost completed a Python tool to do this, so i figured i would comment about it here.

https://github.com/mister-monster/YouTube2PeerTube

This is a tool that watches YouTube channels, and when new videos are found it mirrors them to a PeerTube channel.

This is a very important feature, @mister-monster script should be put forward and maintained by the PeerTube developers, as currently only LBRY proposes a streamlined migration from YouTube and this is a huge plus that already allowed adoption from several high profile youtubers.

So there is a tool https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/tools.md#peertube-import-videosjs that allows a user to import an entire YT channel. Adding functionality into PeerTube to watch and mirror would make my life easier as I would not need to maintain my tool, but I do not think it is within scope of PeerTube. PeerTube is a federated tube site server, functionality additional to that is best handled by third party scripts.

Ok that's great! Then maybe this could be made into a plugin so it could be easily installed and deployed by instances admins?

Why would an instance admin need to implement this? Owners of channels decide what videos they upload, if a channel owner wants to mirror YT channels they can easily run the script I linked to get started and then run my bot to mirror new videos that are released. I fully understand why users need this functionality (this is why I maintain my tool) but I do not see how PeerTube or the user experience is improved by rolling these sorts of tools directly into the server.

Yes thank you very much for maintaining this toolset. I agree that having it as a script presents the advantage that any user can use it on any instance, but the disadvantage is that the user needs to be tech savvy enough to properly setup and run it, whereas as a plugin it could be integrated in the web user interface, but at the expense of consuming more serverside resources. Maybe a better idea than what i initially proposed would be a userside plugin, eg in the form of a web browser extension, or the writing of a parallel web app on other servers that would provide an interface to run synchronizations (this last idea would be similar to what was done for Mastodon crossposter with Twitter ).

Would be a handy plugin.

Hello, I entered Here also looking for a way to import a playlist or a channel, they have this function planned in the near future, I am developing a project in which I want to work with perturbe, it is a decentralized network without connection to the giants like YouTube and Facebook to promote the use of decentralized networks such as mastodon, peerturbe etc.

then tools like this would allow the person to enter where there is internet and make the migration of their video after seeing it within the network that does not have internet using the peerturbe platform instead of the Giant YouTube

r.

Why would an instance admin need to implement this? Owners of channels decide what videos they upload, if a channel owner wants to mirror YT channels they can easily run the script I linked to get started and then run my bot to mirror new videos that are released. I fully understand why users need this functionality (this is why I maintain my tool) but I do not see how PeerTube or the user experience is improved by rolling these sorts of tools directly into the server.

personally try to run the scripts and I need
1 have a computer with Linux operating system
2 import repositories and make certain adjustments that not everyone is familiar with
I for example use the already configured disturbing instance of YunoHost
if you want it to be used by end users, it would be ideal if it is implemented within perturbe this would obviously allow a massive migration of YouTube users to peertube

It is written you currently have it can be implemented by an owner of an instance of disturbance but for a particular person who uploads video in an instance that screen is not useful at all because normally the one who does it does not have programming knowledge needs something in which he simply put the links and the work is done, an end user does not have the possibility to implement this writing for not having the knowledge.

if its objective is that it is written used by end users and not by server owners it has to be something that is integrated into peerturbe or that it is a web page where one simply loads the data so that the work is done

as long as this involves doing installations on a Linux system that most people use Windows is not reaching its goal of being available to an end user who usually has no programming knowledge at all

You say that you do not see how the user experience would be improved if this tool is incorporated into peerturbe because it is easy for you to do it because you have the knowledge but a user who does not have programming knowledge cannot execute this Script if it is incorporated to simply annoy the user places their data and the channels are automatically migrated without the need for programming knowledge, so it would be a giant advance with disturbance we could be talking about being able to migrate the entire channel of a user and in this way massively promote the use of peertube as the best alternative to YouTube

If there are some misspelled words, forgive me, but I don't speak English, I'm using Google translate and I know that Google's translator is not perfect, so it probably takes several times to try to at least understand the idea.

Yes thank you very much for maintaining this toolset. I agree that having it as a script presents the advantage that any user can use it on any instance, but the disadvantage is that the user needs to be tech savvy enough to properly setup and run it, whereas as a plugin it could be integrated in the web user interface, but at the expense of consuming more serverside resources. Maybe a better idea than what i initially proposed would be a userside plugin, eg in the form of a web browser extension, or the writing of a parallel web app on other servers that would provide an interface to run synchronizations (this last idea would be similar to what was done for Mastodon crossposter with Twitter ).

I totally agree with you, this implementation can only be useful if it is run from a server without the end user having to make any programming adjustments, it could be inside a peertube or a separate server or a browser plugin, the thing it has to be something simple to do. Use it if we want it to be a useful tool for end users who post videos on the Channel; otherwise, it can only be used by server owners and people with programming skills.

I've been using https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/tools.md#peertube-import-videosjs lately to import videos and it's quite buggy. Every few videos it errors out and needs to be retried to actually work. Also there's no way to add videos to playlists using the script which is a big problem. For some reason PeerTube limits a user to only 20 channels so importing videos to channels doesn't mirror the playlist functionality. Hopefully all these issues can be addressed with a plugin or a UI element that users can use directly.

I think a plugin would make it easy for admins to find it and it will make it easy for users to use it. I'm not sure how to be able to do the polling with a plugin though. Can a plugin register an API endpoint so that a cron job can trigger periodical checks? Or would it be possible to run node-cron at action:application.listening hook?

Update:
I dag a bit deeper into plugins and it seems to work by just running node-cron or setInterval in the plugins register function. I'm thinking of creating a plugin which just make use of POST /api/v1/videos/imports, but I can't figure out how to create an access token in the plugin. Does anyone know if that's possible at all?

Update 2:
I found out how to create an access token (by using username and password).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

XenonFiber picture XenonFiber  路  3Comments

Jorropo picture Jorropo  路  3Comments

milleniumbug picture milleniumbug  路  3Comments

gegeweb picture gegeweb  路  3Comments

tcitworld picture tcitworld  路  3Comments