Потоковое видео webm через ffmpeg?

Добрый день!
Пытаюсь перекодировать потоковое видео с веб камеры в формат webm c помощью ffmpeg
ffmpeg -f dshow -i video="USB2.0 HD UVC WebCam" -pix_fmt yuyv422 ^
-c:v libvpx -b:v 3000k -keyint_min 30 -g 30 -speed 6 ^
-tile-columns 4 -frame-parallel 1 -threads 8 -static-thresh 0 ^
-max-intra-rate 300 -deadline realtime -lag-in-frames 0 ^
-error-resilient 0 -f webm_chunk -header live.hdr ^
-chunk_start_index 0 live_%d.chk

При выполнении выпадает ошибка:
Output file #0 does not contain any stream
В интернетах попадаются топики на форумах с подобными ошибками, но решения нет.
Есть мысли как исправить ошибку?

Пробовал способом через смену кодировки в h.264 и передачи по hls, но получается слишком большая задержка ~8 сек.
ffmpeg.exe -f dshow -s 1280x720 -r 30 -vcodec mjpeg -i video="USB2.0 HD UVC WebCam" -c:v ^
libx264 -preset ultrafast ^
-crf 20 -maxrate 3000 -bufsize 100 -intra-refresh 1 -slice-max-size 1500 ^
-tune zerolatency ^
-flags -global_header ^
-fflags flush_packets ^
-hls_time 1 ^
-hls_list_size 3 ^
-hls_wrap 3 ^
-hls_flags delete_segments ^
-start_number 0 webcamstream.m3u8

Что можно подкрутить чтобы снизить задержку?
Какие еще варианты потоковой перекодировки можно придумать на ffmpeg?
ПС: данный костыль используется для отображения видео с веб камеры на локальном сервере.
  • Вопрос задан
  • 1865 просмотров
Решения вопроса 1
Paul_Nice
@Paul_Nice
Ну такое
По поводу задержек есть пара годных статей:
часть один
часть два

в вашем случае с наименьшими задержками будут выходить rtsp, rtmp, mpegts в порядке увеличения задержки.
HLS в принципе сегментный и задержку будет давать высокую.

Если в браузере надо показывать с низкой задержкой, то либо проф продукты, либо ковыряние в WebRTC, MSE-ld и прочем wss.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы