YTupload ver. 0.1 (Конвертируем и загружаем на YouTube)

    Доброго времени суток!

    Продолжаю тему «Конвертируем и загружаем на YouTube». Благодаря ценным комментариям хабралюдей, проект YTupload не был заброшен и забыт, а выложен на GitHub и усовершенствован.

    Краткая аннотация


    YTupload — проект, задача которого, конвертировать и загружать ролики на Ваш аккаунт в youtube. Написан на django.

    Собственно опишу кратко, что появилось в новой версии:
    > переработано 90% кода (убрали массу лишнего, оптимизировали код)
    > выбросили python'овскую библиотеку youtube-upload
    > загрузка теперь идёт через api YouTube (необходима gdata-python-client)
    > подключение к YouTube и настройки конвертирования через ffmpeg вынесены в settings.py
    > линк загруженного видео сохраняется в БД
    > за симпатичный интерфейс спасибо bootstrap
    > ну и собственно проект на GitHub, ждём Вашего участия

    Чтобы не только голым текстом радовать, картинки:




    В планах следующее:
    > инсталятор (при старте проекта)
    > настройки в веб-интерфейсе (возможность выбора канала YouTube'a на который идёт загрузка / выбор настроек конвертирования )
    > работа с плейлистами
    > мультиязычность

    В конце хочу сказать слова благодарности:
    Спасибо за ценные комментарии, которые помогли мне внести правки в проект: P0figist, b0beR, Aeron, seriyPS, karellen.

    И всё это время мне, невыразимо много, помогал Evgeny Bespaly за что ему громадное спасибо! (хватит кармы — отправлю ему инвайт)
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 17

      +3
      хороший проект, буду пользоваться))
      добавьте в .gitignore: .DS_Store а то почти в каждой папке валяется никому не нужный мусор.
        0
        да, спасибо)
        спешил выложить релиз и не заметил этого))
          +1
          Его, к слову, лучше всего в глобальный gitignore добавить и не заморачиваться в будущем.
            +1
            угу) так и сделал))

            если кому понадобится, то:
            git config --global core.excludesfile ~/.gitignore
            echo .DS_Store >> ~/.gitignore
              0
              Спасибо, это круто, не знал!
                0
                аналогично)
        +3
        если подумать о других видео-сервисах то было бы не плохо переименовать проект, перенести все что касается youtube в /backends/youtube.py чтобы кому надо могли в ту-же папочку положить файлики: vimeo.py, tumblr.py, vkontakte.py, mailru.py итд… ну я думаю все поняли что я имею ввиду)
          0
          + например localhtml5.py который сконвертирует в .webm и другие форматы которые играются в HTML5 тэге.
            0
            хабр сожрал тэг видео)
            0
            ну и соответственно в настройках указать все бэкенды которые нужно подключить. по умолчанию допустим только youtube
              0
              отличная идея!
              если есть желание — присоединяйтесь для реализации)
              +1
              Хммм… думаю самое время для 6-го комментария. Не люблю нечётные числа.
                +1
                Здорово, а что-нибудь такое для Rails3 есть?
                  +1
                  Разрешите несколько ремарок по существу?

                  1. Приложения принято распространять в виде отдельного пакета и желательно с setup.py (там и зависимости можно указать), чтобы можно было установить его через pip и легко интегрировать в свой проект. А Вы выложили Ваш проект целиком. Есть ли в этом какой-то сакральный смысл?
                  2. Что ещё за converting.py, который надо запускать через крон? Зачем там активация окружения джанги? Так нельзя, так неправильно. У джанги есть относительно клёвые встроенные механизмы для запуска проекта в консоли.
                  3. Зачем там же, в converting.py, сомнительная проверка на число запущенных копий? Вдруг моё железо вывезет 10 одновременно запущенных ффмпегов, а 11 уже не вывезет и я сам хочу решать, сколько инстансов может быть запущено? Неужели придётся переписывать чужой код, попутно исправив nice на побольше или вообще его выкинув?


                  По последним пунктам я бы посоветовал сделать так:
                  • Оформить converting.py как нормальную management-команду джанги
                  • Количество разрешённых процессов передавать в аргументе командной строки (легко реализуется через optparse, примеры в документации к management-командам есть)
                  • Выкинуть нафиг nice. Если кому потребуется, сможет в через него запускать ./manage.py converting


                  Я зануда, простите
                    0
                    Спасибо за ценный комментарий! Именно такая критика и помогает развивать проект так, что я искренне благодарен занудству ))

                    Теперь ответ:
                    Я не претендую на звание джанго-гуру. Уверен, что в коде есть, что оптимизировать и править. Пока у YTupload есть минимум одно отличное качество — он работает!!! С костылями? Да, с костылями.

                    А благодаря аргументированной критике, я смогу «дошлифовать» свой проект. За одно подниму свою осведомлённость о django )

                    Вывод: спасибо! учту в следующих билдах.
                    +1
                    добавили бы в теги bootstrap — это нынче оч популярный фреймворк.
                    пусть отображается пост и по этому тегу. мало-ли кому пригодится.
                      0
                      ок) сделанно

                    Only users with full accounts can post comments. Log in, please.