Я использую Raspberry Pi для ограничения потока (https) .m3u8 в локальный MJPEG-поток с помощью FFMPEG.
Потому что у меня есть Nest Cam / Nest Hello, и я хочу импортировать этот поток в мой Fibaro Homecenter (SmartHome Basestation), но Fibaro Homecenter использует только формат MJPEG. Поэтому я сделал Raspberry Pi с FFMPEG, чтобы добиться цели.
Это мой файл /etc/ffserver.conf:
HTTPPort 8090
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 30M
</Feed>
<Stream test.mjpg>
Feed feed1.ffm
Format mpjpeg
VideoFrameRate 2
VideoIntraOnly
NoAudio
Strict -1
</Stream>
Моя команда:
ffmpeg -i "https://path-to-stream.com/chucklist.m3u8" http://localhost:8090/feed1.ffm
Выход:
ffmpeg version N-89723-g2ca65fc7b7 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1+deb9u1) 20170516
configuration: --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --enable-gnutls
libavutil 56. 7.100 / 56. 7.100
libavcodec 58. 9.100 / 58. 9.100
libavformat 58. 3.100 / 58. 3.100
libavdevice 58. 0.100 / 58. 0.100
libavfilter 7. 11.101 / 7. 11.101
libswscale 5. 0.101 / 5. 0.101
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
[hls,applehttp @ 0x1d16e70] Opening 'https://path-to-stream.com/chucklist.ts' for reading
[hls,applehttp @ 0x1d16e70] Opening 'https://path-to-stream.com/chucklist.ts' for reading
Input #0, hls,applehttp, from 'https://path-to-stream.com/chucklist.m3u8':
Duration: N/A, start: 38789.189067, bitrate: N/A
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Data: timed_id3 (ID3 / 0x20334449)
Metadata:
variant_bitrate : 0
Stream #0:1: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuvj420p(pc, bt709), 1152x864 [SAR 1:1 DAR 4:3], 15 tbr, 90k tbn, 30 tbc
Metadata:
variant_bitrate : 0
Stream #0:2: Audio: aac (LC) ([15][0][0][0] / 0x000F), 16000 Hz, mono, fltp
Metadata:
variant_bitrate : 0
[tcp @ 0x27b36f0] Connection to tcp://localhost:8090 failed (Connection refused), trying next address
[ffm @ 0x237a480] no encoder found for codec id 8
http://localhost:8090/feed1.ffm: Invalid argument
Как видите, я получаю сообщение об ошибке: не найден кодер для кодека с идентификатором 8
Меня это утешает, потому что я ищу решение уже три дня. Я даже не могу найти список кодировщиков и идентификаторы ядра. Должен ли я что-то включить в ./configure?
Моя цель - получить поток по адресу: http://localhost:8090/test1.mjpg
Может кто-нибудь помочь мне, пожалуйста?