Невозможно передать RTSP из VLC при распространении на основе Yocto - PullRequest
0 голосов
/ 26 сентября 2019

Мне удалось собрать и развернуть vlc и libvlc на встроенной плате с помощью Yocto Linux.Для компиляции я использовал lua5.1 вместо lua5.3.Вот как я избавился от ошибки «поврежден модуль liblua.so».

То, что работает на моем ПК, не работает на платформе, и мне любопытно, что может отсутствовать или что может бытьпричина этого.Вывод выглядит следующим образом:

libvlc: Creating an input for 'rtsp://192.168.1.92:7236'
libvlc: using timeshift granularity of 50 MiB, in path '/tmp'
libvlc: `rtsp://192.168.1.92:7236' gives access `rtsp' demux `' path `192.168.1.92:7236'
libvlc: specified demux `any'
libvlc: creating demux: access='rtsp' demux='any' location='192.168.1.92:7236' file='(nul'
libvlc: looking for access_demux module matching "rtsp": 13 candidates
libvlc: version 2017.04.10
libvlc: RTP subsession 'video/MP2T'
libvlc: setup start: 0.000000 stop:0.000000
libvlc: creating demux: access='' demux='ts' location='' file='(null)'
libvlc: We have a timeout of 30 seconds
libvlc: spawned timeout thread
libvlc: play start: 0.000000 stop:0.000000
libvlc: using access_demux module "live555"
libvlc: looking for meta reader module matching "any": 2 candidates
libvlc: Trying Lua scripts in /home/root/.local/share/vlc/lua/meta/reader
libvlc: Trying Lua scripts in /usr/lib/vlc/lua/meta/reader
libvlc: Trying Lua playlist script /usr/lib/vlc/lua/meta/reader/filename.luac
libvlc: Error loading script /usr/lib/vlc/lua/meta/reader/filename.luac: /usr/lib/vlc/lua/mk
libvlc: Trying Lua scripts in /usr/share/vlc/lua/meta/reader
libvlc: no meta reader modules matched
libvlc: `rtsp://192.168.1.92:7236' successfully opened
libvlc: looking for demux module matching "ts": 59 candidates
libvlc: no demux modules matched

Я не вижу вывод из моего приложения, мне интересно, что вызывает это: это ошибка в скрипте Lua, это "не соответствует ни один модуль демультиплексирования"?

В платформе у меня есть возможность настроить vlc со следующими параметрами:

PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555"
PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gst-plugins-bad"
PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
PACKAGECONFIG[qt5] = "--enable-qt,--disable-qt, qtbase-native qtx11extras qtsvg"
PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg"
PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb,  xcb-util-keysyms libxpm libxinerama"
PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"

Прямо сейчас у меня есть следующая конфигурация:

--enable-run-as-root \
    --enable-xvideo \
    --disable-screen --disable-caca \
    --enable-vlm \
    --enable-freetype \
    --enable-tremor \
    --enable-v4l2 --disable-aa --disable-faad \
    --enable-dbus \
    --without-contrib \
    --without-kde-solid \
    --enable-realrtsp \
    --disable-libtar \
    --enable-avcodec \
    ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \
    ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \
    ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/uic \

Любая помощь относительно исправленияЭта проблема очень ценится.

РЕДАКТИРОВАТЬ : Я использую платформу TI DRA7xx, Yocto находится на Rocko Branch.Я намеренно отключил плагин x11, потому что у меня нет x11, но я все еще хочу иметь возможность потоковой передачи в приложение Qt с помощью плагина eglfs.

EDIT : я включил постпроцессор g52 джек postproc gstreamer dvbpsi vorbislive555 ogg svg svgdec png vpx плагины из источника Yocto, и теперь я получаю следующий вывод:

libvlc: looking for demux module matching "ts": 61 candidates
libvlc: Force Seek Per Percent: PCR's not found,
libvlc: PATCallBack called
libvlc: new PAT ts_id=0 version=1 current_next=1
libvlc:   * number=1 pid=256
libvlc: PMTCallBack called
libvlc: new PMT program number=1 version=1 pid_pcr=4096
libvlc:   * es pid=4113 type=27 dr->i_tag=0x28
libvlc:   * es pid=4113 type=27 dr->i_tag=0x2a
libvlc:   * es pid=4113 type=27 fcc=h264
libvlc: selecting program id=1
libvlc: looking for decoder module matching "any": 38 candidates
libvlc: Using decodebin? no
libvlc: set state failure
libvlc: no decoder modules matched
libvlc: Codec `h264' (H264 - MPEG-4 AVC (part 10)) is not supported.
libvlc: Codec not supported
libvlc: VLC could not decode the format "h264" (H264 - MPEG-4 AVC (part 10))
libvlc: killing decoder fourcc `h264', 0 PES in FIFO
libvlc: MPEG-4 descriptor not found for pid 0x1100 type 0xf
libvlc:   * es pid=4352 type=15 fcc=mp4a
libvlc: looking for decoder module matching "any": 38 candidates
libvlc: no decoder modules matched
libvlc: Codec `mp4a' (MPEG AAC Audio) is not supported.
libvlc: Codec not supported
libvlc: VLC could not decode the format "mp4a" (MPEG AAC Audio)
libvlc: killing decoder fourcc `mp4a', 0 PES in FIFO
libvlc: using demux module "ts"
libvlc: DEMUX_SET_GROUP -1 (nil)
libvlc: pid[4096] unknown
libvlc: Buffering 0%
libvlc: Buffering 66%
libvlc: Stream buffering done (210 ms in 120 ms)
libvlc: Decoder wait done in 0 ms
../git/libdce_linux.c:70:       dce_init        ERROR: Failed OmapDrm_FD > 0 error val -

Это заставляет меня думать, что это связано с GPU (OMAP).

...