Skip to content

Latest commit

 

History

History
287 lines (226 loc) · 8.75 KB

File metadata and controls

287 lines (226 loc) · 8.75 KB

Project Overview: Dual-Platform Video Uploader

Created for NoblePort Systems - NoblePort.eth

Executive Summary

This application provides a comprehensive solution for uploading videos to both YouTube and DTube platforms while clearly communicating the different copyright enforcement policies of each platform.

Key Features Implemented

1. Dual-Platform Support

  • YouTube Integration: Full OAuth2 authentication with Google APIs
  • DTube Integration: Decentralized uploads via IPFS network
  • Simultaneous Uploads: Can upload to both platforms at once

2. Copyright Policy System

The application includes a detailed copyright policy comparison system that highlights the fundamental differences:

YouTube (HIGH RISK)

  • Automated Content ID scanning of all uploads
  • Immediate blocking or monetization diversion possible
  • Channel strikes for violations
  • Even fair use may be flagged
  • Highly professional platform with strict enforcement

DTube (LOW RISK)

  • No automated copyright detection
  • Content rarely auto-blocked
  • Relies on manual DMCA complaints
  • Users still legally liable
  • Decentralized, lenient platform

3. User Interfaces

Web Interface

  • Modern, responsive design
  • Interactive copyright policy comparison
  • Platform selection (YouTube, DTube, or both)
  • Real-time upload progress
  • Detailed result display with links

Command-Line Interface

  • Full-featured CLI for automation
  • Copyright policy comparison tool
  • Batch upload capabilities
  • Platform-specific options
  • Scriptable for workflows

4. Safety Features

  • Copyright warnings before upload
  • Platform-specific recommendations
  • Risk level indicators
  • Legal disclaimer and guidance
  • Secure credential handling

Technical Architecture

Backend (Python)

  • Flask: Web application framework
  • Google API Client: YouTube Data API v3 integration
  • IPFS HTTP Client: Decentralized storage for DTube
  • OAuth2: Secure YouTube authentication

Frontend (Web)

  • HTML5: Modern semantic markup
  • CSS3: Responsive design with gradients
  • Vanilla JavaScript: No framework dependencies
  • REST API: Clean API architecture

Components

┌─────────────────────────────────────────────────┐
│              Web Interface / CLI                │
├─────────────────────────────────────────────────┤
│            Flask Application (app.py)           │
├──────────────────┬──────────────────────────────┤
│  YouTube Module  │      DTube Module            │
│  (OAuth2 Auth)   │      (IPFS Upload)           │
├──────────────────┴──────────────────────────────┤
│         Copyright Policy Comparison             │
│         (Warnings & Recommendations)            │
└─────────────────────────────────────────────────┘

File Structure

.
├── app.py                  # Main Flask application
├── cli.py                  # Command-line interface
├── config.py               # Configuration & copyright policies
├── youtube_uploader.py     # YouTube API integration
├── dtube_uploader.py       # DTube/IPFS integration
├── test_app.py             # Test suite
├── quickstart.sh           # Quick setup script
├── requirements.txt        # Python dependencies
├── .env.example            # Environment template
├── .gitignore              # Git ignore rules
├── LICENSE                 # MIT License
├── README.md               # Main documentation
├── SETUP_GUIDE.md          # Detailed setup guide
├── PROJECT_OVERVIEW.md     # This file
├── templates/
│   └── index.html          # Web UI template
├── static/
│   ├── css/
│   │   └── style.css       # Web UI styles
│   └── js/
│       └── app.js          # Web UI JavaScript
└── uploads/                # Temporary upload folder

Copyright Policy Comparison Matrix

Aspect YouTube DTube
Risk Level HIGH LOW
Automated Scanning Yes (Content ID) No
Blocking Immediate Rare
Strikes Yes No
Monetization Can be diverted Crypto-based
Legal Liability High High
Platform Enforcement Aggressive Minimal
Best For Original content Controversial/remix content
Professional Use Yes Limited

Usage Scenarios

Scenario 1: Original Content Creator

  • Recommendation: Upload to both platforms
  • YouTube: Maximum reach and monetization
  • DTube: Backup and decentralized presence

Scenario 2: Remix/Compilation Creator

  • Recommendation: DTube primarily
  • Reason: No automated blocking
  • Warning: Still legally liable for copyright

Scenario 3: Licensed Content

  • Recommendation: YouTube with proper licensing
  • Reason: Content ID will verify license
  • Benefit: Professional monetization

Scenario 4: Fair Use Content

  • Recommendation: Both, but expect YouTube claims
  • YouTube: May require dispute process
  • DTube: No automated claims

Security Considerations

Implemented Security Features

  1. Credential Protection: OAuth2 tokens stored securely
  2. Environment Variables: Sensitive data in .env
  3. Git Ignore: Credentials excluded from version control
  4. HTTPS: Secure API communications
  5. File Validation: Type and size checking

User Responsibilities

  1. Keep API credentials secure
  2. Ensure content rights
  3. Respond to legal notices
  4. Maintain licensing records
  5. Understand fair use doctrine

Setup Requirements

Prerequisites

  • Python 3.8+
  • IPFS (for DTube)
  • YouTube API credentials
  • Broadband internet

Quick Start

./quickstart.sh
python app.py

Detailed Setup

See SETUP_GUIDE.md for comprehensive instructions.

API Endpoints

GET /api/copyright-policies

Returns comparison of both platforms' copyright policies.

GET /api/platform-info/

Returns detailed information about YouTube or DTube.

POST /api/upload

Uploads video to selected platform(s).

POST /api/youtube/authenticate

Authenticates with YouTube via OAuth2.

GET /health

Health check endpoint.

Future Enhancements

Planned Features

  1. ML Copyright Detection: Pre-upload content analysis
  2. Batch Upload: Multiple videos at once
  3. Scheduling: Delayed publishing
  4. Analytics: View stats from both platforms
  5. Thumbnail Generation: Automatic sprite creation
  6. Video Editing: Basic trim/crop capabilities
  7. Transcoding: Format optimization per platform
  8. Multi-Language: Internationalization support

Potential Integrations

  • Rumble
  • Odysee
  • Peertube
  • Vimeo
  • Dailymotion

Performance Characteristics

YouTube Uploads

  • Speed: Depends on Google's servers (fast)
  • Processing: Immediate Content ID scan
  • Availability: Usually immediate (after processing)

DTube Uploads

  • Speed: Depends on IPFS daemon and network
  • Processing: No automated scanning
  • Availability: Depends on IPFS pinning

Testing

Run the test suite:

python test_app.py

Tests cover:

  • Configuration loading
  • Copyright policy system
  • YouTube uploader initialization
  • DTube uploader initialization
  • Flask app endpoints
  • API responses

Legal Disclaimer

This software is provided for educational purposes. Users are solely responsible for:

  • Ensuring they have rights to upload content
  • Complying with copyright laws
  • Responding to legal notices
  • Understanding fair use in their jurisdiction

The authors are not liable for copyright infringement or legal issues arising from use.

Support & Contact

  • NoblePort Systems
  • NoblePort.eth
  • GitHub Issues for bug reports
  • See README.md for detailed documentation

License

MIT License - See LICENSE file for details.

Credits

Developed by NoblePort Systems for the decentralized content creator community.

Technologies Used

  • Python 3
  • Flask
  • Google APIs
  • IPFS
  • HTML5/CSS3/JavaScript

Conclusion

This dual-platform video uploader provides content creators with:

  • Freedom of choice between platforms
  • Clear understanding of copyright risks
  • Tools for managing both centralized and decentralized uploads
  • Professional-grade API integrations
  • User-friendly interfaces for all skill levels

Empowering Decentralized Content Creation - NoblePort Systems