#ffmpeg #video-streaming #http-live-streaming
Вопрос:
Я пытаюсь сохранить видео за несколько дней с открытых веб-камер на диск, чтобы я мог запустить на них некоторую аналитику. (например, это видео аэропорта. У меня их несколько сотен, плюс пропускная способность и хранилище не являются проблемой, как бы я сохранил потоки, скажем, на 2-3 дня?
- Я попытался написать небольшой фрагмент кода на python, используя
pyav
(оболочку вокруг ffmpeg), чтобы открыть поток и сохранить ключевые кадры. Но, похоже, связь обрывается примерно через час или около того… - Я изучил
ffmpeg -i <some video URL> output.mp4
, но он внезапно завершается без какого-либо сообщения об ошибке. - Я могу воспроизводить видео в vlc, но не уверен, как я могу продолжить сохранение видео.
Есть какие-нибудь идеи?
Ответ №1:
хорошо, не знаю, почему за это проголосовали, чтобы закрыть, но я подумал о том, чтобы предоставить решение/обходной путь, который я придумал для любых других в моей ситуации:
def save_stream(url):
try:
cmd = "youtube-dl -f worst {} --retries infinite --continue --hls-use-mpegts".format(url)
# print(cmd)
ydl_process = subprocess.check_call(cmd.split(" "))
print("[*] launched: ",ydl_process)
except Exception as e2:
print("[!] e2: ",e2)
return
Использование youtube-dl для сохранения потока на диск сохраняет его в файл .part. --hls-use-mpegts
Флаг важен, поэтому вы можете скопировать .mp4.part
файл в другое место и переименовать его, чтобы .mp4
он воспроизводился с помощью vlc или других.