Closed kflak closed 2 years ago
@edovino @kflak @StaffanMelin
I think I found a fix for video playback. Can you test with the videoPlayerExample ?
Try changing this line:
from:
GstElement * gstPipeline = gst_element_factory_make("playbin","player");
to:
GstElement * gstPipeline = gst_element_factory_make("playbin3","player");
(And make sure any other changes are reverted ).
It fixes it for me on macOS which was crashing at the same spot as Linux.
More on playbin3 here. When switching playback to threaded I got an error message suggesting there might be an incomplete graph. So it makes sense that a different playbin ( which builds graphs ) might fix that.
I am not sure if playbin3 is compatible with the older 1.0 version of gstreamer so a PR might want to check if Gstreamer version is > 1.18 or something like that.
Will take a look at the capture/grabber stuff next.
Hopefully the video grabber fix is something as small as this :)
Unfortunately this produces a coredump on Arch Linux when running the videoplayer example:
PID: 28917 (videoPlayerExam)
UID: 1000 (kf)
GID: 1000 (kf)
Signal: 11 (SEGV)
Timestamp: Tue 2022-08-16 08:53:25 EEST (1min 1s ago)
Command Line: bin/videoPlayerExample
Executable: /home/kf/of/examples/video/videoPlayerExample/bin/videoPlayerExample
Control Group: /user.slice/user-1000.slice/session-1.scope
Unit: session-1.scope
Slice: user-1000.slice
Session: 1
Owner UID: 1000 (kf)
Boot ID: 95a6592ba37941af9feb6d5ec73b549d
Machine ID: c06afc9c267144ec9253e59c7c767a00
Hostname: t480s
Storage: /var/lib/systemd/coredump/core.videoPlayerExam.1000.95a6592ba37941af9feb6d5ec73b549d.28917.1660629205000000.zst (present)
Disk Size: 4.9M
Message: Process 28917 (videoPlayerExam) of user 1000 dumped core.
Module /home/kf/of/examples/video/videoPlayerExample/bin/videoPlayerExample with build-id b9fda5de6f715ffd0b96ee84644b679d748f3fd1
Module linux-vdso.so.1 with build-id f3782fbd839be9f811f7e8175f1f73f994764c0e
Module libgstdeinterlace.so with build-id 104fed3374e922ababe5c53bd4edcc3097979e6f
Module libgstvideoscale.so with build-id 358ba5a5410dec0ec9dc9092501861a0074b6d6c
Module libgstvideoconvert.so with build-id 2b9516a9719bd204f7d584da917dc80720a0eecf
Module libgstvideofilter.so with build-id a13ccb725eca7f3f6ed49f3013eac4a2e115f1b2
Module libdatrie.so.1 with build-id 6fe3b6ece2c8e7d11869fa051375128d8f808f58
Module libthai.so.0 with build-id a7ac5010b4275c49308021200d23690533952702
Module libpangoft2-1.0.so.0 with build-id 4a5a975bc9e397294c88738430515901a51c304c
Module libdl.so.2 with build-id 2b416df8fd62af5dc5e987b11d99a5d0f772b440
Module libmvec.so.1 with build-id 1b5508a5298c324c58e71364ccc609534f836835
Module libpango-1.0.so.0 with build-id a971a5fed3b8b9cf076fe5edb9a9f04ced3da211
Module libpangocairo-1.0.so.0 with build-id 37f75358f8778498bcc26a1658107953d9495255
Module libgdk_pixbuf-2.0.so.0 with build-id b2822dc16bd1470683ce421978ad142c4f3c3f89
Module libcairo-gobject.so.2 with build-id 9927090dddfb180365695a8f37d1cac89463f109
Module libhogweed.so.6 with build-id 5c4a99ad0aabe13bd9b517f92ab339436a2bc1f2
Module libnettle.so.8 with build-id 6a26cbe6819abc8c57668f80ca8c8160fd85e29e
Module libtasn1.so.6 with build-id ee3429ca5e94718aea4fe5249fc859e0cd88e4e9
Module libbrotlienc.so.1 with build-id 74adbc62e4fbb5da9d37b5aa458471f4130862ff
Module libp11-kit.so.0 with build-id cc372ea3c28c4d3dfc633b4d2e933c8584d2af16
Module libsoxr.so.0 with build-id 9e49936ed807c1e52705b88d5d71706fe11d9ed1
Module libvdpau.so.1 with build-id fccd021ff13c37ebf7144d184a3250624e086f52
Module libva-x11.so.2 with build-id 904eb0006b0ef7a4bcd560b9e016711066e410b8
Module libva-drm.so.2 with build-id 58df7fa92e899fee0c784db7a9fc68bb107156b6
Module libxvidcore.so.4 with build-id 43bc390a7842a7ca3a0302e93442ea561d7f013a
Module libx265.so.199 with build-id 4fd2d7155725df753c6b32274c442349fc05e632
Module libx264.so.164 with build-id 1ebb8708f2101bd1c95b701142163133e8dac465
Module libtheoradec.so.1 with build-id 19d321fd5455c7b7611ca9602a804b496124e06f
Module libtheoraenc.so.1 with build-id cde750f0621140f313e4ef4e5f212e662f24a38b
Module libSvtAv1Enc.so.1 with build-id d95f643a00090915d6f17c27a84a031c45e819f3
Module libspeex.so.1 with build-id fd7a3d6df98e453f2513c929f26950060ec8ff48
Module librav1e.so.0 with build-id 5f8fc2c271f0d96480ab1c71447e038a66aa1c57
Module libopencore-amrnb.so.0 with build-id 6690c607f7a7480e92f8690974e7e30575428cb1
Module libmp3lame.so.0 with build-id 19eef0793322b522143e4f8e602197f1a22be3f4
Module libgsm.so.1 with build-id 4e1e1890ec2f93119f1a2ecb3312741cbd1ea84c
Module libaom.so.3 with build-id 2b5b58e482957529f8b14aecb5b2acc21362d04d
Module librsvg-2.so.2 with build-id 1cb5dfb747cdb53ba90f504acbe23de518c29ad9
Module libopencore-amrwb.so.0 with build-id 8d1526cc5d013c2638ad4588e7582e3cc7559ff8
Module libdav1d.so.6 with build-id a93560a23a7f1def734a3cf54f09eadd7c3c46e9
Module libvpx.so.7 with build-id accaef32c955264d758e0348e7da476c5979d711
Module libssh.so.4 with build-id 8490056688e60790230f9d990c439b181236e9b6
Module libsrt.so.1.5 with build-id e0257a95fa45af0edf2fe5b684abb7d2c171637d
Module libgnutls.so.30 with build-id 816201e11cc13561e1272b96a1c7cdb97ae59997
Module libgmp.so.10 with build-id 26cec2ebe94cc5c4cb99e6988717347222b324fd
Module libbluray.so.2 with build-id 45acd9f36bdb3438c5cb9cc74da71fee2ab2fee0
Module libmodplug.so.1 with build-id b00dcb12e7d2d5882b4fa414295eba449875dae4
Module libmfx.so.1 with build-id d817dae78e0662e7206a66a41843a66cf0fb0b2f
Module libzimg.so.2 with build-id dd86fc59b96c8ecbb79bd5cc3e9b35832e2807d0
Module libvidstab.so.1.1 with build-id 8f75d19083cbc44f1cfda8fca285a23424dd2b2a
Module libva.so.2 with build-id 86d5ae6b358ba79962131649d99e42e1ba669501
Module libass.so.9 with build-id 733c72b62f5f2cd847b3d7a7d042080eccd96b23
Module libvmaf.so.1 with build-id 835cb1e52c0e6e216daeac24e5416dfb46ad4aa6
Module libfribidi.so.0 with build-id fe9f35ac2a0074108c8306c517793f7279bd9b37
Module libswresample.so.4 with build-id 3d49fdf68f5427d6297ae197ae3258545f3924b9
Module libpostproc.so.56 with build-id d68fb0489a95caa94b4de2644f86e89f796ca2da
Module libswscale.so.6 with build-id d9bba656bc4f0ce0032d9043673c6372762ce7c2
Module libavutil.so.57 with build-id 9f6374a363541c68c80a2a01e1acfe30cdc49371
Module libavcodec.so.59 with build-id 814579fd88c62ec7ddf3fde22cdefcff6a84239c
Module libavformat.so.59 with build-id 433c02c7528ca98208ef775c1ecf932596668362
Module libavfilter.so.8 with build-id f77d824b796be5427db1f8d458d5319cd613c28e
Module libgstlibav.so with build-id 523c5b56ad539a29ca6bfad2f466d9dd737d5ec5
Module libgstcodecparsers-1.0.so.0 with build-id d6fa8cc13cdda4f5314da9330783d6087e19a738
Module libgstvideoparsersbad.so with build-id c6ebacf419a1c700cc49472282b34647b736f14f
Module libgstrtp-1.0.so.0 with build-id 3894cfd57ba4f2a1adbe0cdf340da736eb8e232c
Module libgstriff-1.0.so.0 with build-id 9c5da9d161b04ce50084ae475e03e1dfb2a6abea
Module libgstisomp4.so with build-id e1484d69202a4e192503bcb672a7669c86841a28
Module libblkid.so.1 with build-id fb2c5d3c17aac74758a3eb80a2bc1c16bcf183b1
Module libmount.so.1 with build-id 9064fc3620c42e6f7aed38119f0a3ec39fca9a37
Module libgio-2.0.so.0 with build-id 7a769ec24a9a705d04ee0297730032f70ed0835b
Module libgsttypefindfunctions.so with build-id a45e54c8dde0a29dbf2546c4f08a593c2899ae3d
Module libgstcoreelements.so with build-id 7e55afbd023ae283aef3e35c913f9cbf2dcdb8a0
Module libgsttag-1.0.so.0 with build-id 773f259addfba8706c471a7b27e9a4d9dbe90f11
Module libgstpbutils-1.0.so.0 with build-id 1087154b965ced47b0843e6bb4034ad360f6254f
Module libgstaudio-1.0.so.0 with build-id 3ecedf9bba34a26592f472fb6431b5a91f3305a9
Module libgstplayback.so with build-id 0d76a11d4af983878142ffac0306764f13fca526
Module libicudata.so.71 with build-id 4fef196388e678deb881978139e125e20ee2d94d
Module libicuuc.so.71 with build-id 633fdc0c5385d916571f6140e7a978ad0630ef55
Module libxml2.so.2 with build-id 8cdf00fa954d9a27f2f184c4d354cb14677446ac
Module libncursesw.so.6 with build-id b9917757481e6fa6097e2a1f31f5bb5eaf138c4e
Module libedit.so.0 with build-id 4b0babfcad161c2ad0af6e59e2493258db23a331
Module libvulkan.so.1 with build-id dd97393da4f886994c9dfc153b35ea6d906f57ff
Module libdrm_nouveau.so.2 with build-id 78e99e753be2b598acf02a6f30bc6615a6a3067f
Module libdrm_amdgpu.so.1 with build-id e03ead624f04700b1fd00df43863fecfb1ff8b72
Module libdrm_radeon.so.1 with build-id 5c9c31961c5f0dd9b40cb3e134b8d9189ee59fbb
Module libsensors.so.5 with build-id dc8b2c1c0d8525411aca188ea3cc3fb86d381d30
Module libLLVM-14.so with build-id 16d23f3ab6fb7269b2f13a9932a2a7ec4b1d5104
Module iris_dri.so with build-id 247f930d52c9b9e6d6e140462136d983b0b617da
Module libxcb-xfixes.so.0 with build-id e231a68d00ee4cfa12a2c31e755a9e2c1e7be450
Module libxshmfence.so.1 with build-id d9b3ce4edb0b6a0818bcc57dda020d2da5e3c895
Module libxcb-sync.so.1 with build-id 13025f6de23a271636ad321c77eda98801e62e8e
Module libxcb-present.so.0 with build-id 8ed389d9cd6ad7110fbb00c93b32e0efaa71a6b1
Module libxcb-dri3.so.0 with build-id 088c750254cc139e7d62b8a3fc7795a138447ccf
Module libxcb-dri2.so.0 with build-id 7bde0abc84135ae6258a8d1d130864071c2cc327
Module libxcb-glx.so.0 with build-id 71d5b6691f53a235696da49ffa2178d643ecc228
Module libdrm.so.2 with build-id 39847bc84bc769f632f8f599a62fdcc98c9270cd
Module libglapi.so.0 with build-id a5ca7bec18ce3ff85c63b88bd43a7884ea95a1f7
Module libGLX_mesa.so.0 with build-id 6721ac15576bf0a0a4d5a29429915cb88cdf5426
Module libX11-xcb.so.1 with build-id f92352eae0a30aea89d11beb22367fa985288925
Module libXinerama.so.1 with build-id 8198240259261b612189e89c9fcfc902b025b382
Module libXfixes.so.3 with build-id 0a05c7e8714522bfbdd7c0027c3e2a94965664b0
Module libXcursor.so.1 with build-id f0525ae3715ac95f96a8cdb44795b03f831334b0
Module libXrandr.so.2 with build-id 154e55f082ee9e685d0794c98c5b76ffe9c8868e
Module libXi.so.6 with build-id 16603be937a02a7e61b0b0395d064be7efd86f49
Module libXxf86vm.so.1 with build-id b8b37b0c66be0a760a8491e3c86a00c4efdc825d
Module libgomp.so.1 with build-id e1c1ddb2ee2191806fc1cd8d7fe15cd28e2f24a8
Module liblcms2.so.2 with build-id c01e5649a38dbf37768d02dc751b52de0dcbd141
Module libjasper.so.6 with build-id 920c93104c2081399a4d6334e239cc0fa14bc4b2
Module libIlmThread-3_1.so.30 with build-id fb61aaa8abdf748eb68984c0ef25b0ae85a6565f
Module libjpegxr.so.0 with build-id f7adc32a52bc5e991329263d8460fa27c977d3b6
Module libXdmcp.so.6 with build-id d864159ab0008415667db8d5f251696d75c90df2
Module libXau.so.6 with build-id 60db1eac70f819bea9d4c366603c1583067510b4
Module libresolv.so.2 with build-id 5c4d9f10ee9ce5e768e5b910e6b430f352a7aae1
Module libkeyutils.so.1 with build-id ac405ddd17be10ce538da3211415ee50c8f8df79
Module libkrb5support.so.0 with build-id 15f223925ef59dee4379ebbc0fcd14eda9ba81a2
Module libcom_err.so.2 with build-id 3360a28740ffbbd5a5c0c21d09072445908707e5
Module libk5crypto.so.3 with build-id cc77a742cb62447a53d98285b41558b8acd92866
Module libkrb5.so.3 with build-id 371cc767dacb17cb42c9c44b88eebbed5ee9a756
Module libunistring.so.2 with build-id 617dbf3d3d6f85d6556a7a036e23845e95490158
Module libbrotlicommon.so.1 with build-id acfd597a977c8087bb6184383daae2e828a9ce42
Module libgraphite2.so.3 with build-id ce58945ebb55b86d3a4e717b6eae29efc4720d8e
Module libelf.so.1 with build-id 5ba0792747dce7480d031794ed90c620da72dbff
Module liblzma.so.5 with build-id d08f5868cd5adcc6b7c53bf1725aac65bd4539cd
Module libpthread.so.0 with build-id b966d4b239433c89ca36c0938381e2d92cd47639
Module libwebp.so.7 with build-id 96dd01a02a3b0b4dae0d744fc3200fd36f1c2148
Module libwebpmux.so.3 with build-id c987ad73c6cbbfcdb4d632ead20256769852066e
Module libtiff.so.5 with build-id 5f020a8eb30e12c2e4012d0cb50da9480c7b5d34
Module libraw.so.20 with build-id 6140fabd31b4e8f1e8a6a2e6cff9d53a3358e8e6
Module libopenjp2.so.7 with build-id 5fa7037f0c932c285735dbcd42365abe6c3abb05
Module libImath-3_1.so.29 with build-id 4e0c4f23770d7ca42aa5341d270678a4303bf504
Module libIex-3_1.so.30 with build-id 5e8a8f33fa7d4b83185155f19d4604501a86cf62
Module libOpenEXR-3_1.so.30 with build-id 875e7df47bd5ce2de8806bb9fa046061fa43a8ef
Module libjxrglue.so.0 with build-id 330109323ba220c8ed17d87747d03928bf908e04
Module libjpeg.so.8 with build-id 8e6d3f3e8f438912b561c43b6e7f66e6e5e097d0
Module libpcre.so.1 with build-id 845483dd0acba86de9f0313102bebbaf3ce52767
Module libffi.so.8 with build-id f0a9586cf0f42d2b9971bd1065ca3a6b19f4a2c2
Module libpixman-1.so.0 with build-id d2170a3ac106c2a68597bf7910ab04b1cdd69c14
Module libxcb-shm.so.0 with build-id 828fec4d856e2710e732ea8d92c3f250c807b1c2
Module libxcb-render.so.0 with build-id b1ca498d665807ab0ccdafbe8070853efd058173
Module libXrender.so.1 with build-id 42e386d2acf3cde61081959d9671ca74acfb3edc
Module libXext.so.6 with build-id 17beadf1cb40d41ab36629db3b4eed74110678a7
Module libxcb.so.1 with build-id 13d677412a71468381b11092915d231f664d18d3
Module libGLX.so.0 with build-id 1d664a1f03d6c5c9ac997c4b73f3e8a11424cc74
Module libGLdispatch.so.0 with build-id 9901dca23d6ccd49929b5f44c81cd671f1ec6757
Module libzstd.so.1 with build-id ab54c2881f53ab314e134f3e08c76d504376dd5d
Module libgssapi_krb5.so.2 with build-id 292f1ce32161c0ecc4a287bc8494d5d7c420a03f
Module libcrypto.so.1.1 with build-id 7981ea3d69f3c28e46ee312a815af96eab93775c
Module libssl.so.1.1 with build-id e6b1f97a5b60b4248c49dfc5b11f53f281b507d0
Module libpsl.so.5 with build-id 0229a201aaf5652186c9fdc192ebe52baf19d7f1
Module libssh2.so.1 with build-id a4adfe44cc7ebd295b3b783361acc3dcfcea1d50
Module libidn2.so.0 with build-id b16e7570b102789b13ff77289762dbfe3f8f46bc
Module libnghttp2.so.14 with build-id 16f0981d5251b03b11a49236ac403562ee458887
Module ld-linux-x86-64.so.2 with build-id 5492655bffbf172ed8a07f285f760ead38f09404
Module libogg.so.0 with build-id ca0cae30a809f10db1f16e54a23b4e5ff7b2c54c
Module libvorbis.so.0 with build-id f4e086347f6c1a66eb73cfe13974a29bd39aabca
Module libopus.so.0 with build-id 35fafc4024675e9cfe57c7d50c3965eac6bac358
Module libFLAC.so.8 with build-id 3637a78858507a848ee0a48c50902c943e5bc58f
Module libvorbisenc.so.2 with build-id 2b1ce7fcdcc925bc663ebe2c1c008c0dd96e5bd0
Module libbrotlidec.so.1 with build-id 66c54e9301f7e102ecc1d88547e5f0e8a056fe22
Module libharfbuzz.so.0 with build-id 236ab65053439e673a39fcb7aadedb28b17a338a
Module libpng16.so.16 with build-id 2dc0bce07f199bf983c07a05fb95a6f4af83a9b3
Module libbz2.so.1.0 with build-id 919597c477c9b2cb9cdbb7745ed6494ac0e6da60
Module libz.so.1 with build-id fefe3219a96d682ec98fcfb78866b8594298b5a2
Module libexpat.so.1 with build-id 113bb5a3e9ad856801bfcfc029102c9bdc13d67e
Module libdw.so.1 with build-id 35e7f9b41a957c7463f7ef9f977dabda3deae241
Module libunwind.so.8 with build-id e7f3b22127b00d8b14b2560df707cbbeb0134861
Module libgmodule-2.0.so.0 with build-id abd986222e2cf12fc7324cb0182dfc2c8f2269c0
Module liborc-0.4.so.0 with build-id a95fb07ab70adc17bb91684e07695723aac3a4b8
Module libc.so.6 with build-id 7d4293a9bbe1f068ab7ae807c2d9377395eb5b41
Module libgcc_s.so.1 with build-id 308aed8b7d7e38f5efa23f75c25601668c1fc009
Module libm.so.6 with build-id efeea58692a42176201df89f034aa4295a77ce74
Module libstdc++.so.6 with build-id e0dd3ec5b0a62b122b4141c956c0b33a4d719144
Module liburiparser.so.1 with build-id d361ae41e1efe517bbdfb8f158a0eb1cc9f8a8b4
Module libfreeimage.so.3 with build-id ee9bbf8f0edfe8dc1daeebff21443d740223c243
Module libmpg123.so.0 with build-id eb49ac569b43a93bae52209307a3275cccf9873c
Module libglib-2.0.so.0 with build-id 1340f3a762b2293ebf6d725edf0eb14839f85317
Module libgobject-2.0.so.0 with build-id a7515bd8cd51064d187953c0f506a43958de31a6
Module libcairo.so.2 with build-id a222d042e56108d2786ece7bf291b56ba2069591
Module libX11.so.6 with build-id 21e886e968772b7964d646f54c1faecc56734de9
Module libGL.so.1 with build-id a3025d7d2cce51ecb2d47c076bfddefbf7e081f0
Module libGLEW.so.2.2 with build-id 1b7e477ea0eccd1622a983c8589930e043700545
Module libglfw.so.3 with build-id e2475c618cd01c9d0f30114d4c3266e883358719
Module libcurl.so.4 with build-id 8e801dde5d7263a70bb78c67350f5762277ab9c1
Module libopenal.so.1 with build-id 1d65d05a177dc2c1b81de25e53b9b04e528655cf
Module libsndfile.so.1 with build-id 407b2376cac1726631e3f7360a9337901be04ec0
Module libfreetype.so.6 with build-id f89dd5502e75aca28fb5c3ccd0dbd26fe822bfef
Module libfontconfig.so.1 with build-id 36be6951b8c1e42a7dd05684a37400fc8ef9147c
Module libgstreamer-1.0.so.0 with build-id 2ee55886823bebf80a7c02e9b4942303eede3c42
Module libgstbase-1.0.so.0 with build-id c4590b02fb88ac12206d4b43be1b2b1b163e7bce
Module libgstvideo-1.0.so.0 with build-id 3c5120be9e6d30ca977a13e4a84dd326e07a4c73
Module libgstapp-1.0.so.0 with build-id c0afda6db73863b4d91dc3293baaa3c9ef659226
Stack trace of thread 28959:
#0 0x000000000000000a n/a (n/a + 0x0)
ELF object binary architecture: AMD x86-64
Unfortunately I still get a Segmentation fault with this change.
Debian 11 Testing.
Thanks @StaffanMelin @kflak - going to test on my Ubuntu system today.
One other thing to try in the meantime is change this to true ( and keep the playbin3 in ):
For me instead of a crash, the app ran and I got some gstreamer errors which helped point to the playbin3 'fix'
Thank you for trying @ofTheo, but even with this change I still get a Seg fault.
Thanks @StaffanMelin and @kflak!
Can confirm on Ubuntu 22.04 playbin3
doesn't fix anything.
😞
Started working on a tool that list all plugins and deprioritizes hardware ones, but not sure if there is anything in the plugin data structure which indicates if a plugin is hardware or software.
Starting to think we should maybe update our install scripts to disable Gstreamer 1.18 or newer until we can fix the OF implementation.
Thanks for the investigation, @ofTheo! Unfortunately both fixes don't help on Fedora 36 either, unfortunately.. (btw - had to change the playbin cmd on line 120, not 118: for me L118 is #ifdef-ed out.) Disabling Gstreamer >1.18 would mean disabling support for F34 and up (so in practice any current version of Fedora), because older gstreamer pkgs are not/no longer available. I'm still trying to build a local Gstreamer version, but it's... hairy. :grimacing:
@edovino we're actually making good progress on the forum: 🙂 https://forum.openframeworks.cc/t/ofxgstreamer-on-m1-mac/40257/16
With some help from nlavella - I think I have a fix ( famous last words ). Put the changes in a PR here: https://github.com/openframeworks/openFrameworks/pull/7050
Let me know if that works for you. 🤞 cc @kflak @StaffanMelin
Cool, exciting work! So happy there is some movement on this.
I am on the countryside with very crappy mobile internet connection, so I can't pull the whole thing down. Did a dirty copy-paste edit instead in the 2 source files, ran make clean
on the videoPlayer example before compiling it again, and (drumroll...) segfaulted again. Since I don't trust myself to have copy-pasted correctly I hope some other penguin-head comes along and proves me wrong.
For what it's worth, the coredump:
PID: 142517 (videoPlayerExam)
UID: 1000 (kf)
GID: 1000 (kf)
Signal: 11 (SEGV)
Timestamp: Wed 2022-08-17 20:30:40 EEST (2min 31s ago)
Command Line: bin/videoPlayerExample
Executable: /home/kf/of/examples/video/videoPlayerExample/bin/videoPlayerExample
Control Group: /user.slice/user-1000.slice/session-1.scope
Unit: session-1.scope
Slice: user-1000.slice
Session: 1
Owner UID: 1000 (kf)
Boot ID: 95a6592ba37941af9feb6d5ec73b549d
Machine ID: c06afc9c267144ec9253e59c7c767a00
Hostname: t480s
Storage: /var/lib/systemd/coredump/core.videoPlayerExam.1000.95a6592ba37941af9feb6d5ec73b549d.142517.1660757440000000.zst (present)
Disk Size: 4.5M
Message: Process 142517 (videoPlayerExam) of user 1000 dumped core.
Module /home/kf/of/examples/video/videoPlayerExample/bin/videoPlayerExample with build-id b629941e19465e157a886db38ebcfd254d698ffa
Module linux-vdso.so.1 with build-id f3782fbd839be9f811f7e8175f1f73f994764c0e
Module libgstdeinterlace.so with build-id 104fed3374e922ababe5c53bd4edcc3097979e6f
Module libgstvideoscale.so with build-id 358ba5a5410dec0ec9dc9092501861a0074b6d6c
Module libgstvideoconvert.so with build-id 2b9516a9719bd204f7d584da917dc80720a0eecf
Module libgstvideofilter.so with build-id a13ccb725eca7f3f6ed49f3013eac4a2e115f1b2
Module libdatrie.so.1 with build-id 6fe3b6ece2c8e7d11869fa051375128d8f808f58
Module libthai.so.0 with build-id a7ac5010b4275c49308021200d23690533952702
Module libpangoft2-1.0.so.0 with build-id 4a5a975bc9e397294c88738430515901a51c304c
Module libdl.so.2 with build-id 2b416df8fd62af5dc5e987b11d99a5d0f772b440
Module libmvec.so.1 with build-id 1b5508a5298c324c58e71364ccc609534f836835
Module libpango-1.0.so.0 with build-id a971a5fed3b8b9cf076fe5edb9a9f04ced3da211
Module libpangocairo-1.0.so.0 with build-id 37f75358f8778498bcc26a1658107953d9495255
Module libgdk_pixbuf-2.0.so.0 with build-id b2822dc16bd1470683ce421978ad142c4f3c3f89
Module libcairo-gobject.so.2 with build-id 9927090dddfb180365695a8f37d1cac89463f109
Module libhogweed.so.6 with build-id 5c4a99ad0aabe13bd9b517f92ab339436a2bc1f2
Module libnettle.so.8 with build-id 6a26cbe6819abc8c57668f80ca8c8160fd85e29e
Module libtasn1.so.6 with build-id ee3429ca5e94718aea4fe5249fc859e0cd88e4e9
Module libbrotlienc.so.1 with build-id 74adbc62e4fbb5da9d37b5aa458471f4130862ff
Module libp11-kit.so.0 with build-id cc372ea3c28c4d3dfc633b4d2e933c8584d2af16
Module libsoxr.so.0 with build-id 9e49936ed807c1e52705b88d5d71706fe11d9ed1
Module libvdpau.so.1 with build-id fccd021ff13c37ebf7144d184a3250624e086f52
Module libva-x11.so.2 with build-id 44c297d30ae2aac103e2683fcd8b8745cbac32ec
Module libva-drm.so.2 with build-id 46df330ee9540ccc45748b4b870ea2eef1d7e57a
Module libxvidcore.so.4 with build-id 43bc390a7842a7ca3a0302e93442ea561d7f013a
Module libx265.so.199 with build-id 4fd2d7155725df753c6b32274c442349fc05e632
Module libx264.so.164 with build-id 1ebb8708f2101bd1c95b701142163133e8dac465
Module libtheoradec.so.1 with build-id 19d321fd5455c7b7611ca9602a804b496124e06f
Module libtheoraenc.so.1 with build-id cde750f0621140f313e4ef4e5f212e662f24a38b
Module libSvtAv1Enc.so.1 with build-id d95f643a00090915d6f17c27a84a031c45e819f3
Module libspeex.so.1 with build-id fd7a3d6df98e453f2513c929f26950060ec8ff48
Module librav1e.so.0 with build-id 5f8fc2c271f0d96480ab1c71447e038a66aa1c57
Module libopencore-amrnb.so.0 with build-id 6690c607f7a7480e92f8690974e7e30575428cb1
Module libmp3lame.so.0 with build-id 19eef0793322b522143e4f8e602197f1a22be3f4
Module libgsm.so.1 with build-id 4e1e1890ec2f93119f1a2ecb3312741cbd1ea84c
Module libaom.so.3 with build-id 2b5b58e482957529f8b14aecb5b2acc21362d04d
Module librsvg-2.so.2 with build-id 1cb5dfb747cdb53ba90f504acbe23de518c29ad9
Module libopencore-amrwb.so.0 with build-id 8d1526cc5d013c2638ad4588e7582e3cc7559ff8
Module libdav1d.so.6 with build-id a93560a23a7f1def734a3cf54f09eadd7c3c46e9
Module libvpx.so.7 with build-id accaef32c955264d758e0348e7da476c5979d711
Module libssh.so.4 with build-id 8490056688e60790230f9d990c439b181236e9b6
Module libsrt.so.1.5 with build-id e0257a95fa45af0edf2fe5b684abb7d2c171637d
Module libgnutls.so.30 with build-id 816201e11cc13561e1272b96a1c7cdb97ae59997
Module libgmp.so.10 with build-id 26cec2ebe94cc5c4cb99e6988717347222b324fd
Module libbluray.so.2 with build-id 45acd9f36bdb3438c5cb9cc74da71fee2ab2fee0
Module libmodplug.so.1 with build-id b00dcb12e7d2d5882b4fa414295eba449875dae4
Module libmfx.so.1 with build-id d817dae78e0662e7206a66a41843a66cf0fb0b2f
Module libzimg.so.2 with build-id dd86fc59b96c8ecbb79bd5cc3e9b35832e2807d0
Module libvidstab.so.1.1 with build-id 8f75d19083cbc44f1cfda8fca285a23424dd2b2a
Module libva.so.2 with build-id 007733e91bb051a348ada167806b6c30cd3e4a25
Module libass.so.9 with build-id 733c72b62f5f2cd847b3d7a7d042080eccd96b23
Module libvmaf.so.1 with build-id 835cb1e52c0e6e216daeac24e5416dfb46ad4aa6
Module libfribidi.so.0 with build-id fe9f35ac2a0074108c8306c517793f7279bd9b37
Module libswresample.so.4 with build-id 3d49fdf68f5427d6297ae197ae3258545f3924b9
Module libpostproc.so.56 with build-id d68fb0489a95caa94b4de2644f86e89f796ca2da
Module libswscale.so.6 with build-id d9bba656bc4f0ce0032d9043673c6372762ce7c2
Module libavutil.so.57 with build-id 9f6374a363541c68c80a2a01e1acfe30cdc49371
Module libavcodec.so.59 with build-id 814579fd88c62ec7ddf3fde22cdefcff6a84239c
Module libavformat.so.59 with build-id 433c02c7528ca98208ef775c1ecf932596668362
Module libavfilter.so.8 with build-id f77d824b796be5427db1f8d458d5319cd613c28e
Module libgstlibav.so with build-id 523c5b56ad539a29ca6bfad2f466d9dd737d5ec5
Module libgstcodecparsers-1.0.so.0 with build-id d6fa8cc13cdda4f5314da9330783d6087e19a738
Module libgstvideoparsersbad.so with build-id c6ebacf419a1c700cc49472282b34647b736f14f
Module libgstrtp-1.0.so.0 with build-id 3894cfd57ba4f2a1adbe0cdf340da736eb8e232c
Module libgstriff-1.0.so.0 with build-id 9c5da9d161b04ce50084ae475e03e1dfb2a6abea
Module libgstisomp4.so with build-id e1484d69202a4e192503bcb672a7669c86841a28
Module libblkid.so.1 with build-id fb2c5d3c17aac74758a3eb80a2bc1c16bcf183b1
Module libmount.so.1 with build-id 9064fc3620c42e6f7aed38119f0a3ec39fca9a37
Module libgio-2.0.so.0 with build-id 7a769ec24a9a705d04ee0297730032f70ed0835b
Module libgsttypefindfunctions.so with build-id a45e54c8dde0a29dbf2546c4f08a593c2899ae3d
Module libgstcoreelements.so with build-id 7e55afbd023ae283aef3e35c913f9cbf2dcdb8a0
Module libgsttag-1.0.so.0 with build-id 773f259addfba8706c471a7b27e9a4d9dbe90f11
Module libgstpbutils-1.0.so.0 with build-id 1087154b965ced47b0843e6bb4034ad360f6254f
Module libgstaudio-1.0.so.0 with build-id 3ecedf9bba34a26592f472fb6431b5a91f3305a9
Module libgstplayback.so with build-id 0d76a11d4af983878142ffac0306764f13fca526
Module libwayland-server.so.0 with build-id 4c54fc8a7c0d4eb8adf2a69e44ebf12d16969c74
Module libwayland-client.so.0 with build-id 515c72111400d7bdbfbdfcec78d597e4986a5943
Module libgbm.so.1 with build-id 2241661ad5ff576b6421b34e6a38737a3a5122b3
Module libEGL_mesa.so.0 with build-id b2fb9bd7e5dcd7b04a4d0a95fdc6c0b23671d25c
Module libicudata.so.71 with build-id 4fef196388e678deb881978139e125e20ee2d94d
Module libicuuc.so.71 with build-id 633fdc0c5385d916571f6140e7a978ad0630ef55
Module libxml2.so.2 with build-id 8cdf00fa954d9a27f2f184c4d354cb14677446ac
Module libncursesw.so.6 with build-id b9917757481e6fa6097e2a1f31f5bb5eaf138c4e
Module libedit.so.0 with build-id 4b0babfcad161c2ad0af6e59e2493258db23a331
Module libvulkan.so.1 with build-id dd97393da4f886994c9dfc153b35ea6d906f57ff
Module libdrm_nouveau.so.2 with build-id 78e99e753be2b598acf02a6f30bc6615a6a3067f
Module libdrm_amdgpu.so.1 with build-id e03ead624f04700b1fd00df43863fecfb1ff8b72
Module libdrm_radeon.so.1 with build-id 5c9c31961c5f0dd9b40cb3e134b8d9189ee59fbb
Module libsensors.so.5 with build-id dc8b2c1c0d8525411aca188ea3cc3fb86d381d30
Module libLLVM-14.so with build-id 16d23f3ab6fb7269b2f13a9932a2a7ec4b1d5104
Module iris_dri.so with build-id 247f930d52c9b9e6d6e140462136d983b0b617da
Module libxcb-xfixes.so.0 with build-id e231a68d00ee4cfa12a2c31e755a9e2c1e7be450
Module libxshmfence.so.1 with build-id d9b3ce4edb0b6a0818bcc57dda020d2da5e3c895
Module libxcb-sync.so.1 with build-id 13025f6de23a271636ad321c77eda98801e62e8e
Module libxcb-present.so.0 with build-id 8ed389d9cd6ad7110fbb00c93b32e0efaa71a6b1
Module libxcb-dri3.so.0 with build-id 088c750254cc139e7d62b8a3fc7795a138447ccf
Module libxcb-dri2.so.0 with build-id 7bde0abc84135ae6258a8d1d130864071c2cc327
Module libxcb-glx.so.0 with build-id 71d5b6691f53a235696da49ffa2178d643ecc228
Module libdrm.so.2 with build-id 39847bc84bc769f632f8f599a62fdcc98c9270cd
Module libglapi.so.0 with build-id a5ca7bec18ce3ff85c63b88bd43a7884ea95a1f7
Module libGLX_mesa.so.0 with build-id 6721ac15576bf0a0a4d5a29429915cb88cdf5426
Module libX11-xcb.so.1 with build-id f92352eae0a30aea89d11beb22367fa985288925
Module libXinerama.so.1 with build-id 8198240259261b612189e89c9fcfc902b025b382
Module libXfixes.so.3 with build-id 0a05c7e8714522bfbdd7c0027c3e2a94965664b0
Module libXcursor.so.1 with build-id f0525ae3715ac95f96a8cdb44795b03f831334b0
Module libXrandr.so.2 with build-id 154e55f082ee9e685d0794c98c5b76ffe9c8868e
Module libXi.so.6 with build-id 16603be937a02a7e61b0b0395d064be7efd86f49
Module libXxf86vm.so.1 with build-id b8b37b0c66be0a760a8491e3c86a00c4efdc825d
Module libgomp.so.1 with build-id e1c1ddb2ee2191806fc1cd8d7fe15cd28e2f24a8
Module liblcms2.so.2 with build-id c01e5649a38dbf37768d02dc751b52de0dcbd141
Module libjasper.so.6 with build-id 920c93104c2081399a4d6334e239cc0fa14bc4b2
Module libIlmThread-3_1.so.30 with build-id fb61aaa8abdf748eb68984c0ef25b0ae85a6565f
Module libjpegxr.so.0 with build-id f7adc32a52bc5e991329263d8460fa27c977d3b6
Module libXdmcp.so.6 with build-id d864159ab0008415667db8d5f251696d75c90df2
Module libXau.so.6 with build-id 60db1eac70f819bea9d4c366603c1583067510b4
Module libresolv.so.2 with build-id 5c4d9f10ee9ce5e768e5b910e6b430f352a7aae1
Module libkeyutils.so.1 with build-id ac405ddd17be10ce538da3211415ee50c8f8df79
Module libkrb5support.so.0 with build-id 15f223925ef59dee4379ebbc0fcd14eda9ba81a2
Module libcom_err.so.2 with build-id 3360a28740ffbbd5a5c0c21d09072445908707e5
Module libk5crypto.so.3 with build-id cc77a742cb62447a53d98285b41558b8acd92866
Module libkrb5.so.3 with build-id 371cc767dacb17cb42c9c44b88eebbed5ee9a756
Module libunistring.so.2 with build-id 617dbf3d3d6f85d6556a7a036e23845e95490158
Module libbrotlicommon.so.1 with build-id acfd597a977c8087bb6184383daae2e828a9ce42
Module libgraphite2.so.3 with build-id ce58945ebb55b86d3a4e717b6eae29efc4720d8e
Module libelf.so.1 with build-id 5ba0792747dce7480d031794ed90c620da72dbff
Module liblzma.so.5 with build-id d08f5868cd5adcc6b7c53bf1725aac65bd4539cd
Module libpthread.so.0 with build-id b966d4b239433c89ca36c0938381e2d92cd47639
Module libwebp.so.7 with build-id 96dd01a02a3b0b4dae0d744fc3200fd36f1c2148
Module libwebpmux.so.3 with build-id c987ad73c6cbbfcdb4d632ead20256769852066e
Module libtiff.so.5 with build-id 5f020a8eb30e12c2e4012d0cb50da9480c7b5d34
Module libraw.so.20 with build-id 6140fabd31b4e8f1e8a6a2e6cff9d53a3358e8e6
Module libopenjp2.so.7 with build-id 5fa7037f0c932c285735dbcd42365abe6c3abb05
Module libImath-3_1.so.29 with build-id 4e0c4f23770d7ca42aa5341d270678a4303bf504
Module libIex-3_1.so.30 with build-id 5e8a8f33fa7d4b83185155f19d4604501a86cf62
Module libOpenEXR-3_1.so.30 with build-id 875e7df47bd5ce2de8806bb9fa046061fa43a8ef
Module libjxrglue.so.0 with build-id 330109323ba220c8ed17d87747d03928bf908e04
Module libjpeg.so.8 with build-id 8e6d3f3e8f438912b561c43b6e7f66e6e5e097d0
Module libpcre.so.1 with build-id 845483dd0acba86de9f0313102bebbaf3ce52767
Module libffi.so.8 with build-id f0a9586cf0f42d2b9971bd1065ca3a6b19f4a2c2
Module libpixman-1.so.0 with build-id d2170a3ac106c2a68597bf7910ab04b1cdd69c14
Module libxcb-shm.so.0 with build-id 828fec4d856e2710e732ea8d92c3f250c807b1c2
Module libxcb-render.so.0 with build-id b1ca498d665807ab0ccdafbe8070853efd058173
Module libxcb.so.1 with build-id 13d677412a71468381b11092915d231f664d18d3
Module libXrender.so.1 with build-id 42e386d2acf3cde61081959d9671ca74acfb3edc
Module libXext.so.6 with build-id 17beadf1cb40d41ab36629db3b4eed74110678a7
Module libGLX.so.0 with build-id 1d664a1f03d6c5c9ac997c4b73f3e8a11424cc74
Module libGLdispatch.so.0 with build-id 9901dca23d6ccd49929b5f44c81cd671f1ec6757
Module libEGL.so.1 with build-id d4e8037e21617b4005fd99bf9464b3d3f4c3dd35
Module libzstd.so.1 with build-id ab54c2881f53ab314e134f3e08c76d504376dd5d
Module libgssapi_krb5.so.2 with build-id 292f1ce32161c0ecc4a287bc8494d5d7c420a03f
Module libcrypto.so.1.1 with build-id 7981ea3d69f3c28e46ee312a815af96eab93775c
Module libssl.so.1.1 with build-id e6b1f97a5b60b4248c49dfc5b11f53f281b507d0
Module libpsl.so.5 with build-id 0229a201aaf5652186c9fdc192ebe52baf19d7f1
Module libssh2.so.1 with build-id a4adfe44cc7ebd295b3b783361acc3dcfcea1d50
Module libidn2.so.0 with build-id b16e7570b102789b13ff77289762dbfe3f8f46bc
Module libnghttp2.so.14 with build-id 16f0981d5251b03b11a49236ac403562ee458887
Module ld-linux-x86-64.so.2 with build-id 5492655bffbf172ed8a07f285f760ead38f09404
Module libogg.so.0 with build-id ca0cae30a809f10db1f16e54a23b4e5ff7b2c54c
Module libvorbis.so.0 with build-id f4e086347f6c1a66eb73cfe13974a29bd39aabca
Module libopus.so.0 with build-id 35fafc4024675e9cfe57c7d50c3965eac6bac358
Module libFLAC.so.8 with build-id 3637a78858507a848ee0a48c50902c943e5bc58f
Module libvorbisenc.so.2 with build-id 2b1ce7fcdcc925bc663ebe2c1c008c0dd96e5bd0
Module libbrotlidec.so.1 with build-id 66c54e9301f7e102ecc1d88547e5f0e8a056fe22
Module libharfbuzz.so.0 with build-id 236ab65053439e673a39fcb7aadedb28b17a338a
Module libpng16.so.16 with build-id 2dc0bce07f199bf983c07a05fb95a6f4af83a9b3
Module libbz2.so.1.0 with build-id 919597c477c9b2cb9cdbb7745ed6494ac0e6da60
Module libz.so.1 with build-id fefe3219a96d682ec98fcfb78866b8594298b5a2
Module libexpat.so.1 with build-id 113bb5a3e9ad856801bfcfc029102c9bdc13d67e
Module libdw.so.1 with build-id 35e7f9b41a957c7463f7ef9f977dabda3deae241
Module libunwind.so.8 with build-id e7f3b22127b00d8b14b2560df707cbbeb0134861
Module libgmodule-2.0.so.0 with build-id abd986222e2cf12fc7324cb0182dfc2c8f2269c0
Module liborc-0.4.so.0 with build-id a95fb07ab70adc17bb91684e07695723aac3a4b8
Module libc.so.6 with build-id 7d4293a9bbe1f068ab7ae807c2d9377395eb5b41
Module libgcc_s.so.1 with build-id 308aed8b7d7e38f5efa23f75c25601668c1fc009
Module libm.so.6 with build-id efeea58692a42176201df89f034aa4295a77ce74
Module libstdc++.so.6 with build-id e0dd3ec5b0a62b122b4141c956c0b33a4d719144
Module liburiparser.so.1 with build-id d361ae41e1efe517bbdfb8f158a0eb1cc9f8a8b4
Module libfreeimage.so.3 with build-id ee9bbf8f0edfe8dc1daeebff21443d740223c243
Module libX11.so.6 with build-id 21e886e968772b7964d646f54c1faecc56734de9
Module libmpg123.so.0 with build-id eb49ac569b43a93bae52209307a3275cccf9873c
Module libglib-2.0.so.0 with build-id 1340f3a762b2293ebf6d725edf0eb14839f85317
Module libgobject-2.0.so.0 with build-id a7515bd8cd51064d187953c0f506a43958de31a6
Module libcairo.so.2 with build-id a222d042e56108d2786ece7bf291b56ba2069591
Module libGL.so.1 with build-id a3025d7d2cce51ecb2d47c076bfddefbf7e081f0
Module libGLEW.so.2.2 with build-id 2ca7d8db59f74728e262f623a093af9d040ed3af
Module libglfw.so.3 with build-id e2475c618cd01c9d0f30114d4c3266e883358719
Module libcurl.so.4 with build-id 8e801dde5d7263a70bb78c67350f5762277ab9c1
Module libopenal.so.1 with build-id 1d65d05a177dc2c1b81de25e53b9b04e528655cf
Module libsndfile.so.1 with build-id 407b2376cac1726631e3f7360a9337901be04ec0
Module libfreetype.so.6 with build-id f89dd5502e75aca28fb5c3ccd0dbd26fe822bfef
Module libfontconfig.so.1 with build-id 36be6951b8c1e42a7dd05684a37400fc8ef9147c
Module libgstreamer-1.0.so.0 with build-id 2ee55886823bebf80a7c02e9b4942303eede3c42
Module libgstbase-1.0.so.0 with build-id c4590b02fb88ac12206d4b43be1b2b1b163e7bce
Module libgstvideo-1.0.so.0 with build-id 3c5120be9e6d30ca977a13e4a84dd326e07a4c73
Module libgstapp-1.0.so.0 with build-id c0afda6db73863b4d91dc3293baaa3c9ef659226
Stack trace of thread 142538:
#0 0x000000000000000a n/a (n/a + 0x0)
ELF object binary architecture: AMD x86-64
Thanks @kflak - I still get some crashes with the videoPlayerExample relating to some of the other events. Could you try removing all the code inside the mouse / key functions and just having?:
//--------------------------------------------------------------
void ofApp::setup(){
setenv("GST_DEBUG", "3", 1);
fingerMovie.loadMovie("movies/fingers.mov");
fingerMovie.play();
}
//--------------------------------------------------------------
void ofApp::update(){
fingerMovie.update();
}
//--------------------------------------------------------------
void ofApp::draw(){
fingerMovie.draw(0,0);
}
Great @ofTheo, your PR makes video playback work on my Debian 11 Testing machine!!! Many thanks for your effort and perseverance! :)
Is it easy to make the videograbber work too? because it seg faults.
@StaffanMelin - regarding the grabber, I haven't been able to test that on my main dev machine ( macOS ), but I did see that we are using something that is mentioned in the release notes about not looking up names assuming "source".
It might be interesting to check the results of this line with some cout - if it ends up being NULL then that could be the issue.
Thanks @ofTheo!
src is not a null pointer at line 569 when running the videoGrabber example.
@ofTheo, unfortunaltely on my machine your patch did't work as well. I applied the patch from your commit, tested videoGrabberExample and videoPlayerExample.
Ubuntu Studio 22.04.1 LTS https://github.com/ofTheo/openFrameworks/commit/2bc26e66e452deebcf2e06d9ebace568d0ba486a.patch The openFramework i used is freshly pulled (master)
Okay new patch! 🙂 PR: #7050 This works for me on macOS and Ubuntu 22 with GStreamer 1.20.3
The only changes needed are in GSUtils.cpp in the PR, everything else should be as in the nightly builds ( ie: make sure "playbin" is set in ofGSTVideoPlayer )
cc @StaffanMelin @f00b455 @kflak @edovino @nlavella09
This patch doesn't work for me: if I apply this to master no video plays (but no crashes either). The log says this:
[ error ] ofGstUtils: startPipeline(): unable to pause pipeline after 5s
[ error ] ofGstUtils:
gstHandleMessage(): embedded video playback halted for plugin, module qtdemux0 reported: Internal data stream error.
[ error ] ofPixels: format doesn't support channels
(the NULL caps msg is repeated a couple of times)
However, if I change playbin
to playbin3
(L118 ofGstVideoPlayer), the video plays, and moving the mouse changes the forward playback speed as expected.
This msg is logged repeatedly:
videoPlayerExample_debug:114526): GStreamer-CRITICAL **: 22:37:46.319: gst_sample_set_caps: assertion 'gst_sample_is_writable (sample)' failed
Speed changes work only forward, though. Backwards seems to cause skipping, and frame-by-frame only jumps to the beginning/end of the video.
The videoGrabberExample also works with this PR, with or without the playbin/playbin3 change. (on Fedora 36/GStreamer 1.20.3
Thanks @edovino!
Can you try replacing the ofGstUtils.cpp
file with the patched file instead of copy pasting the difference ( if you didn't already )? The pause pipeline error I think was fixed earlier by moving all the callback stuff to after the pausing code.
Basically setting up the callbacks at this line: https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofGstUtils.cpp#L319
If you are using the exact file from the PR - that is really strange. Could you maybe try the openCvExample ( as maybe it is codec/video dependent? ) openCvExample uses a different video.
On Ubuntu 22 with 1.20.3 the videoPlayerExample functions identically to macOS with setSpeed / fame-by-frame all working for me.
The videoGrabberExample also works with this PR, with or without the playbin/playbin3 change. (on Fedora 36/GStreamer 1.20.3
That's great news as that was next on my list! 🙂👍
Also @edovino
and frame-by-frame only jumps to the beginning/end of the video.
I just checked and we seem to have that issue with the current player and earlier ( working ) gstreamer versions. So def to be solved but unrelated to all the 1.20.3 headaches :)
Great work @ofTheo ! we can investigate this frame by frame if it is directly related to gstreamer or ofVideoPlayer itself.
@edovino About speed changes backwards it will almost all videos and players. the specific codec photojpeg can help in this matter, or encoding a video with keyframes for every frame. Videos are encoded usually with one keyframe per second, so for decoding of the previous frame the player have to decode between up to 30 previous frames to "mount" the jigsaw puzzle of the image :)
Wonderful @ofTheo!
This makes both the videoPlayerExample and the videoGrabberExample work on my Debian 11 Testing!
Many thanks for all your hard work!
Great work @ofTheo ! we can investigate this frame by frame if it is directly related to gstreamer or ofVideoPlayer itself.
@edovino About speed changes backwards it will almost all videos and players. the specific codec photojpeg can help in this matter, or encoding a video with keyframes for every frame. Videos are encoded usually with one keyframe per second, so for decoding of the previous frame the player have to decode between up to 30 previous frames to "mount" the jigsaw puzzle of the image :)
That totally makes sense. I couldn't remember if it used to work. It's been a while :)
Also @edovino
and frame-by-frame only jumps to the beginning/end of the video.
I just checked and we seem to have that issue with the current player and earlier ( working ) gstreamer versions. So def to be solved but unrelated to all the 1.20.3 headaches :)
Ah, right - lower priority, definitely :)
Can you try replacing the
ofGstUtils.cpp
file with the patched file instead of copy pasting the difference ( if you didn't already )? The pause pipeline error I think was fixed earlier by moving all the callback stuff to after the pausing code.
I created a fresh branch from master based on the pull request, so I'm pretty sure I got the right version then. But just to be sure I replaced the entire ofGstUtils.cpp file on a clean master branch, and same effect :-/
If you are using the exact file from the PR - that is really strange. Could you maybe try the openCvExample ( as maybe it is codec/video dependent? ) openCvExample uses a different video.
Again the same effect: app runs without crashing, but video doesn't play. If I replace 'playbin' with 'playbin3' the video plays, and the app runs as expected. When the video loops I get this:
(opencvExample:130590): GStreamer-CRITICAL **: 09:27:20.146: gst_sample_set_caps: assertion 'gst_sample_is_writable (sample)' failed
but that doesn't seem to affect anything.
On Ubuntu 22 with 1.20.3 the videoPlayerExample functions identically to macOS with setSpeed / fame-by-frame all working for me.
Maybe it's a discrete graphics/integrated graphics thing. I'll check later tonight on my other laptop (this one has Intel Iris XE, the other one Nvidia somethingsomething)
Thanks for all the debugging sofar! Planning to use the video/OpenCV stuff in my lessons in a couple of weeks ;)
Thanks @edovino !
It may well be an integrated vs discrete graphics card issue ( but that would suck! 🙂 ).
Two things to check:
1) Could you add a cout to this line: https://github.com/openframeworks/openFrameworks/blob/c608e7354749aef65ddd9ed140204d42b3a85ba5/libs/openFrameworks/video/ofGstUtils.cpp#L316
ie: std::cout << " Sanity check - using signals instead of callbacks << std::endl;
2) Clean the example and remove everything from: openFrameworks/libs/openFrameworksCompiled/lib/linux64/
. Then rebuild.
Then make sure you see that cout in your console output.
Thanks! Theo
No console output appears - seems the code at L136 is never executed when running the videoPlayerExample? The cout does appear when I run the videoGrabberExample. (Just to be certain I added GST_VERSION_MAJOR/GST_VERSION_MINOR
in a dbg msg at the top of the startPipeline()
method - in both cases that does show up: 1 and 20 respectively, so it's using the right versions)
btw - running this on a laptop with (discrete) NVidia graphics produces identical results... I need to switch to playbin3
in order for the videoPlayerExample to work...
Thanks @edovino - I think this maybe a bug with 1.20.0 / 1.20.1 GStreamer versions, someone else on the forum noticed similar results and is going to try 1.20.3 ( via Fedora 36 )
If that fixes it for them I might add a detection in the PR to use playbin3 just for the 1.20.0 and 1.20.1 patch versions.
I think the reason you aren't seeing the print out is the pause pipeline fails above it as you mentioned and that returns the function so it never reaches the callback section.
@edovino I update the PR #7050 with the 1.20.0 - 1.20.2 detection for the playbin
Maybe I'm misunderstanding something - I am already running F36, and GStreamer 1.20.3: and if I don't use playbin3, I get no video image. Apologies if I'm confusing things even more :grimacing:
just tried the updated PR,and for me it behaves the same: i.e. needs playbin3 (on F36, and using GStreamer 1.20.3)
(btw - two small typo's in the PR: GST_VERSION_MINOR should be 20, not 2, and the ofLogVerbose() is missing a closing quote & semicolon) Sorry for being a pest - appreciate all the work!
@edovino well that def sends me back to the drawing board 🙃
Sorry for being a pest - appreciate all the work!
No worries at all this is all really helpful! Thanks so much for helping test and narrow this down.
Good to know its not a 1.20.0 / 1.20.1 issue. And more of a Fedora one.
Could you maybe try with playbin
after doing:
sudo ./scripts/linux/fedora/install_codecs.sh
( this is relative to the OF root )
I wonder if missing the codecs is part of the issue?
If that doesn't resolve it I guess I'm installing Fedora on my Win/Ubuntu/Mint system 😆
One other thing you can do to get more info is put this at the top of ofApp::setup
setenv("GST_DEBUG", "3", 1);
sudo ./scripts/linux/fedora/install_codecs.sh
( this is relative to the OF root ) I wonder if missing the codecs is part of the issue?
Everything seems to be complete - I compared the install_codecs.sh scripts from a couple of different linux distros (just to rule out if Fedora had magically repackaged some stuff), but nothing jumped out. (If anything, the Fedora scripts install an extra package: ffmpeg & gstreamer-ffmpeg)
If that doesn't resolve it I guess I'm installing Fedora on my Win/Ubuntu/Mint system laughing
Wot, it's only triple-boot right now? :grin: I'll try Ubuntu as well & see what happens on my laptop.
I've attached two logs: one using playbin (without video), and one using playbin3 (with video) playbin.log.gz playbin3.log.gz (I'm afraid I know next to nothing about GStreamer)
Thanks @edovino - that is helpful.
This line in the log points to the issue: could not transform video/x-raw(memory:VASurface), format=(string)NV12...
Basically the vaapipostproc
isn't able to go from the GPU VASurface in NV12 format to our requested: x-raw RGB
format. ( I think RGBx might work instead, but that would require more core changes as it would result in 4 channels ).
On my laptop it uses the same NV12 but can decode to RGB - so it doesn't seem to be an issue with the format, but I think the decoder is not connecting or inserting the convertors needed. I guess playbin3 which uses decodebin3 is doing that conversion in your case.
I think for now I updated the PR to use playbin3 as that seems to work for all platforms.
I'll try and get F36 installed next week and see if I can narrow it down further, but will merge the PR in the meantime so at least the nightly builds work for Linux users.
Thanks for all the help!!
@edovino copying from the forum:
I just installed Fedora 36 and got similar warnings.
But one I got was:
module uridecodebin0 reported: Your GStreamer installation is missing a plug-in
So I looked into it and it seems that not all the gstreamer plugins are getting installed in Fedora.
To fix that I installed the equivalent of Ubuntu restricted via: Configuration - RPM Fusion
And then once it was installed ( via software manager ). I ran:
sudo dnf install @multimedia
and it installed the codecs the video needed.
Doing this makes the videoPlayerExample work without playbin3.
Def some extra steps, but curious if that works for you too?
Hmm - what packages does sudo dnf install @multimedia
install for you? I already had RPMFusion enabled (it's part of the install_codecs.sh
script for Fedora).
I ask because the install command doesn't add anything on my system.
@edovino huh - weird. Someone on the forum said the same thing.
For me I did:
dnf update
as I was having a freeimage linker error which that fixed. GStreamer installation is missing a plug-in
so did the steps in the last comment. I can't remember exactly what it installed but it did add an H264 package that wasn't installed.
Anyway, good to know that was unrelated to the issues you were having.
I left playbin3
in the PR ( which seems to work for everyone ) and its now merged, so I think the nightly builds are now hopefully fixed for Linux / 1.20.3.
Thanks again for testing this all!
The videoGrabberExample seems to work on my ubuntu studio 22.04.1 LTS. But the videoPlayerExample still seems to have issues.
When i press "f" to stop and use the arrow keys, the example freezes with following output:
[ error ] ofGstUtils: gstHandleMessage(): embedded video playback halted for plugin, module vaapidecode0 reported: No valid frames decoded before end of stream [warning] ofGstUtils: getDurationNanos(): couldn't query time duration [warning] ofGstUtils: getDurationNanos(): couldn't query time duration [warning] ofGstUtils: getDurationNanos(): couldn't query time duration [warning] ofGstUtils: getDurationNanos(): couldn't query time duration
on:
commit bd4042344dc9670770754374607d2ca8190f9476 (HEAD -> master, origin/master, origin/HEAD) Author: Theodore Watson theo@openframeworks.cc Date: Mon Aug 29 10:44:49 2022 -0700
WIP: Fixes for gstreamer 1.20 broken video playback. closes #6871 (#7050)
#changelog #linux
On start following messages:
➜ videoPlayerExample git:(master) ✗ make RunRelease [notice ] ofGstUtils: Got context from element 'vaapipostproc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"(GstGLDisplayWayland)\ gldisplaywayland0";
[notice ] ofGstUtils: Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"(GstVaapiDisplayEGL)\ vaapidisplayegl0", gst.vaapi.Display.GObject=(GstObject)"(GstVaapiDisplayEGL)\ vaapidisplayegl0";
Thanks @f00b455 for checking!
Just to note the current 0.11.2 with earlier GStreamer versions don't really work for frame by frame advancing either. On Linux Mint and GStreamer 1.18 I can go one frame forward, but then it doesn't advance further.
I don't get the error message you do, but it still doesn't work and I think we could open some issues to address this.
@edovino huh - weird. Someone on the forum said the same thing.
- a clean install of F36
What desktop did you install? I'm now wondering if this could be a Wayland vs Xorg issue. I'm going to experiment a bit more. Anyway, thanks for this fix!
I am getting exactly the same behavior on sway (wayland) and i3 (xorg). The player works (YEEAAAAH!), but I get this message when moving the mouse over the app window:
(videoPlayerExample:122253): GStreamer-CRITICAL **: 17:28:27.688: gst_sample_set_caps: assertion 'gst_sample_is_writable (sample)' failed
After pressing f
and arrow key, I am able to advance one frame. Pressing f
again restarts the playback, with the accompanying error code.
-- Roosna & Flak - Contemporary Dance & Music Web: roosnaflak.com Code: {github,gitlab}.com/kflak Mastodon: @@.*** On 31 Aug 2022 23:54, Edwin van Ouwerkerk Moria wrote:
@edovino huh - weird. Someone on the forum said the same thing.
- a clean install of F36
What desktop did you install? I'm now wondering if this could be a Wayland vs Xorg issue. I'm going to experiment a bit more. Anyway, thanks for this fix!
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.*Message ID: <openframeworks/ @.***>
Oh, and forgot to mention this is on Arch...
@kflak - I see those same errors messages on Ubuntu 22 and macOS. At least its consistent -🙂
I think both of these will be addressable with some tweaks to the seeking code. I opened an issue for it #7063
Thanks @ofTheo for the updates on this! I am getting few issues after changing playbin
to playbin3
. But it gives segmentation fault.
[notice ] ofGstUtils: Got context from element 'vaapipostproc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
[notice ] ofGstUtils: Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx0", gst.vaapi.Display.GObject=(GstObject)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx0";
Segmentation fault (core dumped)
If I don't change it to playbin3
in ofGstVideoPlayer.cpp
, I am getting this exact same error. I am on Jammy Jellyfish version.
Also, same case with webcam
@dnabanita7 - I just sent a reply on the forum, but the playbin3
change alone isn't everything needed.
If you try the nightly builds at the bottom of the download page it should work now - the relevant PR is #7050 ( with most of the changes in ofGSTUtils.cpp ) if you wanted to update both the files from there.
Hope that works for you!
Thank you! It works perfectly fine for me
On Mon, Sep 5, 2022 at 9:32 PM Theodore Watson @.***> wrote:
@dnabanita7 https://github.com/dnabanita7 - I just sent a reply on the forum, but the playbin3 change alone isn't everything needed. If you try the nightly builds at the bottom of the download page https://openframeworks.cc/download/ it should work now - the relevant PR is #7050 https://github.com/openframeworks/openFrameworks/pull/7050 ( with most of the changes in ofGSTUtils.cpp ) if you wanted to update both the files from there.
Hope that works for you!
— Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/6871#issuecomment-1237252529, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHQZX566Z5YEKZ35AJHDHPDV4YKTDANCNFSM5OA6R2ZA . You are receiving this because you were mentioned.Message ID: @.***>
-- nabanita
Although, webcam works fine. The video is not played. I get an error
[ error ] ofGstUtils: startPipeline(): unable to pause pipeline
and it is not loading up the GstVideoUtils.cpp file.
Hi! Can you share more details?
Do you have issues with the examples/video/videoPlayerExample or examples/computer_vision/openCVExample ? ( in the night download )
And did you run install_codecs.sh in the scripts/Linux/Ubuntu folder?
Unfortunately the gstreamer bogey is back in town, at least on my system. The videoGrabber example works fine, but with the videoPlayer I am getting
[ error ] ofGstUtils: startPipeline(): unable to pause pipeline after 5s
[ error ] ofGstUtils: gstHandleMessage(): embedded video playback halted for plugin, module parsebin0 reported: Your GStreamer installation is missing a plug-in.
[warning] ofGstVideoUtils: update(): ofGstVideoUtils not loaded
[ error ] ofPixels: format doesn't support channels
[warning] ofGstUtils: getDurationNanos(): couldn't query time duration
[warning] ofGstUtils: getDurationNanos(): couldn't query time duration
[warning] ofGstUtils: setSpeed(): unable to change speed
So the big question is which plugin I am missing here... I have run the install_dependencies script in the archlinux script folder, and I verified that all gst-plugins exist on my system.
The openCV example gives me the same error.
Additional information: I created a very minimal video playback app, and the sound from the video is played back just fine.
void ofApp::setup(){
video.load( "/home/kf/Videos/SingularityTrailers/SingularityTurningTrailer.mp4");
video.play();
}
void ofApp::update(){
video.update();
}
//--------------------------------------------------------------
void ofApp::draw(){
video.draw(0, 0, 1920, 1080);
}
This gives me the following error:
[ error ] ofGstVideoPlayer: allocate(): cannot get pipeline caps
It still works on my Debian 11 Testing, just updated, using the latest nightly of oF.
libgstreamer is now 1.20-3.
I also have libgstreamer-opencv1.0-0 libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-0 libgstreamer-plugins-base1.0-dev all version 1.20.3
Hi,
I just updated my system, and it seems gstreamer breaks any video playback. Getting this when running the videoPlayer example:
Needless to say, this is a HUGE bug. Please, please, please wait with upgrading gstreamer until this is fixed.
Running this on Arch Linux, oF version 0.11.2. Tested on xorg (bspwm) and wayland (sway).
EDIT: tested now with the latest nightly build, of_v20220210_linux64gcc6_nightly, and getting the same result.