Wrzucam filmy na Youtube od pół dekady. I zawsze dokuczało mi powolne przetwarzanie się materiałów. Jakbym nie renderował swojego filmu w Premiere (nawet korzystając z rekomendowanych ustawień), Tuba zawsze wyrzucała komunikat, że mój film przetwarzałby się szybciej w formacie umożliwiającym strumieniowanie.

Oznacza on, że z jakiegoś powodu pliki MP4, nawet te enkodowane prawidłowo, najpierw wrzucają się na Youtube, a potem dopiero zaczynają się przetwarzać. Co znacznie spowalnie proces. Youtube powinien móc przetwarzać film równocześnie z jego ładowaniem na serwer!

Rozwiązanie tego problemu znalazłem całkowicie przypadkowo buszując po sieci. Podobno YT ma buga w obsłudze mp4 i nawet prawidłowe formaty (dla oczytanych: z definicją atom na początku, a nie końcu pliku) nie chcą przetwarzać się tak szybko jak powinny.
Można temu zaradzić prostą sztuczką.

Krok 1: Renderujemy nasz film do formatu MP4, jak zwykle, w formacie zgodnym ze standardami Youtube (h.264 i AAC).
Krok 2: Pobieramy ffmpeg i wrzucamy plik ffmpeg.exe do folderu z naszym filmem.
Krok 3: Korzystamy z komendy:

ffmpeg -i filename.mp4 -acodec copy -vcodec copy newname.mkv

odpowiednio podmieniając oczywiście nazwę filename.mp4 na nazwę naszego filmu oraz newname.mkv będącego nazwą nowego, naprawionego pliku w formacie mkv.

Powyższa komenda przeniesie zawartość naszego pliku do kontenera mkv BEZ UTRATY JAKOŚCI i zmian w zawartości, ale w tym kontenerze zostanie prawidłowo wykryta przez system Youtube i będzie przetwarzać się równocześnie z uploadem! Proces ten nie powinien zająć więcej niż parę sekund, bo do zmiany kontenera nie potrzeba ponownej konwersji pliku.

Bonus:
Dla leniwych (czyli dla siebie) przygotowałem nawet prosty skrypt, który automatyzuje ten proces.
Wystarczy tylko pobrać to archiwum (15.7MB) i rozpakować je do folderu z naszym plikiem mp4.
Teraz możemy po prostu upuścić plik mp4 na wypakowany plik mp4-to-mkv.bat, by stworzyć plik .mkv o tej samej nazwie.

MP4 to MKV

ffmpeg.exe jest dość wybredne jeśli chodzi o skomplikowane nazwy plików, więc jeśli wypluwa błąd „nieprawidłowej nazwy pliku”, wystarczy tylko przemianować naszą mp4 na coś prostszego, najlepiej bez spacji i znaków specjalnych.

Szybsze przetwarzanie filmów na Youtube
Tagi:        
  • twitek

    Dzięki, przyda się na pewno!

  • redstonecraftpl

    Oo, super, na pewno się przyda.
    Protip: na lin nie trzeba zwykle nic ściągać, często ffmpeg jest już u Ciebie zainstalowany(niektóre media playery go wymagają), jeśli nie jest, wystarczy go ściągnąć menedżerem pakietów i używać dokładnie tej samej komendy, co archon.

  • ktototaki

    Bug do YT zgłoszony?

  • DtN

    To samo potrafi MKVMerge.
    Tylko widzę że YT coś nie bardzo lubi łączenia filmów w jeden kontener MKV, bo mi właśnie bardzo długo przetwarza film (stanął na którymś procencie, po czym po dłuższym czasie pokazał że skończy za godzinę), w sumie nie mam pewności że skończy.
    Ale to szczególny przypadek. Z jednym segmentem – filmem wszystko powinno być dobrze.

  • AllahuAkbar

    nie działa w cmf wspiałem i pisze, że zła komenda.
    zmieniałem nazwę pliku żeby było dobrze.