Zacząłem próbować tego, zanim zobaczyłem Twój post:
https://forum.openwrt.org/t/how-to-buil … ort/116554
Co o tym sądzisz?
Aaaa, przełączyłem się na gałąź v21.02.3 - to chyba ostatnia oficjalnie wydana
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Posty przez tinware
Zacząłem próbować tego, zanim zobaczyłem Twój post:
https://forum.openwrt.org/t/how-to-buil … ort/116554
Co o tym sądzisz?
Aaaa, przełączyłem się na gałąź v21.02.3 - to chyba ostatnia oficjalnie wydana
Proszę:
(cd /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-arm_cortex-a7_neon-vfpv4/libffmpeg-custom/CONTROL; ( echo "$CONTROL"; printf "Description: "; echo "$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; ) > control; chmod 644 control; ( echo "#!/bin/sh"; echo "[ \"\${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; echo "[ -s "\${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_postinst \$0 \$@"; ) > postinst; ( echo "#!/bin/sh"; echo "[ -s "\${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_prerm \$0 \$@"; ) > prerm; chmod 0755 postinst prerm; )
install -d -m0755 /root/OpenWRT/openwrt/bin/packages/arm_cortex-a7_neon-vfpv4/packages
/root/OpenWRT/openwrt/staging_dir/host/bin/fakeroot /root/OpenWRT/openwrt/scripts/ipkg-build -m "" /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-arm_cortex-a7_neon-vfpv4/libffmpeg-custom /root/OpenWRT/openwrt/bin/packages/arm_cortex-a7_neon-vfpv4/packages
Packaged contents of /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-arm_cortex-a7_neon-vfpv4/libffmpeg-custom into /root/OpenWRT/openwrt/bin/packages/arm_cortex-a7_neon-vfpv4/packages/libffmpeg-custom_4.3.3-1_arm_cortex-a7_neon-vfpv4.ipk
mkdir -p /root/OpenWRT/openwrt/bin/targets/sunxi/cortexa7/packages /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-arm_cortex-a7_neon-vfpv4/ffmpeg-custom/CONTROL /root/OpenWRT/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo
install -d -m0755 /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-arm_cortex-a7_neon-vfpv4/ffmpeg-custom/usr/bin
cp -fpR /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-install/usr/bin/ffmpeg /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-arm_cortex-a7_neon-vfpv4/ffmpeg-custom/usr/bin/
cp: cannot stat '/root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-install/usr/bin/ffmpeg': No such file or directory
make[3]: *** [Makefile:751: /root/OpenWRT/openwrt/bin/packages/arm_cortex-a7_neon-vfpv4/packages/ffmpeg-custom_4.3.3-1_arm_cortex-a7_neon-vfpv4.ipk] Error 1
make[3]: Leaving directory '/root/OpenWRT/openwrt/feeds/packages/multimedia/ffmpeg'
time: package/feeds/packages/ffmpeg/custom/compile#411.10#50.20#440.13
ERROR: package/feeds/packages/ffmpeg failed to build (build variant: custom).
make[2]: *** [package/Makefile:116: package/feeds/packages/ffmpeg/compile] Error 1
make[2]: Leaving directory '/root/OpenWRT/openwrt'
make[1]: *** [package/Makefile:110: /root/OpenWRT/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/root/OpenWRT/openwrt'
make: *** [/root/OpenWRT/openwrt/include/toplevel.mk:230: world] Błąd 2Usunąłem .config i zacząłem od nowa:
1. Global build settings -> Compile with support for patented functionality -> zaznaczone [*]
2. Libraries -> libffmpeg-custom -> zaznaczone <*> (i dodatkowo kilka kodeków)
3. Multimedia -> ffmpeg-custom -> zaznaczone <*>I błąd:
cp: cannot stat '/root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/ffmpeg-custom/ffmpeg-4.3.3/ipkg-install/usr/bin/ffmpeg': No such file or directory
make[3]: *** [Makefile:751: /root/OpenWRT/openwrt/bin/packages/arm_cortex-a7_neon-vfpv4/packages/ffmpeg-custom_4.3.3-1_arm_cortex-a7_neon-vfpv4.ipk] Error 1
make[3]: Leaving directory '/root/OpenWRT/openwrt/feeds/packages/multimedia/ffmpeg'
time: package/feeds/packages/ffmpeg/custom/compile#409.00#47.71#437.74
ERROR: package/feeds/packages/ffmpeg failed to build (build variant: custom).
make[2]: *** [package/Makefile:116: package/feeds/packages/ffmpeg/compile] Error 1
make[2]: Leaving directory '/root/OpenWRT/openwrt'
make[1]: *** [package/Makefile:110: /root/OpenWRT/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/root/OpenWRT/openwrt'
make: *** [/root/OpenWRT/openwrt/include/toplevel.mk:230: world] Błąd 2Jeśli zaznaczyłbym w Multimedia "ffmpeg" to od razu włączy się zależność "libffmpeg-full" w Libraries i wyrzuci wtedy błąd:
Collected errors:
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavcodec.so.58
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavcodec.so.58.91.100
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavdevice.so.58
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavdevice.so.58.10.100
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavformat.so.58
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavformat.so.58.45.100
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavutil.so.56
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavutil.so.56.51.100
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libpostproc.so.55
But that file is already provided by package * libffmpeg-full
* check_data_file_clashes: Package libffmpeg-custom wants to install file /root/OpenWRT/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libpostproc.so.55.7.100
But that file is already provided by package * libffmpeg-full
* opkg_install_cmd: Cannot install package libffmpeg-custom.
make[2]: *** [package/Makefile:70: package/install] Error 255
make[2]: Leaving directory '/root/OpenWRT/openwrt'
make[1]: *** [package/Makefile:111: /root/OpenWRT/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_install] Error 2
make[1]: Leaving directory '/root/OpenWRT/openwrt'
make: *** [/root/OpenWRT/openwrt/include/toplevel.mk:230: world] Błąd 2Tak, co robię nie tak?
Naniosłem poniższe zmiany w menuconfig:
1. Global build settings -> Compile with support for patented functionality -> zaznaczone [*]
2. Multimedia -> ffmpeg -> zaznaczone <*>
3. Libraries -> libffmpeg-custom -> odzaznaczone < >
4. Libraries -> libffmpeg-full -> zaznaczone -*-
5. Libraries -> libffmpeg-mini -> odzaznaczone < >
6. Libraries -> libx264 -> zaznaczone <*>Zapisałem i make V=s -j1 i tyle. Obrazu na pewno nie pomyliłem...
Tego logu z mojego postu wyżej:
# ffmpeg -y -rtsp_transport tcp -i "rtsp://-1:-1@192.168.203.21/stream1" -vframes 1 output.jpg
ffmpeg version 4.3.3 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 8.4.0 (OpenWrt GCC 8.4.0 r16554-1d4dea6d4f)
configuration: --enable-cross-compile --cross-prefix=arm-openwrt-linux-muslgnueabi- --arch=arm --cpu=cortex-a7 --target-os=linux --prefix=/usr --pkg-config=pkg-config --enable-shared --enable-static --enable-pthreads --enable-zlib --disable-doc --disable-debug --disable-lzma --disable-vaapi --disable-vdpau --disable-outdevs --disable-runtime-cpudetect --enable-lto --enable-vfp --enable-neon --enable-vfp --disable-x86asm --enable-gnutls --disable-decoder=atrac3 --disable-decoder=h264 --disable-decoder=hevc --disable-decoder=vc1 --disable-muxer=h264 --disable-muxer=hevc --disable-muxer=vc1 --disable-demuxer=h264 --disable-demuxer=hevc --disable-demuxer=vc1 --disable-parser=h264 --disable-parser=hevc --disable-parser=vc1 --enable-small --enable-libmp3lame --enable-libfdk-aac
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100i później w multimedia ffmpeg-custom
Czegoś takiego nie ma. W multimedia jest tylko "ffmpeg".
To zrobiłem:
1. Global build settings -> Compile with support for patented functionality -> zaznaczone [*]
2. Multimedia -> ffmpeg -> zaznaczone <*>
3. Libraries -> libffmpeg-custom -> odzaznaczone < >
4. Libraries -> libffmpeg-full -> zaznaczone -*-
5. Libraries -> libffmpeg-mini -> odzaznaczone < >
6. Libraries -> libx264 -> zaznaczone <*>i niestety dalej to samo:
[h264_v4l2m2m @ 0x1a411a0] Could not find a valid device
[h264_v4l2m2m @ 0x1a411a0] can't configure decoder
[rtsp @ 0x1a3e4e0] Failed to open codec in avformat_find_stream_info
[h264_v4l2m2m @ 0x1a411a0] Could not find a valid device
[h264_v4l2m2m @ 0x1a411a0] can't configure decoder
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://-1:-1@192.168.203.21/stream1':
Metadata:
title : stream server
comment : stream1
Duration: N/A, start: 0.113875, bitrate: N/A
Stream #0:0: Video: h264, none, 1920x1080, 90k tbr, 90k tbn, 90k tbc
Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
[h264_v4l2m2m @ 0x1b48b00] Could not find a valid device
[h264_v4l2m2m @ 0x1b48b00] can't configure decoder
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_v4l2m2m) -> mjpeg (native))
Error while opening decoder for input stream #0:0 : Invalid argument...a ty masz h264 wyłączone podczas kompilacji:
--disable-decoder=h264
--disable-muxer=h264
--disable-parser=h264
Kompiluje cały system + dodałem do paczki ffmpeg.
Teraz chce dokonać tych zmian, o których wspomniałeś...
Czy to powinno znajdować się w pliku package/feeds/packages/ffmpeg/Makefile ?
Z tych trzech rzeczy znalazłem tam jedynie wpis: --disable-decoder=pcm_bluray,pcm_dvd
Ok, przesiadłem się na 21.02.3, aby to sprawdzić i faktycznie nie ma już tutaj tej zależności z pakietem mini, instaluje się tylko full.
Reboot i...
ffmpeg -y -rtsp_transport tcp -i "rtsp://-1:-1@192.168.203.21/stream1" -vframes 1 output.jpg
ffmpeg version 4.3.4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 8.4.0 (OpenWrt GCC 8.4.0 r16594-ce92de8c8c)
configuration: --enable-cross-compile --cross-prefix=arm-openwrt-linux-muslgnueabi- --arch=arm --cpu=cortex-a7 --target-os=linux --prefix=/usr --pkg-config=pkg-config --enable-shared --enable-static --enable-pthreads --enable-zlib --disable-doc --disable-debug --disable-lzma --disable-vaapi --disable-vdpau --disable-outdevs --disable-runtime-cpudetect --enable-lto --enable-vfp --enable-neon --enable-vfp --disable-x86asm --enable-gnutls --disable-decoder=atrac3 --disable-decoder=h264 --disable-decoder=hevc --disable-decoder=vc1 --disable-muxer=h264 --disable-muxer=hevc --disable-muxer=vc1 --disable-demuxer=h264 --disable-demuxer=hevc --disable-demuxer=vc1 --disable-parser=h264 --disable-parser=hevc --disable-parser=vc1 --enable-libopus --enable-small --enable-libmp3lame --enable-libfdk-aac
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
[h264_v4l2m2m @ 0x1b184d0] Could not find a valid device
[h264_v4l2m2m @ 0x1b184d0] can't configure decoder
[rtsp @ 0x1b15710] Failed to open codec in avformat_find_stream_info
[h264_v4l2m2m @ 0x1b184d0] Could not find a valid device
[h264_v4l2m2m @ 0x1b184d0] can't configure decoder
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://-1:-1@192.168.203.21/stream1':
Metadata:
title : stream server
comment : stream1
Duration: N/A, start: 0.077500, bitrate: N/A
Stream #0:0: Video: h264, none, 1920x1080, 90k tbr, 90k tbn, 90k tbc
Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
[h264_v4l2m2m @ 0x1b19e50] Could not find a valid device
[h264_v4l2m2m @ 0x1b19e50] can't configure decoder
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_v4l2m2m) -> mjpeg (native))
Error while opening decoder for input stream #0:0 : Invalid argumentGdzie w imagebuilderze znajdę źródła do tej paczki i co muszę zmienic?
Dopisałem "ffmpeg" do mojego imagebuildera, oto efekt:
Collected errors:
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavcodec.so.58
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavcodec.so.58.91.100
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavformat.so.58
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavformat.so.58.45.100
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavutil.so.56
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavutil.so.56.51.100
But that file is already provided by package * libffmpeg-mini
* opkg_install_cmd: Cannot install package ffmpeg.
make[2]: *** [Makefile:167: package_install] Error 255
make[1]: *** [Makefile:122: _call_image] Error 2
make: *** [Makefile:240: image] Błąd 2Dopisałem tylko "libffmpeg-full", efekt niżej:
Collected errors:
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavcodec.so.58
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavcodec.so.58.91.100
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavformat.so.58
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavformat.so.58.45.100
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavutil.so.56
But that file is already provided by package * libffmpeg-mini
* check_data_file_clashes: Package libffmpeg-full wants to install file /root/OpenWRT/nanopineo1.4_v21.02.0-rc4_imagebuilder/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/usr/lib/libavutil.so.56.51.100
But that file is already provided by package * libffmpeg-mini
* opkg_install_cmd: Cannot install package libffmpeg-full.
make[2]: *** [Makefile:167: package_install] Error 255
make[1]: *** [Makefile:122: _call_image] Error 2
make: *** [Makefile:240: image] Błąd 2ffmpeg był akurat doinstalowany potem. Czemu zainstalował się mini podczas instalowania full, nie mam pojęcia.
...ty masz h264 wyłączone podczas kompilacji:
--disable-decoder=h264
--disable-muxer=h264
--disable-parser=h264
To w którym miejscu mam to włączyć?
To jest system składany przez imagebuildera. Czy muszę kompilować jądro od nowa?
Cześć,
Potrzebuje wykonać screenshot z kamery dostępnej w sieci lokalnej przy użyciu OpenWRT.
Urządzenie to FriendlyARM NanoPi NEO v1.4, system w wersji 21.02.0-rc4.
Zainstalowałem ffmpeg:
# opkg list-installed | grep ffmpeg
ffmpeg - 4.3.4-1
libffmpeg-full - 4.3.4-1
libffmpeg-mini - 4.3.4-1Po uruchomieniu następujące błędy:
# ffmpeg -y -rtsp_transport tcp -i "rtsp://-1:-1@192.168.203.21/stream1" -vframes 1 output.jpg
ffmpeg version 4.3.4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 8.4.0 (OpenWrt GCC 8.4.0 r16594-ce92de8c8c)
configuration: --enable-cross-compile --cross-prefix=arm-openwrt-linux-muslgnueabi- --arch=arm --cpu=cortex-a7 --target-os=linux --prefix=/usr --pkg-config=pkg-config --enable-shared --enable-static --enable-pthreads --enable-zlib --disable-doc --disable-debug --disable-lzma --disable-vaapi --disable-vdpau --disable-outdevs --disable-runtime-cpudetect --enable-lto --enable-vfp --enable-neon --enable-vfp --disable-x86asm --enable-gnutls --disable-decoder=atrac3 --disable-decoder=h264 --disable-decoder=hevc --disable-decoder=vc1 --disable-muxer=h264 --disable-muxer=hevc --disable-muxer=vc1 --disable-demuxer=h264 --disable-demuxer=hevc --disable-demuxer=vc1 --disable-parser=h264 --disable-parser=hevc --disable-parser=vc1 --enable-libopus --enable-small --enable-libmp3lame --enable-libfdk-aac
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
[h264_v4l2m2m @ 0x14374d0] Could not find a valid device
[h264_v4l2m2m @ 0x14374d0] can't configure decoder
[rtsp @ 0x1434710] Failed to open codec in avformat_find_stream_info
[h264_v4l2m2m @ 0x14374d0] Could not find a valid device
[h264_v4l2m2m @ 0x14374d0] can't configure decoder
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://-1:-1@192.168.203.21/stream1':
Metadata:
title : stream server
comment : stream1
Duration: N/A, start: 0.227500, bitrate: N/A
Stream #0:0: Video: h264, none, 1920x1080, 90k tbr, 90k tbn, 90k tbc
Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
[h264_v4l2m2m @ 0x1438e50] Could not find a valid device
[h264_v4l2m2m @ 0x1438e50] can't configure decoder
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_v4l2m2m) -> mjpeg (native))
Error while opening decoder for input stream #0:0 : Invalid argumentTestowałem to spod Debiana, nie mam tego problemu.
Proszę o pomoc przy OpenWRT.
Napisałem swojego rodzaju watchdoga w Bashu i w ten sposób to jakoś działa do tej pory, robie cały czas testy i sprawdzam, czy się to nie wysypie. Dziękuję Ci za dotychczasową pomoc.
Mam jeszcze jeden modem, który ma dość dziwne objawy w RAS:
00:01 daemon.notice netifd: Interface 'modem' is setting up now
00:02 daemon.notice pppd[16473]: pppd 2.4.7 started by root, uid 0
00:03 local2.info chat[16484]: abort on (BUSY)
00:03 local2.info chat[16484]: abort on (NO CARRIER)
00:03 local2.info chat[16484]: abort on (ERROR)
00:03 local2.info chat[16484]: report (CONNECT)
00:03 local2.info chat[16484]: timeout set to 10 seconds
00:03 local2.info chat[16484]: send (AT&F^M)
00:04 local2.info chat[16484]: expect (OK)
00:04 local2.info chat[16484]: AT^M
00:04 local2.info chat[16484]: *EMRDY: 1^M
00:04 local2.info chat[16484]: &F^M^M
00:04 local2.info chat[16484]: OK
00:04 local2.info chat[16484]: -- got it
00:04 local2.info chat[16484]: send (ATE1^M)
00:04 local2.info chat[16484]: expect (OK)
00:04 local2.info chat[16484]: ^M
00:04 local2.info chat[16484]: ATE1^M^M
00:04 local2.info chat[16484]: OK
00:04 local2.info chat[16484]: -- got it
00:04 local2.info chat[16484]: send (AT+CGDCONT=1,"IP","darmowy"^M)
00:04 local2.info chat[16484]: timeout set to 30 seconds
00:04 local2.info chat[16484]: expect (OK)
00:04 local2.info chat[16484]: ^M
00:04 local2.info chat[16484]: AT+CGDCONT=1,"IP","darmowy"^M^M
00:04 local2.info chat[16484]: OK
00:04 local2.info chat[16484]: -- got it
00:04 local2.info chat[16484]: send (ATD*99***1#^M)
00:04 local2.info chat[16484]: expect (CONNECT)
00:04 local2.info chat[16484]: ^M
00:05 local2.info chat[16484]: ATD*99***1#^M^M
00:05 local2.info chat[16484]: CONNECT
00:05 local2.info chat[16484]: -- got it
00:05 local2.info chat[16484]: send ( ^M)
00:05 daemon.info pppd[16473]: Serial connection established.
00:05 kern.info kernel: [ 1078.490367] 3g-modem: renamed from ppp0
00:05 daemon.info pppd[16473]: Renamed interface ppp0 to 3g-modem
00:05 daemon.info pppd[16473]: Using interface 3g-modem
00:05 daemon.notice pppd[16473]: Connect: 3g-modem <--> /dev/ttyACM0
00:06 daemon.info pppd[16473]: CHAP authentication succeeded: Congratulations!
00:06 daemon.notice pppd[16473]: CHAP authentication succeeded
00:06 daemon.info pppd[16473]: LCP terminated by peer
00:06 daemon.notice pppd[16473]: Modem hangup
00:06 daemon.notice pppd[16473]: Connection terminated.
00:07 daemon.info pppd[16473]: Exit.
00:07 daemon.notice netifd: Interface 'modem' is now downNawiązuję połączenie i po niecałej sekundzie rozłącza się, nie rozumiem tej sytuacji
Próbując połączyć się w NCM odkryłem chyba buga:
/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:2.1/tty/ttyACM0
/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:2.3/tty/ttyACM1
/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:2.5/usbmisc/cdc-wdm0
/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:2.8/usbmisc/cdc-wdm1
/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:2.6/net/wwan0
00:13 daemon.notice netifd: Interface 'modem' is setting up now
00:13 daemon.notice netifd: modem (13019): ls: /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:2.8/net: No such file or directory
00:13 daemon.notice netifd: modem (13019): The interface could not be found.
00:13 daemon.notice netifd: modem (13050): Stopping network modem
00:13 kern.err kernel: [ 8946.016308] cdc_wdm 3-1:2.8: wdm_int_callback - 0 bytes
00:13 daemon.notice netifd: modem (13050): sending ->
00:18 daemon.notice netifd: Interface 'modem' is now downChyba netifd szuka nie na tym endpoicie, na którym powinien... interfejs sieciowy oraz cdc-wdm mają zawsze inny path
Cezary, gdyby byłoby to tak proste, to nie pisałbym o tym ![]()
# echo "AT*E2GPSNPD\r\n" > /dev/ttyACM2
# cat /dev/ttyACM2
*EMRDY: 1
^C
# echo "AT"*"E2GPSNPD\r\n" > /dev/ttyACM2
# cat /dev/ttyACM2
*EMRDY: 1
^C
# echo "AT\*E2GPSNPD\r\n" > /dev/ttyACM2
# cat /dev/ttyACM2
*EMRDY: 1
^CTak jak pisałem na początku, mam problem z tą jedną jedyną komendą i działa ona tylko wtedy, gdy ręcznie wpiszę ją w picocom. Udało się Nam ogarnąć to w CHAT, ale nie wiadomo czemu proces CHAT musi wisieć w tle, aby potem strumień działał.
To mnie jeszcze zaciekawiło:
# printf 'AT*E2GPSNPD' | picocom /dev/ttyACM2
picocom v3.1port is : /dev/ttyACM2
flowcontrol : none
baudrate is : 9600
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
hangup is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
logfile is : none
initstring : none
exit_after is : not set
exit is : no!! STDIN is not a TTY !! Continue anyway...
Type [C-a] [C-h] to see available commands
Terminal ready** read zero bytes from stdin **
Terminating...
Thanks for using picocom
Moje pytanie powinno więc chyba brzmieć:
co tak niezwykłego robię ręcznie w picocom, czego nie potrafi zrobić skrypt z użyciem CHAT...
Tak, rozumiem. Jeśli w PICOCOM wycisnę CTRL + A oraz CTRL + Q i wyjdę to mam dostęp potem do strumienia. Jak więc zrobić to skryptem? Zauważyłem, że jeśli w CHAT podam ABC i wyłączę timeout to działa to wtedy, ale proces musi wtedy wisieć w tle
Te AAA i BBB to przykład ![]()
Już myślałem, że działa, ale...
Skrypt:
# chat -t 5 -V -s '' 'AT*E2GPSNPD' 'abc' '' > /dev/ttyACM2 < /dev/ttyACM2
*EMRDY: 1
AT*E2GPSNPD
OK
$GPGSV,1,1,03,02,,,30,06,,,41,17,,,,,,,*7E
$GPGLL,,,,,153232.553,V,N*7D
$GPGGA,,,,,,0,0,,,M,,,,*1B
[...]
Failed
# cat /dev/ttyACM2
*EMRDY: 1
^CTeraz ręcznie w picocom:
(...)
Type [C-a] [C-h] to see available commands
Terminal ready
*EMRDY: 1
AT*E2GPSNPD
OK
$GPGSV,3,1,11,..............
Terminating...
Skipping tty reset...
Thanks for using picocom
# cat /dev/ttyACM2
$GPGSV,3,1,11,12..........O co tutaj chodzi?
Genialnie!
chat -t 3 -V -s 'AAA' 'AT*E2GPSNPD' '$GPGSV' 'BBB' > /dev/ttyACM2 < /dev/ttyACM2Czym jest AAA oraz BBB?
Sory za tak trywialne pytania, ale help z Openwrt dla chata jest słaby
Odpuszczam ten modem, jest mocno zbrandowany. Mam jeszcze ciekawszy z innym problemem. Potrzebuje skryptem wykonać dosyć nietypową komendę: AT*E2GPSNPD, normalnie w picocom działa to tak:
AT*E2GPSNPD
OK
(tutaj jest chwile pauzy, i zaczyna się stream)
$GPGSV,3,1,11,24..................Kiedy próbuję wykonać tą komendę za pomocą różnych technik skryptu zauważyłem, że...
AT*E2GPSNPD
OKi koniec komendy... Tak jakby brakuje, aby przytrzymać 2-3 sekundy tą komendę, aby stream się uruchomił.
Coś poradzisz? Próbowałem już echo, printf, chat, picocom i nic.
Nie spotkałem się z czymś takim, że po wysłaniu komendy skryptem ona nie jest wykonywana
Mam picocom, próbuję włączyć GPS. Odpowiada właśnie na ttyUSB1
Na jedynym, na którym mogę gadać to ttyUSB1, i wtedy wygląda to tak:
daemon.notice netifd: Interface 'modem' is setting up now
daemon.notice netifd: modem (5504):
daemon.notice netifd: modem (5504): .
daemon.notice netifd: modem (5504): .
daemon.notice netifd: modem (5504): .
daemon.notice netifd: modem (5504): .
daemon.notice netifd: modem (5504): .
daemon.notice netifd: modem (5504): .
daemon.notice netifd: modem (5504): .
daemon.notice netifd: modem (5504): .
daemon.notice netifd: modem (5504): .
daemon.notice netifd: Interface 'modem' is now downDzięki! Dostęp do konsoli jest, czeka mnie przestudiowanie dokumentacji.
daemon.notice netifd: Interface 'modem' is setting up now
daemon.notice pppd[15754]: pppd 2.4.7 started by root, uid 0
local2.info chat[15794]: abort on (BUSY)
local2.info chat[15794]: abort on (NO CARRIER)
local2.info chat[15794]: abort on (ERROR)
local2.info chat[15794]: report (CONNECT)
local2.info chat[15794]: timeout set to 10 seconds
local2.info chat[15794]: send (AT&F^M)
local2.info chat[15794]: expect (OK)
local2.info chat[15794]: alarm
local2.info chat[15794]: Failed
daemon.err pppd[15754]: Connect script failed
daemon.info pppd[15754]: Exit.
daemon.notice netifd: Interface 'modem' is now downNa razie próbuje połączyć się w RAS. Co tutaj jest nie tak?
Manufacturer: Sierra Wireless, Incorporated
Model: MC8805T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 53 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2
P: Vendor=413c ProdID=81a3 Rev= 0.06
S: Manufacturer=Sierra Wireless, Incorporated
S: Product=Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=
E: Ad=82(I) Atr=03(Int.) MxPS= 12 Ivl=32ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=
E: Ad=84(I) Atr=03(Int.) MxPS= 12 Ivl=32ms
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 8 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=
E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=
E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
C:* #Ifs= 2 Cfg#= 2 Atr=e0 MxPwr=500mA
A: FirstIf#=12 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
I:* If#=12 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms
I: If#=13 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#=13 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Jak mam to zrobić? Domyślnie włącza się w MBIM i wystawia tylko cdc-wdm0
Jeden modem zgłasza mi się jako 413c:818e. Dosyć podobny modem jako 413c:81a3, który nie wystawia mi konsoli. Próbuję go przełączyć
Nie, po prostu mam inne urządzenie, które chce przełączyć i nie udaje mi się
eko.one.pl → Posty przez tinware
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc