Из-за чего FFmpeg может ломать видеофайл при сохранении из hls потока?
На windows-сервере есть скрипт который копирует hls поток прямых трансляций и сохраняет его в mp4, но если оставить скрипт на продолжительное время(~1 час) без наблюдения на выходе вместо полностью записанной трансляции появляются "сломанные" записи ~350мб + странная особенность пока не нажмёшь по файлу ПКМ->Свойство его вес в системе показан как 0 байт
Возможно кто-нибудь знает причину.
15432, не, если запись "успешная" то он динамически обновляет вес файла прямо в проводнике. то есть видно как меняется размер готового видео 5-10-15мб. Всё же я грешу на какие-то настройки системы а не на сам скрипт
15432, да никаких фрагментов, плеер даже не пытается ничего воспроизводить, просто сразу же завершает, медиаинфо тоже отсутствует. Дал права админа приложениям ffmpeg, и пока поснимаю логи мб что-нибудь дадут
Vladimir S, тогда ffmpeg выдаёт:
[NULL @ 000002252ae200c0] Requested output format 'mkv' is not a suitable output format
upload_server/IKS_Slon/vk.com_kinostrimgg_IKS_Slon_2020-12-20_9-25-53.mkv: Invalid argument
Но вроде нашёл в чём проблема, у всех сломанных записей при копировании есть строки:
[https @ 00000213c7e1d940] HTTP error 402 Payment Required
[hls @ 00000213c7257b00] Failed to open next segment 22392 of playlist 0
ошибку выдает т.к. у вас задан формат уже в параметрах -f', 'mp4', //для webm
тут или задать 'mkv' или убрать совсем - тогда ffmpeg определит его по расширению выходного файла.
Но вроде нашёл в чём проблема, у всех сломанных записей при копировании есть строки:
[https @ 00000213c7e1d940] HTTP error 402 Payment Required
[hls @ 00000213c7257b00] Failed to open next segment 22392 of playlist 0
похоже что сайт-донор контента хочет денежку за копирование контента :)
Vladimir S, слушайте, а ведь и правда Payment Required :D
Ладно попытаюсь понять как они вообще могут ограничить копирование прямого потока и что с этим делать
Решение:
Сайт-донор проверял какую-то оплату и не давал загрузить один из потоковых блоков
[https @ 0000027daf2b2a80] HTTP error 402 Payment Required
[hls @ 0000027dae5f7e40] Failed to open next segment 1696 of playlist 0
А т.к. mp4 не выдерживает каких-либо аварийных ситуаций то попросту ломался, помогла смена на mkv, теперь все записи стабильно сохраняются и читаются даже с учётом HTTP error 402 Payment Required.
Всем спасибо!
https://ffmpeg.org/ffmpeg.html -loglevel
Потому что телепатия плохо работает. Отладка вообще любого "у меня не работает" должна начинаться с чтения логов или их публикации.