Результаты поиска по запросу «

б васильев скачать

»

Запрос:
Создатель поста:
Теги (через запятую):



политика стас ай как просто длинопост 

Всем верующим в "Импортозамещение" посвящается

От себя: Помнится в каком-то из видео Каца, он сказал такую фразу в ответ на чей-то (вроде) пост, с тем что нам нужны свои Кулибины (подразумевалось, те, кто смогут сделать всякую хитрую хуйню для фронта из говна и палок), на что Кац откмментил: "Так вы же всех их и пересажаете".

Ну может быть и не всех пересажают, но на всех будет просто абсолютно похуй, независимо от того, насколько вы полезны. 

Результат. 

Здесь. 

Не.

Нужен. 

Никому.

P.S. Ну разве что только тебе, в виде паспорта другой страны и денег на жизнь где-нибудь в другом месте;

P.P.S. Ну или нормальной власти тут, но чет всё больше этот вариант как-то кажется всё более сказочным.

Дальше простыня Ай как Просто https://t.me/ikakprosto/5492 :

Сегодня я прощаюсь со своей карьерой. 

Это не пост нытья, но раз уж я один из первых блогеров перешедших после удаления с Ютуба на отечественные платформы, то считаю нужным рассказать о своем опыте, чтоб вы были готовы. 

Вердикт мой однозначен – это смерть. 

1. Аудитория

Все шапкозакидательские настроения первых дней с поддержкой меня быстро улетучились. Каждый выпуск нбирал все меньше и меньше просмотров. 

Потому-что ВК / Rutube / Дзен – это говно, а не платформы. 

В ВК если ставишь скорость воспроизведения 2x или 1,5 – или просто любую, то ролик перестает воспроизводиться. Что с телефона, что с компа. Причем даже если ты скачал ролик через функцию ''скачать'' в приложении, то ВСЕ РАВНО НИЧЕГО НЕ РАБОТАЕТ. 

Плеер – убожество. В моб. приложении не работают таймкоды. 

В Рутубе даже не отображается число просмотров. Нет сортировки по популярным комментариям, нет даже веток комментариев. Ты не можешь ответить человеку. Не говоря о тысячах других проблем. Это сервис 2013-го года по всем параметрам. 

Дзен – там просто нет аудитории. Вот и все. Ролик может залететь, но смотреть тебя там не будут. 

Поэтому все люди которые перешли за мной на эти сервисы перестают меня смотреть. И правильно делают. Мы всегда выбираем удобство и я вас понимаю и никого не виню. Тем же кто через все это говно продолжает смотреть меня - огромное спасибо. Не знаю как вы это терпите. 

Это правда много значит. 

Алгоритма рекомендаций нет. Мои видео в подписках видно не всегда. В общем, я уже смирился с фактом того, что это мои медийные похороны. 

Постепенно меня просто забывают.

2. Деньги

Я задавался вопросом, а как получается, что в ВК за миллионы просмотров я зарабатывал 5000 - 7000 рублей в месяц. На Youtube за теже просмотры я получал 7-8 тысяч только уже долларов. Оказалось, что в ВК не дает денег за ПОЛИТИЧЕСКИЙ КОНТЕНТ. Блять, историки и новостники просто идите на хуй, вы не нужны ВК. 

Так же как и музыка и все остальное тоже может не получить монетизацию. Денег в ВК нет. 

Рекламодатели напрямую в видео тоже не идут. Ну просто у них бюджеты ТОЛЬКО ДЛЯ YOUTUBE. На твои миллионы просмотров им похуй. 

С Rutube ситуация получше, там можно заработать 50-60 тысяч рублей в месяц за пару миллионов просмотров. Но набрать их на Рутубе нереально. Я смог, конечно, в первые месяцы, но сейчас аудитория отваливается и от туда. 

Я был одним из популярнейших видеоблогеров. Думаете мне предложил хоть кто-то какую-то монетизацию после перехода на платформы или хоть что-то? Хоть какую-то мотивацию? Может элементарно человеческий диалог? 

Нет, им просто похуй. Единственные кто связался – Рутуб, которые дали мне персонального менеджера....для того, чтоб мне писали сменить превью или переименовать ролик из-за слишком кричащего названия. 

Дзен – просто пиздец. С Декабря пытаюсь подключить монетизацию. Им не нравится мое селфи. Просто без комментариев.

3. Переспективы

Их нет. Всему руководству похуй. они мутят бабки газпрома, занимаются внутрипартийной борьбой и не хотят ничего создавать за откаты раздавая миллионы блогерам которых никто не знает. Они банят за поддержку Донбасса и не банят за призывы ''резать русню''. 

Им всем ПРОСТО ПОХУЙ. Они не хотят ничего создавать и не будут создавать ничего, единственное их достижение – сраться с другими подразделениями за финансирование, крысить гос. бабки и спускать их в унитаз или же на дома и яхты. 

Так что если вы пока имеете право голоса – не пиздите на Ютубе лишнего. Я проебал все, что строил 10 лет. Я не жалею об этом, потому-что мудаком я был рожден и умру тоже мудаком, которые не может следить за языком. Что в уме – то и на языке. 

Но если вы не долдон, то просто занимайтесь любимым делом и не пиздите на Америку или Украину. Ведь тогда вы потеряете все над чем работали. Ведь нашей стране не нужны те кто ее поддерживают, у нас тут национал-куколдизм.

Меня жалеть не надо. Да, я оказался прав и аудитория уходит как я и говорил еще в Декабре прошлого года. 

Но повторю, мне не нужна ни поддержка, ни жалость. Вернись я назад в будуще, повторил бы все, только еще жестче сделал бы. Но медийно я себя сегодня хороню.

По моим подсчетам мне осталось еще полгода – максимум год. Заработаю денег, чтоб была подушка и буду дальше заниматься творчеством (сейчас много пишу музыку, грустную и унылую преимущественно). 

Зато выпил свежей крови, а не жрал веками падаль. 

Говорил что хотел, ебал кого хотел и всегда слал на хуй всех кого хотел. Жил панком и умираю панком. ХОЙ

СТАС БОМБИТ пригожим, Ваша заявка на подключение к партнёрской программе ВКонтакте была отклонена. Вы можете ознакомиться с требованиями к сообществам на этой странице. О ^ Комментарий модератора: 2.5. Сообщество не может относиться к одной из следующих тематик: 2.5.2. Политика; Повторно
Развернуть

Отличный комментарий!

#Metal фэндомы Heavy Metal Thrash Metal Speed Metal 

Давайте соберём их всех!..

Я, конечно, понимаю, что в советском/пост-советском металле не так много вообще хороших групп, но! Назрела у меня идейка как-то сгруппировать песни конкретного "направления". Объясняю. В общем, я хочу, чтобы вы мне помогли собрать здесь как можно больше песен с развитием общей мелодии, с нарастанием/затуханием, с динамикой(что я люблю). Кину 3 примера для затравки и хотелось бы услышать подобное(я ещё сам повспоминаю, ибо точно знаю, что есть ещё, но забыл). В общем: а) песня должна быть жанра хэви, спид или трэш-метал; б) в ней должен быть переход(-ы) от менее спокойного к более(или наоборот). Послушайте хотя бы 1-й трэк и поймёте о чём я. 
&attribute_insert_1&
Развернуть

гифки улитка переправа 

Развернуть

рыба фугу еда 

рыба,фугу,Приколы про еду
Развернуть

Отличный комментарий!

Любое существо: существует
Азиаты: "наконец-то блять, еда!"
Amnael_ru Amnael_ru18.03.202118:33ссылка
+35.2

гном садовый гном Ленин 

Изготовление садовых гномов на заказ

гном,садовый гном,Ленин,Владимир Ленин,Ильич,Владимир Ульянов
Развернуть

Отличный комментарий!

BattleJuice BattleJuice28.07.202121:28ссылка
+59.9

Warhammer 40000 Wh Песочница фэндомы Красил сам (Wh 40000) художник_от_Нургла говнопокрас фотал_на_надфиль продолжение под катом Chaos (Wh 40000) 

Продолжение говнопокрасов: тактичка

Первый покрашенный хаосит из тактички. Стволы на его планете не сверлят, т.к. технологию найдут год спустя. Говняно, конечно, но ведь всяко лучше предыдущего (http://wh.joyreactor.cc/post/1757066).
Warhammer 40000,wh40k, warhammer 40k, ваха, сорокотысячник,Wh Песочница,фэндомы,Красил сам (Wh 40000),художник_от_Нургла,говнопокрас,фотал_на_надфиль,продолжение под катом,Chaos (Wh 40000)
Развернуть

приколы для даунов приколы для бросивших курить 

Что это у тебя в руках? Ты бросаешь читать?,приколы для даунов,приколы для бросивших курить
Развернуть

Отличный комментарий!

Учитывая цены на бумажные книги это скорее один из немногих способов, не бросать читать.
Half811 Half81112.05.202212:09ссылка
+36.8

политика запрет музыканты 

«Фонтанка» опубликовала «список запрещенных артистов»

Большинство, заслышав о списке, отказались развивать беседу. Один из собеседников, однако, подтвердил: «Да, список правильный». Но уточнил, что лист ежедневно корректируется и дополняется, — впрочем, и без него «все продюсеры прекрасно знают», кого можно, а кого нельзя.


Публикуем список в том виде (включая орфографию), в котором он в редакцию поступил:


рэп-исполнитель «Нойз МС» (Алексеев Иван)
рэп-исполнитель «Оксимирон» (Федоров Мирон)
группа «ДДТ» (солист Шевчук Юрий)
группа «Машина времени» (солист Макаревич Андрей)
группа «Аквариум» (солист Гребенщиков Борис)
группа «Каста» (солисты Лешкевич Владислав, Епифанцев Михаил, Пасечный Андрей)
группа «Би-2» (солисты Уман Александр, Бортник Егор)
группа «Несчастный случай» (солист Кортнев Алексей)
певица «Земфира» (Рамазанова Земфира)
певец Меладзе Валерий
Спирин Дмитрий (экс-солист группы «Тараканы»)
группа «Anacondaz» (солисты Хорев Артем, Карамушкин Сергей)
группа «Louna» (солистка Геворкян Лусинэ)
группа «Порнофильмы» (солист Котляров Владимир)
группа «Ногу Свело!» (солист Покровский Максим)
группа «Кровосток» (солист Черняк Антон)
группа «Элизиум» (солист Кузнецов Дмитрий)
группа «2Маши» (солист Зайцева Мария)
певица «Манижа» (Сангин Манижа)
певица «Монеточка» (Гырдымова Елизавета)
певица «Гречка» (Иванова Анастасия)
рэп-исполнитель «Фейс» (Дремин Иван)*
рэп-исполнитель «Моргенштерн» (Моргенштерн Алишер)*
группа «IC3PEAK» (солисты Костылев Николай, Креслина Анастасия)
группа «Литтл Биг» (Прусикин Илья, Таюрская Софья)
певец «Вася Обломов» (Гончаров Василий)
рэп-исполнитель «Лигалайз» (Меньшиков Андрей)
певица «Дора» (Шиханова Дарья)
группа «Алоэ Вера» (солистка Мусаелян Вера)
певица «Муся Тотибадзе» (Тотибадзе Мария)

*Признан в России иностранным агентом.


Прошло 40 лет и вот в России снова запрещены Макаревич, Гребенщиков и Шевчук. Такую страну откопали (С) из недавних каментов

http://nikulenko.ru Примерный перечень самодеятельных ВИА и рок-групп, в творчестве которых допускаются искажения советской действительности, пропагандируются чуздые нашему обществу идеалы и настроения: Москва 1. Альянс 2. Гулливер 3. Браво 4. Примус 5. Мухомор 6. центр 7. Зигзаг 8. Дом

Развернуть

Отличный комментарий!

Такую страну насрали обратно! (с)

красные белые Красное&Белое к&б Петька и Василий Иванович песочница картина 

Юмор чёрный, а автор зелёный.

те «EIWWWI ÎtÎ y +■ i i || H pp IHjIIUa! À $ .ЗййлЗЗи,красные,белые,Красное&Белое,к&б,Петька и Василий Иванович,песочница,картина
Развернуть

Иисус geek программирование реактор помогающий много букаф story длиннопост 

Вскрытие формата OJD

Кому лень читать интересную историю, вот ссылка на конвертер с инструкциями, как превратить .ojd в .mp4https://drive.google.com/file/d/1GlMXGss0R2-jYP0TOZ_2Y1xzl9Ugar7l/view?usp=sharing

инструкции в readme.txt применимы к unix/linux, но всё работает и на WSL под виндой.

Ну ладно, а кому не лень и таки интересно, услышьте же охуительную историю о том, как я этот самый конвертер собрал!

Заранее предупреждаю - я нихрена не смыслю в аудио и видео, я просто программист на C. всю инфу про H264 и AAC я нагуглил и вычитал в коде старой версии ffmpeg; если тут есть эксперты, простите меня заранее, если какую-нибудь хуиту скажу.

НАЧАЛО ИСТОРИИ. ТАИНСТВЕННОЕ ВИДЕО НА РЕАКТОРЕ? СКАНДАЛЫ, ИНТРИГИ...

Ну так вот, ушел я тут, значит, в отпуск на пару недель, и тут вижу интересный пост от Иисуса:

http://joyreactor.cc/post/4899255

Удивительная история - файл с видео, который сам Иисус не может открыть!

Вместе с многоуважаемыми пидорами из комментов начал гуглить, с превеликим любопытством - случай и правда таинственный, не находилось вообще ничего толкового. С большим интересом тред пялился на хекс-дампы, которые Иисус предоставил в начале ветки ( http://joyreactor.cc/post/4899255#comment23718856 ), особенно на повторяющееся ASCII слово qbox...

И наконец товарищ http://joyreactor.cc/user/nun-buoy , а затем и товарищ http://joyreactor.cc/user/dadv нашли совпадение - старый проприетарный аппаратный видео/аудио кодек MG1264! Эта штуковина была вроде как сделана с рачетом на мобильные девайсы, что совпадало с инфой от Иисуса (видео со старого телефона).

Сообща нами были найдено следующее:

* Базовые характеристики: https://www.semiconductorstore.com/pdf/newsite/mobilygen/MG1264_Comet3_DS.pdf

* Слитые доки по версии 1.1 кодека: https://manualzz.com/doc/7153241/mg1264

* Чудом сохранившийся кусок самопального муксера на C#: https://csharp.hotexamples.com/site/file?hash=0xed6a386bc80b4638eac9ea030e141c8312db2507c58453306c1ab71598c2b8f2&fullName=VideoStreamCodecs/Formats/QBox.cs&project=ctapang/GPUCyclops (толку от этого в результате не вышло, просто интересно почитать)

* Полностью сохранившаяся либа для работы с аппаратным кодеком: https://tipok.org.ua/node/13, плюс патч для ffmpeg 0.6, включающий в себя демуксер для проприетарного формата qbox: https://gist.github.com/lynxis/3033513 (последнее в результате стало основным столпом решения проблемы)

Ручки уже основательно чесались, так что я скачал те самые доки и стал читать и сравнивать с хекс-дампами из треда.

Те самые qbox-ы оказались форматом контейнеров для AAC и H264 пакетов. В доках был описан формат самих qbox-ов:

The QBOX header is as follows. typedef struct { uint32_t box_size; uint32_t box_type; // "qbox" uint32_t box_flags; // (version << 24 | box_flags) uintl6_t sample_stream_type; uintl6_t sample_stream_id; uint32_t sample_flags; uint32_t sample_cts; uint8_t sample_data[]; } QBox;


Действительно, в хекс-дампах Иисуса прослеживались эти самые qbox-ы, в основном все как описывалось (http://joyreactor.cc/post/4899255#comment23720396), но с одним нюансом. Первые 8 байт файла не являлись частью какого-либо qbox-а. "Ну мало ли, наверное, проприетарный хедер", подумал я. Все казалось достаточно однозначно: ojd файлы - наверняка просто qbox аудио/видео стрим в формате "что энкодер высрал, то в файл и запишем" (в примерах из доков MG1264 такие файлы назывались .qbx), плюс в начало дописаны 8 байт для точной идентификации типа файла или еще чего-то в этом духе. Из интереса я еще некоторые время попытался эти 8 байт нагуглить, проверил пару баз файл хедеров, но это мне ничего не дало.

Размер первого qbox-a ??? (13744 байта, считая magic number этот хедер) ** /,Иисус,Исусе,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,программирование,реактор помогающий,много букаф,Истории,длиннопост

Стоит отметить, что тут все, блять, все в big-endian. Я раньше никогда с такой херней не работал, так что тут все немножко ломало мой привыкший к little-endian мозг =)

Тут стоит отметить один неприятный нюанс - я это далеко не сразу заметил, но несмотря на то, что те самые доки вроде бы жестко гарантируют, что в первом H264 видео qbox-е будут только NAL-ы SPS-PPS, в реальности тут в первом qbox-е выходит последовательность AUD-SPS-PPS-IDR (это можно увидеть здесь: http://joyreactor.cc/post/4899255#comment23718856 у каждого NAL-а 4 байта стандартного старткода заменено на префикс-размер, так что их можно легко подряд читать, не парясь с полным декодированием).

Для наглядности:

00000000 00000010 00000020 00000030 00000040 00000050 00000060 00000070 00000080 00000090 04 61 00 аО 36 00 03 ff 00 00 35 bO 71 62 6f 73 oo 02 0002001000 07 72 44 ba al 09 10^^^Р^ТЯ27 64 40 le ас 2c а6 eQ_a0 c0 а3 00 °°,U Ifl flfl ee 06 e2 c0|00 00 35 66|25 b3 04 83 7a 29 3f

Тут выделены размеры (которыми заменены старткоды). Начинается каждый NAL так: 1 бит == 0, 2 бита == реф индекс (типа группа типов), дальше 5 битов ID (nal_unit_type: 9==AUD, 7==SPS, 8==PPS, 5==IDR), это все гуглится по запросу "ISO/IEC 14496 pdf". Короче, получается, что вместо чистого конфига тут еще и данные видео есть.

Если бы я знал хоть что-то об H264, я наверняка бы заподозрил, что 13744 байта как-то слишком дохуя для одних SPS-PPS. Но я ничего не знал и ничего не заметил, так что подозрений об актуальности и возможной устаревшести дока относительно ojd ко мне в душу не закралось...

КАК Я ЕБАЛСЯ С ФОРМАТОМ OJD

Ну, в общем, охуительно уверенный в себе, я постучался к Иисусу в личку, и он мне скинул .ojd файл. Дальше я нашел github FFmpeg-а, клонировал, и стал тыркаться. Приладить тот патч с tipok.org.ua к современной версии FFmpeg-а оказалось слишком сложно, но благо в репозитории был бранч подходящей версии 0.6.7 (патч писался для 0.6.1), я чекаутнул бранч и приладил на него qbox.c, qbox.h и прочие диффы из патча, нужные для работы демуксера. Нагуглив, как с этим ffmpeg вообще работать (лол), легким движением хвоста... эээ... tail-а я обрубил первые 8 байт файла ojd и попытался скормить результат свежескомпиленному ffmpeg-0.6.7.

Естественно, просто так нихуя не сработало.

Покопавшись в ffmpeg-е (выяснилось, что у него, по крайней мере, в версии 0.6, компилится дебаг-билд ffmpeg_g, который заходит с gdb), выяснил, что первый qbox парсится нормально, но со вторым возникают проблемы. Применив xxd, я обнаружил странное: второй qbox начинался через какой-то промежуток после ожидаемого конца первого.

Для наглядности покажу на изначальном .ojd (без обрубленного начала):

/Downloads/ojd$ xxd test_video.ojd | grep qbox -B 10 -A 10 | head -30 00000000 0461 OOaO 3600 03ff 0000 35b0 7162 00 r*^ 4- • â«*0 5. qbox 00000010 0000 0001 0002 0002 0010 0007 7244 baal .. rD.. 00000020 0000 0002 0910 0000 0018 2764 401e ac2c 'd(a. 00000030 6a02 d049 абеО aOcO a800 OOlf

Тут хорошо видно "хедер" в начале, после него qbox с размером 0x35b0, и по-хорошему, если это qbox стрим, как в доках, то следующий qbox должен начаться на 0x8+0x35b0==0x35b8, но вот нихуя, начинается он аж на 0x3690!

Изрядно прифигев с такого расклада событий, я тупо пялился на этот хекс-дамп, и тут заметил в нем нечто крайне интересное.

А вы, дорогие мои читатели, заметили это? Заметили, блять, с чего начинается строка 00003600?

0461 00a0 **** 03ff

Практически идентично хедеру в начале файла!!!!

Я охуел. Я сделал grep. Я охуел еще больше.

00000000: 0461 OOaO 3600 03ff 0000 35b0 7162 6f78 .a 00000200: 0461 OOaO 0601 03ff e609 cda5 fd58 2d0b .a 00000400: 0461 OOaO 1302 03ff cc43 2abb 917c 6g37 .a 00000600: 0461 OOaO 0203 03ff 5359 6798 cdc8 GOaO .a 00000800: 0461 OOaO 0204 03ff a9ad lf g6 35Gb 2ef2 .a ОООООаОО: 0461 OOaO 0305

Это пиздец. Каждые 0x200 (512) байт .ojd файла начинаются с 8-байтного префикса. Байты 5-6, по ходу, какой-то... sequence number? Причем нормальный счет идет только в байте 6, в байте 5 же происходит какая-то полная поебень, но там явная закономерность (36-06-13-02-02-03-21-00 повторяются, но потом меняются с переносом единицы из 6 байта, короче, что-то крайне странное).

Я не знаю, что это за наркомания. Я подозреваю, что это след какой-то крайне допотопной (возможно самопальной?) блочной файловой системы родной ОС девайса, на который таинственные видео записывались. Если кто тут узнал-распознал эту херню, объясните мне, пожалуйста, мне очень любопытно!

Кстати, забавный нюанс - в видео Иисуса этот сраный формат немножко поломал конец qbox-стрима, то есть последний qbox, который не влез в последний блок ojd, оказался таки обрезан. Это видно в комменте Иисуса с дампом конца ojd файла здесь, если посчитать размер последнего qbox-а: http://joyreactor.cc/post/4899255#comment23719489 а после конца этих блоков зачем-то идет очень дохуя нулей =) но не буду на этом заостряться.

Ну, делать нечего, по-быстрому я написал конвертер, который из каждого 512-байтного блока в файле .ojd выкидывал первые 8 байт и записывал результат в файл .qbx.

printf("Converting ojd blocks to qbox stream..An"); while (fread(block, INBLK_SIZE, 1, infile)) { int bufval = 0; int i; for (i = 0; i < 8; i++) { bufval |= block[i]; > if (bufval = 0) { // Reached ojd padding at end of file, apparently break; } fwrite(block + 0x8, INBLK_SIZE - 0x8, 1,

Дело пошло веселее. С выкинутыми префиксами блков конец каждого qbox-а стал совпадать с началом следующего, и ffmpeg... послал меня нахуй, потому что что-то оказалось не так с аудио. Оказывается, демуксер не генерировал почему-то аудио-стрима, хотя я точно видел в файле аудио-qbox-ы.

Решил я разобраться с этим позже. Путем нехитрых хаков кода, я смог декодировать видео в валидный mp4 файл с... ебаным слайдшоу, судя по частоте кадров. Настроив вручную взятый от балды фреймрейт, я еще раз декодировал видео, и... моему взору предстали обещанные Иисусом ебущиеся карлики! Успех!!!!!!!!!

Ебались они, правда, как-то подозрительно слишком резво, так что я сделал заметочку себе на будущее - разобраться с фреймрейтом ебаным. Но сначала аудио.

И тут меня ждал пиздец.

КАК Я ЕБАЛСЯ С АУДИО

В ебаных доках черным по белому было написано, что первый аудио qbox должен содержать аудио конфиг в формате AudioSpecificConfig из ISO/IEC 14496-3. Но конфиг-флага ни на одном из аудио-qbox-ов не нашел ни демуксер, ни я вручную. Правда, в доках и не было написано, что этот флаг обязательно на qbox-е с аудио-конфигом должен быть... Я решил поэкспериментировать и взять просто первый аудио-qbox и попытаться дешифрануть его как конфиг.

Меня ждало жестокое разочарование.

FFmpeg матерился по-черному, закидывал меня эррорами, говорил мне, что конфиг говно. Поебавшись немного, я горько вздохнул, вбил в гугле "ISO/IEC 14496-3 pdf" и начал вникать.

Table 1.13 — Syntax of AudioSpecificConfig() Syntax No. of bits Mnemonic AudioSpecificConfig () { audioObjectType = GetAudioObjectType(); samplingFrequencylndex; 4 bslbf if ( samplingFrequencylndex == Oxf ) { samplingFrequency; } channelConfiguration; 24 uimsbf 4 bslbf sbrPresentFlag = -1;

Как видно, первые 5 бит должны указывать на тип объекта. Судя по докам MG1264, этот тип должен быть 2 (AAC_LC).

И тут уже незадача - все содержимое qbox-ов с аудио начиналось на 0x21:

Иисус,Исусе,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,программирование,реактор помогающий,много букаф,Истории,длиннопост

дас ист крайне печально, ведь первые 5 битов 0x21 - это вовсе не 2 (AAC_LC), а очень даже 4 (AAC_LTP), который тот билд ffmpeg-а вообще не поддерживал.

Вообще, рассматривая эти qbox-ы, я невольно задумался - а есть ли среди них вообще этот самый AudioSpecificConfig? Даже если проигнорировать первые 5 битов, дальше все равно получалась лютая хуита. В доках было четко сказано, что девайс поддерживает 2-канальное стерео AAC-LC аудио с sample rate 48000, 44100, 32000, 24000, или 22050 Hz.

Крепко задумавшись, я продолжил гуглить и штудировать ISO/IEC 14496-3, как вдруг до меня дошло, что все эти пакеты прекрасно подходят под определение AAC raw data block типа ChannelPairElement!

Table 4.3 - Syntax of top level payload for audio object types AAC Main, SSR, LC, and LTP (raw_data_block()) Syntax____________________________________________________No. of bits Mnemonic raw_data_block() { while( (id = id_syn_ele) != ID_END){ 3 uimsbf switch (id) { case ID_SCE: break;

Table 4.5 - Syntax of channel_pair_element() Syntax No. of bits Mnemonic channel pair elemento { element_instance_tag; 4 uimsbf common_window; 1 uimsbf if (common_window) { icsJnfo(); ms_mask_present; 2 uimsbf if ( ms_mask_present == 1 ) { for (g = 0; g < num_window_groups; g++) { for (sfb =

Здесь ID_CPE==1. CPE - это просто пакеты для двухканального стерео-аудио (это подтвердил и код ffmpeg). Я чувствовал, что я на верном пути!
Но мне пришлось смириться с горькой правдой - конфига аудио (AudioSpecificConfig) в этом стриме qbox, по ходу, нет вообще. Возможно, девайс, с которого это было записано, поддерживал только одну настройку аудио, и qbox с аудио из файла ojd специально выкинули? Или же расчет был на то, что какие-то декодеры поумнее ffmpeg 0.6 смогут и без конфига тут разобраться? Мистика, конечно...

Ну, раз конфига нет, то сделаем сами, хуле. Будет у нас свой AudioSpecificConfig с блекджеком и шлюхами. Сначала я просто хакал ffmpeg, а потом уже дописал фальшивый аудио qbox в начало файла. Но это я чуть позже покажу.

Итак, мы имеем audioObjectType==2, 3<=samplingFrequencyIndex<=7, channelConfiguration==2. Если что, кстати, последние 2 значения - индексы в такие массивы (из кода ffmpeg 0.6.7):

const int ff_mpeg4audio_sample_rates[16] = { 96000, 88200, 64000, 48000, 44100, 32000 57 24000, 22050, 16000, 12000, 11025, 8000, 58 }; 59 const uint8_t ff_mpeg4audio_channels[8] = { 61 0, 1, 2, 3, 4, 5, 6, 8 62 }; 7350,Иисус,Исусе,geek,Прикольные гаджеты. Научный, инженерный и айтишный

После некоторых попыток стал я пробовать различные комбинации и... нихрена. FFmpeg выплевывал тонну ошибок (но файл какой-то все-таки выдавал). В чистое AAC не конвертировалось, а при декодировании в raw audio (wav) мои уши встречал оглушительный пердеж. После некоторой ебли, мне показалось, что на частоте 22050 ошибок вроде выдается меньше, и стал с ней тыркаться.

Дальше я взял в руки gdb и стал разбираться, откуда идут ошибки. FFmpeg декодирует каждый channel_pair_element так: сначала общий конфиг, потом левый канал, потом правый. В пакете с данными они идут друг за другом последовательно (в табличке channel_pair_element это видно - там это называется individual_channel_stream).

Удивительно, но все ошибки выдавались при декодировании правого канала.

Почесал я репу, похакал я код ffmpeg-овского декодера aac, чтобы, значит, он игнорил ошибки со второго канала, и с каждого qbox-а брал только один экземпляр данных для первого канала.

Получившееся в результате аудио было... странным. В правом ухе оглушительно пердел сатана. Но в левом, кажется, слышались стоны ебущихся карликов!!!!!!

...но стонали они как-то... ускоренно? Я задумался и сел вчитываться в код ffmpeg. Скорее всего, второй канал не выходило распарсить, потому что плохо парсились данные первого канала. Если его недопарсить до конца, или же наоборот перепарсить, то не попадешь на данные второго канала. В конце первого канала шли спектральные данные, которые парсились каким-то очень сложным кодом... Но на его парсинг влиял sample rate.

Отсюда следует очевидное умозаключение - sample rate неправильный. Но я, как было написано раньше, свято верил слитым докам MG1264, в которых было написано, что самый маленький sample rate для аудио, который поддерживает кодек - 22050 герц.

Но в какой-то момент я от безнадеги таки взял и попробовал 16000 герц (индекс 8).

И ебать-колотить, что же я увидел? Конвертацию аудио без ошибок от ffmpeg! И что же я услышал? Громкие, четкие, стерео стоны ебущихся карликов!!!! Я смог!!!!!

В конвертер для qbox-ов добавилась новая фича - дописывать в начало стрима аудио-qbox с найденным мною конфигом.

8 // A config audio qbox that we can prepend to a qbox stream from an ojd 9 const char config_audio_qbox[] = { 10 // BEGIN QBOX HEADER 11 0x00, 0x00, 0x00, OxlA, // box_size, 26 bytes 'q', 'b1, 'o', 'x', // box_type, magic number 13 0x00, 0x00, 0x00, 0x01, // box_flags, data-present flag set


КАК Я ЕБАЛСЯ С ФРЕЙМРЕЙТОМ

Последней моей задачей было сделать конвертацию видео с нормальным фреймрейтом. Аудио каким-то образом отконвертилось идеально, но чтобы подогнать к нему по времени видео, пришлось подбирать вручную - выяснилось, что там был фреймрейт 25. Но откуда брался изначальный фреймрейт, который был похож на ебаное слайдшоу? Оказалось, что все дело было в демуксере, который зачем-то рескейлил дефолтные 90000 герц базовой шкалы тайминга на какую-то хуйню. Исправив сей огрех и пошаманив немножко с кодом таймстампов, я получил нормальную комбинацию аудио с видео, нормальный mp4 файлик, который уже можно было отправить заждавшемуся Иисусу!

ЗАКЛЮЧЕНИЕ

Ебать это было весело. Я дохрена нового для себя узнал про мир аудио и видео энкодингов. И теперь умею немножко работать с ffmpeg! Ну и в кои-то веки есть что интересного рассказать реактору =) всем бобра, я пошел допроебывать свой отпуск!

Развернуть

Отличный комментарий!

Akagitsune Akagitsune07.09.202117:44ссылка
+31.6
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме б васильев скачать (+1000 картинок)