LINUX.ORG.RU

Скачаный youtube-dl'ем стрим: Moov atom not found

 , , ,


0

1

Скачивал ютубный стрим youtube-dl'ем во время трансляции, стрим закончился ну и я абортнул youtube-dl через CTRL-C. Ну и в итоге оно как-то не так сохранило, видимо. Вывод VLC:

VLC media player 3.0.3 Vetinari (revision 3.0.2-225-gc9e3360dd4)
[000055b2aa771570] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f884cc510c0] moov atom not found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f8800c06a80] moov atom not found
[00007f8800c150f0] avformat demux error: Could not open /home/deer/Video/video.mp4: Unknown error 1094995529
[000055b2aa7750e0] main playlist: end of playlist, exiting
QObject::~QObject: Timers cannot be stopped from another thread
 youtube-dl version 2018.08.04

Загрузка несколько раз зависала. Поэтому есть 3 куска и все одинаково не открываются. Вывода youtube-dl нету, ибо история вывода не сохраняется :( Вот самый мелкий файл: https://dropmefiles.com/vOeMf

Куда мне копать?

★★☆☆☆

Последнее исправление: BceM_IIpuBeT (всего исправлений: 6)

Ответ на: комментарий от madcore
~/.config/mpv/mpv.conf

vd-lavc-fast
vd-lavc-skiploopfilter=<skipvalue>
vd-lavc-skipframe=<skipvalue>
vd-lavc-framedrop=<skipvalue>
vd-lavc-threads=<threads>

На слабом железе основные тормоза из-за луп фильтра, например h264 довольно тяжёлый кодек. Иногда помогает поменять vo.

anonymous
()

moov atom not found

Все правильно:

$ AtomicParsley video.mp4 -T
Atom ftyp @ 0 of size: 32, ends @ 32
Atom free @ 32 of size: 8, ends @ 40
Atom mdat @ 40 of size: 14942216 (0*), ends @ 14942256
			 (*)denotes length of atom goes to End-of-File

Без moov-атома файл совершенно бесполезен.

anonymous
()
Ответ на: комментарий от anonymous

Попробую на досуге. А так неоднократно сталкивался с рассинхроном и замедленным воспроизведением.

madcore ★★★★★
()
Ответ на: комментарий от madcore

У VLC очень низкое качество всего, это как-то связано. Из MPV стараются сделать идеальный плеер.

anonymous
()
Ответ на: комментарий от anonymous

Блин, не могу найти, как отобразить плейлист для навигации(листать не вариант, более 1000 позиций).
И зациклить в пределах одной позиции, чтобы при временном отвале сетевого вещания не перескакивало на следующий.
И авто-деинтерлейс.

madcore ★★★★★
()

поэтому важные трансляции необходимо сохранять рекордерами десктопа

stevejobs ★★★★☆
()
Ответ на: комментарий от BceM_IIpuBeT

Чтобы плеер мог проиграть mp4-файл, он (плеер) ищет в файле moov-атом, в котором вся мета-информация, т.е. сколько потоков и как их читать (смещения, размеры блоков), кодеки, битрейты и т.п. Соответственно, если moov-атом не найден, то любой плеер вываливает ошибку и завершает работу, т.к. не получил необходимой информации.

anonymous
()
Ответ на: комментарий от BceM_IIpuBeT

А я откуда знаю? При стриминге, moov-атом передается первым, чтобы плеер мог понять, что за данные дальше последуют и как с ними работать.

anonymous
()
Ответ на: комментарий от burato

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

anonymous
()
Ответ на: комментарий от BceM_IIpuBeT

Нет. В армбиане он вообще, кроме некоторых ютуб-потоков не умеет ничего.

burato ★★★★★
()
Ответ на: комментарий от BceM_IIpuBeT

В твоем случае она должна была записаться в конце mp4, но ты прервал.
Если так важна запись и хватает времени, можешь покурить формат и вручную нариовать этот атом.
ЕМНИП, когда-то видел видел виндовую утилиту, которая могла восстанавливать такие битые видео, но не помню, в каком именно случае мне помогла.

madcore ★★★★★
()
Последнее исправление: madcore (всего исправлений: 1)
Ответ на: комментарий от BceM_IIpuBeT

При чем тут флаги? Прочитай документацию

anonymous
()
Ответ на: комментарий от madcore

Если так важна запись и хватает времени, можешь покурить формат и вручную нариовать этот атом.

Не неси чушь. «Нарисовть» moov не проблема, а вот наполнить его так, чтобы это соответствовало данным из mdat, все равно, что из песчинок вазу клеить.

anonymous
()
Ответ на: комментарий от anonymous

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

madcore ★★★★★
()
Ответ на: комментарий от madcore

У тебя вариант намного проще, т.к. ты всегда можешь записать новый файл с теми же настройками и получить образец moov из этого файла.

anonymous
()
Ответ на: комментарий от anonymous

А если у меня есть работающий прошлый стрим, записанный с того же канала, с такими же настройками и тем же youtube-dl'ем?

BceM_IIpuBeT ★★☆☆☆
() автор топика
Последнее исправление: BceM_IIpuBeT (всего исправлений: 1)
Ответ на: комментарий от BceM_IIpuBeT

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

madcore ★★★★★
()
Ответ на: комментарий от anonymous

Т.е. в теории, у них moov секция может быть одинаковая? А на что она указывает? Просто на начало h264 и acc потоков?

BceM_IIpuBeT ★★☆☆☆
() автор топика
Ответ на: комментарий от BceM_IIpuBeT

Т.е. в теории, у них moov секция может быть одинаковая?

Да нет, не может. moov-атом это контейнер для других атомов, часть из которых совпадет (если настройки аналогичные), часть может случайно совпасть. Т.е. возможно что ты в конечном счете что-то увидишь.

А на что она указывает?

Да ты почитай спецификацию, или картинку посмотри, которую уже давал. Там куча информации. Вот хотя бы это прочти на русском: https://levgem.livejournal.com/275096.html

Просто на начало h264 и acc потоков?

Не питай иллюзии, типа нашел начало и все. Поток — это не непрерывная последовательность, а наборы кусков (фреймов) аудио и видео, для которых нужна таблица смещений из moov-атома.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.