Bezstratny kodek audio do przesłania do YouTube

0

Wziąłem plik FLAC i JPG, aby utworzyć wideo

ffmpeg -loop 1 -i aa.jpg -i bb.flac -c:a copy -shortest cc.mkv

Jednak po przesłaniu wynikowego MKV na YouTube zauważyłem, że dźwięk wycina się około 5 razy pod koniec na 1/2 sekundy każdy.

Czytam o tym, jak rozwiązać problemy z dźwiękiem w YouTube, które sugerują użycie AAC.

Czy najlepiej byłoby użyć

  • FLAC z innym poleceniem
  • WAV
  • ALAC
  • AAC bezstratny (jeśli taki istnieje)
  • coś innego

Aby wyjaśnić, błędy występują tylko w serwisie YouTube, a nie w lokalnych plikach FLAC lub lokalnych plikach MKV.

Skończyło się na tym głupim rozkazie; pomijanie wydaje się zniknąć.

ffmpeg -loop 1 -i aa.jpg -i bb.flac -shortest \
  -c:a aac -strict -2 -b:a 529200 cc.mp4
Steven Penny
źródło
libfdk-aac jest w porządku, ale libfaac walczy nawet przy dużych przepływnościach. Nigdy nie polecałbym libfaac do niczego. Nawet LAME MP3 będzie działał lepiej niż libfaac. Bezpieczne kodery AAC: libfdk-aac Apple AAC Nero AAC Inną opcją, która mogłaby zadziałać, jest przesłanie ścieżki dźwiękowej Vorbis o bardzo wysokiej przepływności do kontenera WEBM.
LeonG,

Odpowiedzi:

3

Chociaż YouTube może interpretować FLAC, bardzo możliwe, że proces konwersji zawiera błąd lub nie jest wystarczająco odporny. Jeśli obetniesz strumień bitów FLAC -shortest, może się zdarzyć, że nie jest poprawnie napisany i YouTube się na tym dusi.

Mam problemy z odtwarzaniem w YouTube dla niektórych formatów, których użyłem do przesłania, i sprowadza się to do prób i błędów, jeśli chcesz odejść od ich sugestii dotyczących kodowania .

Jeśli chodzi o twoje alternatywy:

  • WAV powinien widzieć lepszą obsługę, ale jest niepotrzebnie ogromny pod względem rozmiaru pliku. Niezależnie od tego możesz spróbować.
  • Z tego, co przeczytałem, ALAC nie jest kompatybilny z YouTube.

AAC powinien być twoim wybranym kodekiem. Nie oferuje trybu matematycznie bezstratnego, ale testy odsłuchowe sugerują, że przy nawet 96 kBit / s (ograniczonym) kodowaniu VBR jakość jest wyjątkowo dobra.

Zgodnie z normą ISO / IEC 13818-7, która definiuje AAC, „zapewnia„ nierozróżnialną ”jakość ITU-R przy szybkości transmisji danych 320 kbit / s dla pięciu sygnałów audio kanału o pełnej przepustowości”. Oznacza to, że nawet przy 128 kBit / s CBR dla dźwięku stereo powinieneś mieć akustycznie bezstratny plik z dostatecznie dobrym koderem (w FFmpeg, libfdk-aaci libfaacnależy go używać, libvo_aacenca nie i aac).

YouTube prawdopodobnie i tak przekoduje twoje wideo i audio, więc niestety nie ma szansy na bezstratne przesyłanie i pobieranie dokładnie tych samych strumieni bitów.

slhck
źródło
Interesujący byłby test ABX o wyższej przepływności między czterema koderami AAC-LC obsługiwanymi przez ffmpeg. aacmoże nie być tak źle, jak się spodziewamy przy wyższych przepływnościach, ale nie próbowałem.
llogan
Tak… wszystko, co kiedykolwiek zrobiłem, to testy jakości wideo, więc muszę przeczytać trochę o protokołach audio, ale jeśli kiedykolwiek znajdę czas, zmuszę kilkunastu uczniów do przeprowadzenia testów ABC / HR dla Enkodery AAC, aby lepiej zrozumieć, jakie prędkości transmisji są dopuszczalne :)
slhck
0

AAC jest w porządku. Przy wysokich przepływnościach od 200 kb / s powinno być percepcyjnie bezstratne. Ale nigdy, nigdy nie używaj FAAC. Jest to w zasadzie najgorszy koder AAC na rynku.

http://en.wikipedia.org/wiki/Codec_listening_test

Przejrzyj różne wyniki testu odsłuchu i zobacz, jak miejsca FAAC trwają w każdym porównaniu AAC. Nero i Quicktime to najlepsze kodery AAC.

Martin Hansen
źródło
Ponieważ OP używa FFmpeg, możliwości wyboru koderów AAC są dość ograniczone. libfdk-aac i libfaac są jedynymi rozsądnymi koderami.
slhck
Jak ktoś wspomniał, nawet Vorbis lub LAME są lepsze niż wbudowane kodery AAC FFMPEG, więc zamiast tego używaj tych kodeków. Oba są lepsze niż wbudowane kodery AAC FFMPEG. <br /> Jeśli rozpaczliwie szukasz AAC, sugeruję najpierw konwersję FLAC do AAC, a następnie użycie FFMPEG do zmiksowania istniejących plików AAC w wideo pojemnik. YouTube w rzeczywistości nie obchodzi, jakiego kodeka audio używasz do przesłanych plików, ponieważ i tak koduje wszystko do AAC.
Martin Hansen