Zabrimus / vdr-osr-browser

CEF (chrome embedded framework) OSR (offscreen browser) für VDR
GNU General Public License v2.0
10 stars 2 forks source link

develop branch video #1

Open 9000h opened 4 years ago

9000h commented 4 years ago

I did a bit play around to follow the progress of the code, very impressive!

Javascript called me: VIDEO_URL:http://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_2ES/_-ZS/_Axc9-kp571S/17425caf-fbe5-47a3-8a1b-94a300e437a6_X.mp4
Video URL: http://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_2ES/_-ZS/_Axc9-kp571S/17425caf-fbe5-47a3-8a1b-94a300e437a6_X.mp4
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'http://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_2ES/_-ZS/_Axc9-kp571S/17425caf-fbe5-47a3-8a1b-94a300e437a6_X.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.45.100
  Duration: 00:44:04.00, start: 0.000000, bitrate: 3668 kb/s
    Stream #1:0(deu): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #1:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 3470 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
[libx264 @ 0x2e3277fd0900] using SAR=1/1
[libx264 @ 0x2e3277fd0900] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x2e3277fd0900] profile High, level 3.1
[mpegts @ 0x2e3278139e00] H.264 bitstream malformed, no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it ('-bsf:v h264_mp4toannexb' option with ffmpeg)
LOG: Error -1094995529 while receiving packet from decoder: Invalid data found when processing input
Javascript called me: ERROR_VIDEO
[0403/190253.146744:INFO:CONSOLE(28468)] "Failed to load because no supported source was found.", source: client://js/hbbtv_polyfill.js (28468)
Javascript called me: PAUSE_VIDEO
Video streaming paused
ON LOAD START
ON LOAD END mode=2, injectJavascript=ja
Inject javascript
Zabrimus commented 4 years ago

Which version of ffmpeg are you using? The documentation says:

Please note that this filter is auto-inserted for MPEG-TS (muxer mpegts) and raw H.264 (muxer h264) output formats.

This works at least with ffpmeg 4.1.4. I assume i have to prevent bitstream filtering with recent ffmpeg versions.

Unfortunately a (non-yet important) realtime filter parameter (speed) exists at least with ffmpeg version 4.2. It is not yet be used, but if i'm able to implement all my ideas, this version will be interessting.

9000h commented 4 years ago

the version is "ffmpeg version 4.1.3-0ubuntu1"

Zabrimus commented 4 years ago

I'm able to reproduce the error while using exactly your http url. This has nothing to do with FFmpeg, because FFmpeg has implemented an autousing of the bitstream filter if necessary. But with exactly your stream it is not working as desired.

The FFmpeg developers says, that there must be something wrong with the decoded frames and if FFmpeg decodes the stream then FFmpeg is doing everything right and it will works. But in the application only FFmpeg is decoding/encoding the stream. Hmmm.... I hope i can find a solution for this.

At least i have a stream available which throws the error.

There exists a fast test executable in the Release folder: transcodetest. Parameters are "inpu" and "output". So there is no need to use the whole application to test stream decode/encode ;)

Zabrimus commented 4 years ago

After several hours/days of investigation the cause has been identified. The dts/pts values in the stream are a little bit strange. They jump into the past (also into a negative range) and back. But unfortunately i was not able to implement something useful to fix this problem. FFmpeg itself seems to do the same but i was not able to adapt this fix. Either the video mux or the audio mux fails at some time and breaks the transcoding. It seems i have had only luck with my test streams which do not have these symptoms.

I have an hackish/creative idea for a solution and i will try to implement it. Keep calm :)

Zabrimus commented 4 years ago

The lastest develop (both plugin and browser) version fixes many bugs, trancoding is handled better and the version seems to be much more stable. Could you please do a retest to check if everything works as expected?

9000h commented 4 years ago

will try, but on compile I got this error

make all

mkdir -p Release
cd Release && \
echo "resourcepath = /usr/share/cef/Resources" > vdr-osr-browser.config && \
echo "localespath = /usr/share/cef/Resources/locales" >> vdr-osr-browser.config
mkdir -p Release/movie
cp -r movie/* Release/movie/
mkdir -p thirdparty/spdlog/build
cd thirdparty/spdlog/build && cmake -DCMAKE_INSTALL_PREFIX=../buildbin ..
CMake Error: The source directory "/home/bernd/vdr/vdr/PLUGINS/src/vdr-osr-browser/thirdparty/spdlog" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** [Makefile:147: buildspdlog] Error 1
9000h commented 4 years ago

av_interleaved_write_frame(): Broken pipe Error writing trailer of ffmpeg_putput.ts: Broken pipe

not sure what I'm doing wrong

[2020-04-26 16:13:00.992] [vdrosrbrowser] [info] In Main, argc=5, Parameter:
[2020-04-26 16:13:00.993] [vdrosrbrowser] [info]    ./vdrosrbrowser
[2020-04-26 16:13:00.993] [vdrosrbrowser] [info]    --debug
[2020-04-26 16:13:00.993] [vdrosrbrowser] [info]    --autoplay
[2020-04-26 16:13:00.993] [vdrosrbrowser] [info]    --remote-debugging-port=9222
[2020-04-26 16:13:00.993] [vdrosrbrowser] [info]    --user-data-dir=remote-profile
[2020-04-26 16:13:01.086] [vdrosrbrowser] [info] In Main, argc=7, Parameter:
[2020-04-26 16:13:01.087] [vdrosrbrowser] [info]    /opt/vdr-osr-browser/vdrosrbrowser
[2020-04-26 16:13:01.087] [vdrosrbrowser] [info]    --type=zygote
[2020-04-26 16:13:01.087] [vdrosrbrowser] [info]    --no-sandbox
[2020-04-26 16:13:01.087] [vdrosrbrowser] [info]    --locales-dir-path=/usr/share/cef/Resources/locales
[2020-04-26 16:13:01.087] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-04-26 16:13:01.087] [vdrosrbrowser] [info]    --resources-dir-path=/usr/share/cef/Resources
[2020-04-26 16:13:01.087] [vdrosrbrowser] [info]    --lang=en-US

DevTools listening on ws://127.0.0.1:9222/devtools/browser/cb82e428-ef4d-4afe-ba46-e1fb6a960dcb
[2020-04-26 16:13:01.284] [vdrosrbrowser] [info] In Main, argc=11, Parameter:
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    /proc/self/exe
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --type=gpu-process
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --field-trial-handle=14678598542419355593,9664933197094094451,131072
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --no-sandbox
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --locales-dir-path=/usr/share/cef/Resources/locales
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --resources-dir-path=/usr/share/cef/Resources
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --lang=en-US
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --gpu-preferences=KAAAAAAAAAAgAAAgAAAAAAAAYAAAAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAA
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-04-26 16:13:01.285] [vdrosrbrowser] [info]    --shared-files
[2020-04-26 16:13:01.301] [vdrosrbrowser] [info] In Main, argc=12, Parameter:
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    /proc/self/exe
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --type=utility
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --field-trial-handle=14678598542419355593,9664933197094094451,131072
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --lang=en-US
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --service-sandbox-type=network
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --no-sandbox
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --locales-dir-path=/usr/share/cef/Resources/locales
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --resources-dir-path=/usr/share/cef/Resources
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --lang=en-US
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-04-26 16:13:01.302] [vdrosrbrowser] [info]    --shared-files=v8_snapshot_data:100
[0426/161301.468834:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
URL: http://hbbtv.zdf.de/zdfm3/index.php
[2020-04-26 16:14:45.016] [vdrosrbrowser] [debug] ReadContentType http://hbbtv.zdf.de/zdfm3/index.php
[2020-04-26 16:14:45.116] [vdrosrbrowser] [debug] PROCESS REQUEST http://hbbtv.zdf.de/zdfm3/index.php
[2020-04-26 16:14:45.116] [vdrosrbrowser] [debug] LoadUrl http://hbbtv.zdf.de/zdfm3/index.php
[0426/161446.151152:INFO:CONSOLE(29256)] "hbbtv-polyfill: keyEventInit", source: client://js/hbbtv_polyfill.js (29256)
[0426/161446.153273:INFO:CONSOLE(29460)] "hbbtv-polyfill: Create video to oipf object mapper.", source: client://js/hbbtv_polyfill.js (29460)
[0426/161446.155433:INFO:CONSOLE(29477)] "hbbtv-polyfill: BROADCAST VIDEO PLAYER ... ADDED", source: client://js/hbbtv_polyfill.js (29477)
[2020-04-26 16:14:46.678] [vdrosrbrowser] [debug] ReadContentType http://logc407.xiti.com/hit.xiti?s=573469&ts=1587910486355&vtag=5.6.1&ptag=js&r=1920x1080x0x0&re=1920x1080&hl=16x14x46&lng=en-US&idp=1614457504830&jv=0&p=ZDFmediathek_Startseite::page-home::9f136db6-6e10-4909-a7d1-7f9079b3b41a::ZDFmediathek_Startseite&s2=ZDFmediathek_Startseite&stc=%7B%22domain%22%3A%22zdf%22%2C%22level1%22%3A%22ctvzdf%22%2C%22level2%22%3A%22ZDFmediathek_Startseite%22%2C%22chapter1%22%3A%22ZDFmediathek_Startseite%22%2C%22broadcast%22%3A%22ZDF%22%2C%22id%22%3A%22zdf-hbbtv-startseite-100%22%2C%22inhaltsTyp%22%3A%22page-home%22%2C%22chapter4%22%3A%22%22%7D&ref=
[2020-04-26 16:14:47.190] [vdrosrbrowser] [debug] ReadContentType https://de.ioam.de/tx.io?st=ctvzdf&cp=ZDFmediathek_Startseite&co=&sv=ke&pt=CP&ps=lin&er=N22&rf=&r2=&ur=hbbtv.zdf.de&xy=1920x1080x0&lo=DE%2FBayern&cb=0015&i2=0015c3e5e7ef072525ea59755&ep=1617220315&vr=416&id=jnlrgz&i3=nocookie&n1=1&dntt=0&lt=1587910486365&ev=&cs=utv78b&mo=0
[2020-04-26 16:14:47.446] [vdrosrbrowser] [debug] ReadContentType https://logc407.xiti.com/hit.xiti?fh=1&s=573469&ts=1587910486355&vtag=5.6.1&ptag=js&r=1920x1080x0x0&re=1920x1080&hl=16x14x46&lng=en-US&idp=1614457504830&jv=0&p=ZDFmediathek_Startseite::page-home::9f136db6-6e10-4909-a7d1-7f9079b3b41a::ZDFmediathek_Startseite&s2=ZDFmediathek_Startseite&stc=%7B%22domain%22%3A%22zdf%22%2C%22level1%22%3A%22ctvzdf%22%2C%22level2%22%3A%22ZDFmediathek_Startseite%22%2C%22chapter1%22%3A%22ZDFmediathek_Startseite%22%2C%22broadcast%22%3A%22ZDF%22%2C%22id%22%3A%22zdf-hbbtv-startseite-100%22%2C%22inhaltsTyp%22%3A%22page-home%22%2C%22chapter4%22%3A%22%22%7D&ref=
[0426/161447.801718:INFO:CONSOLE(0)] "A cookie associated with a cross-site resource at http://ioam.de/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.", source: http://hbbtv.zdf.de/zdfm3/index.php (0)
[2020-04-26 16:14:47.802] [vdrosrbrowser] [debug] ReadContentType https://de.ioam.de/tx.io?st=ctvzdf&cp=ZDFmediathek_Startseite&co=&sv=ke&pt=CP&ps=lin&er=N22&rf=&r2=&ur=hbbtv.zdf.de&xy=1920x1080x0&lo=DE%2FBayern&cb=0015&i2=0015c3e5e7ef072525ea59755&ep=1617220315&vr=416&id=jnlrgz&i3=nocookie&n1=1&dntt=0&lt=1587910486365&ev=&cs=utv78b&mo=0&sr=71
[0426/161448.066040:INFO:CONSOLE(0)] "A cookie associated with a cross-site resource at http://xiti.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.", source: http://hbbtv.zdf.de/zdfm3/index.php (0)
[0426/161448.066202:INFO:CONSOLE(0)] "A cookie associated with a cross-site resource at https://xiti.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.", source: http://hbbtv.zdf.de/zdfm3/index.php (0)
[2020-04-26 16:14:48.066] [vdrosrbrowser] [debug] ReadContentType https://logc407.xiti.com/hit.xiti?fh=1&s=573469&ts=1587910486355&vtag=5.6.1&ptag=js&r=1920x1080x0x0&re=1920x1080&hl=16x14x46&lng=en-US&idp=1614457504830&jv=0&p=ZDFmediathek_Startseite::page-home::9f136db6-6e10-4909-a7d1-7f9079b3b41a::ZDFmediathek_Startseite&s2=ZDFmediathek_Startseite&stc=%7B%22domain%22%3A%22zdf%22%2C%22level1%22%3A%22ctvzdf%22%2C%22level2%22%3A%22ZDFmediathek_Startseite%22%2C%22chapter1%22%3A%22ZDFmediathek_Startseite%22%2C%22broadcast%22%3A%22ZDF%22%2C%22id%22%3A%22zdf-hbbtv-startseite-100%22%2C%22inhaltsTyp%22%3A%22page-home%22%2C%22chapter4%22%3A%22%22%7D&ref=&Rdt=On
[0426/161448.370125:INFO:CONSOLE(29332)] "hbbtv-polyfill: browser keydown 40 internal true", source: client://js/hbbtv_polyfill.js (29332)
[0426/161449.375903:INFO:CONSOLE(29332)] "hbbtv-polyfill: browser keydown 40 internal true", source: client://js/hbbtv_polyfill.js (29332)
[0426/161450.776824:INFO:CONSOLE(29332)] "hbbtv-polyfill: browser keydown 13 internal true", source: client://js/hbbtv_polyfill.js (29332)
[2020-04-26 16:14:50.782] [vdrosrbrowser] [debug] ReadContentType http://logc407.xiti.com/hit.xiti?s=573469&ts=1587910490779&vtag=5.6.1&ptag=js&r=1920x1080x0x0&re=1920x1080&hl=16x14x50&lng=en-US&p=ZDFmediathek_Startseite::ClusterTeaser::Click:Cluster:ZDFheute%20Nachrichten%20&%20Aktuelles|Pos:1|Type:x-vertical|Teaser:Nachrichten%7Cheute%7Cheute%20Xpress::&s2=ZDFmediathek_Startseite&click=N&pclick=ZDFmediathek_Startseite::page-home::9f136db6-6e10-4909-a7d1-7f9079b3b41a::ZDFmediathek_Startseite&s2click=ZDFmediathek_Startseite
[2020-04-26 16:14:50.941] [vdrosrbrowser] [debug] ReadContentType https://logc407.xiti.com/hit.xiti?s=573469&ts=1587910490779&vtag=5.6.1&ptag=js&r=1920x1080x0x0&re=1920x1080&hl=16x14x50&lng=en-US&p=ZDFmediathek_Startseite::ClusterTeaser::Click:Cluster:ZDFheute%20Nachrichten%20&%20Aktuelles|Pos:1|Type:x-vertical|Teaser:Nachrichten%7Cheute%7Cheute%20Xpress::&s2=ZDFmediathek_Startseite&click=N&pclick=ZDFmediathek_Startseite::page-home::9f136db6-6e10-4909-a7d1-7f9079b3b41a::ZDFmediathek_Startseite&s2click=ZDFmediathek_Startseite
[0426/161451.247075:INFO:CONSOLE(29517)] "hbbtv-polyfill: BroadcastVideo release() ...2", source: client://js/hbbtv_polyfill.js (29517)
[2020-04-26 16:14:51.271] [vdrosrbrowser] [debug] Javascript called me: VIDEO_URL:http://tvdl.zdf.de/none/zdf/20/04/200426_1514_hko/2/200426_1514_hko_3360k_p36v15.mp4
[2020-04-26 16:14:51.271] [vdrosrbrowser] [debug] Video URL: http://tvdl.zdf.de/none/zdf/20/04/200426_1514_hko/2/200426_1514_hko_3360k_p36v15.mp4
Send string  1 PLAY_VIDEO:
[2020-04-26 16:14:51.271] [vdrosrbrowser] [debug] Set Input video http://tvdl.zdf.de/none/zdf/20/04/200426_1514_hko/2/200426_1514_hko_3360k_p36v15.mp4
http://tvdl.zdf.de/none/zdf/20/04/200426_1514_hko/2/200426_1514_hko_3360k_p36v15.mp4: End of file
Unable to determine duration. ffprobe failed.
[0426/161452.222449:INFO:CONSOLE(28459)] "Im Mapping, Play, speed = 1", source: client://js/hbbtv_polyfill.js (28459)
[2020-04-26 16:14:52.222] [vdrosrbrowser] [debug] Javascript called me: RESUME_VIDEO
[2020-04-26 16:14:52.222] [vdrosrbrowser] [debug] Video streaming resume
[2020-04-26 16:14:52.222] [vdrosrbrowser] [debug] Resume video
[2020-04-26 16:14:52.353] [vdrosrbrowser] [debug] ReadContentType http://logc407.xiti.com/hit.xiti?s=573469&ts=1587910490964&vtag=5.6.1&ptag=js&r=1920x1080x0x0&re=1920x1080&hl=16x14x50&lng=en-US&type=video&plyr=0&p=Nachrichten::heute::episode::heute::heute_Xpress&a=play&s2=15&m1=307&m5=int&m6=clip&buf=0&prich=ZDFmediathek_Startseite::page-home::9f136db6-6e10-4909-a7d1-7f9079b3b41a::ZDFmediathek_Startseite&s2rich=ZDFmediathek_Startseite&clnk=&m9=
[2020-04-26 16:14:52.467] [vdrosrbrowser] [debug] ReadContentType http://logc407.xiti.com/hit.xiti?s=573469&ts=1587910491258&vtag=5.6.1&ptag=js&r=1920x1080x0x0&re=1920x1080&hl=16x14x51&lng=en-US&idp=1614457504830&p=/heute::episode::d7e7b0bc-6cb4-4f64-939a-70a8654e3a05::heute_Xpress&s2=Nachrichten&stc=%7B%22domain%22%3A%22zdf%22%2C%22level1%22%3A%22ctvzdf%22%2C%22level2%22%3A%22Nachrichten%22%2C%22chapter1%22%3A%22%2Fheute%22%2C%22broadcast%22%3A%22ZDF%22%2C%22id%22%3A%22heute-xpress-aktuelle-sendung-100%22%2C%22inhaltsTyp%22%3A%22episode%22%2C%22chapter4%22%3A%22%2Fvideos%22%7D&ref=
Received signal 11 SEGV_MAPERR 000000000000
#0 0x7fee99de3699 <unknown>
#1 0x7fee99d3f063 <unknown>
#2 0x7fee99de31d1 <unknown>
#3 0x7fee94b353c0 <unknown>
#4 0x7fee94aba533 <unknown>
#5 0x56419c4912e6 ClientSchemeHandler::Read()
#6 0x56419c5465b1 (anonymous namespace)::resource_handler_read()
#7 0x7fee977f8a0b <unknown>
#8 0x7fee99c9c452 <unknown>
#9 0x7fee99ca4d91 <unknown>
#10 0x7fee99ca7657 <unknown>
#11 0x7fee99d8b76b <unknown>
#12 0x7fee99da61f2 <unknown>
#13 0x7fee99da5c77 <unknown>
#14 0x7fee99df2b6b <unknown>
#15 0x7fee99da57c2 <unknown>
#16 0x7fee99dac4d5 <unknown>
#17 0x7fee99dac2e4 <unknown>
#18 0x7fee99df583e <unknown>
#19 0x7fee94b29609 start_thread
#20 0x7fee94a4e103 clone
  r8: 0000000000000000  r9: 0000000000010000 r10: 00007fee8c2a72b0 r11: 000000000000aa23
 r12: 0000000000010000 r13: 0000000000010000 r14: 0000000000010000 r15: 000056419c491250
  di: 00007fee89269000  si: 0000000000000000  bp: 00007fee8c2a6ff4  bx: 00002406ab692680
  dx: 0000000000010000  ax: 00007fee89269000  cx: 0000000000010000  sp: 00007fee8c2a6f98
  ip: 00007fee94aba533 efl: 0000000000010206 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
Zabrimus commented 4 years ago

The IDE has completely tricked me. Now i was able to commit the missing directory thirdparty/spdlog. A new clone of the repository also builds successfully.

  1. Unable to determine duration. ffprobe failed. Could you please check the new configuration file vdr-osr-ffmpeg.config if the path entries are right for your ffmpeg installation? ffmpeg_executable and ffprobe_executable. The default values are searching the binaries in /usr/bin. These can also be configured in the Makefile
    
    # ffmpeg executable.
    # Will be written to the config file vdr-osr-browser.config
    # and can also be changed later.
    FFMPEG_EXECUTABLE = /usr/bin/ffmpeg
    #FFMPEG_EXECUTABLE = /usr/local/ffmpeg/bin/ffmpeg

FFPROBE_EXECUTABLE = /usr/bin/ffprobe

FFPROBE_EXECUTABLE = /usr/local/ffmpeg/bin/ffprobe


The configuration file will not be overwritten if it once exists.

2. Error writing trailer of ffmpeg_putput.ts: Broken pipe
I'm not sure if this is the result of 1. But in the Release folder a new named pipe "ffmpeg_putput.ts" has to be created. This is where ffmpeg writes the stream and the browser reads from to send the data to VDR.

3. Do you have a recent version of libcef? I had to integrate a pull request for CEF to be able to play a video at all. The PR was merged into the branches few days ago and i will prepare a new libcef if i find a little bit time.

Sorry. I know, the documentation is a little bit outdated. And i haven't seen a segfault since ages. I will try to reproduce this.
Zabrimus commented 4 years ago

If the path to the ffmpeg executables are wrong, i get an error message. But no segfault. Really strange. Do you have made a clean before building?

In your stacktrace the method ClientSchemeHandler::Read() occurs. And this procedure needs exactly a recent version of libcef. Although with an older version i only got strange video streaming behaviour like video demuxer errors.

9000h commented 4 years ago

ok try follow up your suggestions

9000h commented 4 years ago

ok, did remove my previus installed cef deb, did the internal build (had to teak a bit on the make file as the includes where not find) the video plays now pause/stop did work

it's improved alot!

Zabrimus commented 4 years ago

Thanks for the feedback. But which includes makes problems?

9000h commented 4 years ago
g++ -I. -g -c -O3  -Wall -std=c++11 -I/opt/ -I/opt/cef -I/usr/include/x86_64-linux-gnu -Ithirdparty/nng-1.3.0/include/nng/compat -Ithirdparty/spdlog/buildbin/include -DSPDLOG_COMPILED_LIB -MMD main.cpp -o main.o
In file included from main.cpp:22:
schemehandler.h:4:10: fatal error: cef/cef_scheme.h: No such file or directory
    4 | #include "cef/cef_scheme.h"
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
Zabrimus commented 4 years ago

Hmm... "-I/opt/cef". I have fixed a bug in the Makefile and also added some log statements regarding which CEF installation was found.

9000h commented 4 years ago

Hmm g++ -I. -g -c -O3 -Wall -std=c++11 -I/opt/cef -I/usr/include/x86_64-linux-gnu -Ithirdparty/nng-1.3.0/include/nng/compat -Ithirdparty/spdlog/buildbin/include -DSPDLOG_COMPILED_LIB -MMD transcodetest.cpp -o transcodetest.o

I made aslo a sym link /opt/cef/include to /opt/cef/cef to get it compile. PACKAGED_CEF is not set

Zabrimus commented 4 years ago

I ran into the same problem and finally found the reason. The make dependency files ".d" could reference the wrong directory after switching the cef installation using CEF_PACKAGE. I've added the deletion of .d files in target clean.

9000h commented 4 years ago

ok will test is again here, did you notice also when you resize the VDR full-screen/windowed mode the the hbbtv overly is lost and there is also no way to get it back.

Zabrimus commented 4 years ago

The mentioned issues are finally hopefully fixed: Reopening the OSD, scaling OSD to full visible window size. After some optimization it's time to delete the develop branch and everything to master.

9000h commented 4 years ago

unfortunately I get now a new error (if vdr started as root and the browser as user) it works with softhddevice but not with softhdcuvid (vaapi)

[2020-05-05 15:14:21.277] [vdrosrbrowser] [debug] ReadContentType https://logc407.xiti.com/hit.xiti?fh=1&s=573469&ts=1588684458893&vtag=5.6.1&ptag=js&r=1280x720x0x0&re=1280x720&hl=15x14x18&lng=en-US&idp=1514184746479&jv=0&p=ZDFmediathek_Startseite::page-home::9f136db6-6e10-4909-a7d1-7f9079b3b41a::ZDFmediathek_Startseite&s2=ZDFmediathek_Startseite&stc=%7B%22domain%22%3A%22zdf%22%2C%22level1%22%3A%22ctvzdf%22%2C%22level2%22%3A%22ZDFmediathek_Startseite%22%2C%22chapter1%22%3A%22ZDFmediathek_Startseite%22%2C%22broadcast%22%3A%22ZDF%22%2C%22id%22%3A%22zdf-hbbtv-startseite-100%22%2C%22inhaltsTyp%22%3A%22page-home%22%2C%22chapter4%22%3A%22%22%7D&ref=&Rdt=On
[2020-05-05 15:14:23.134] [vdrosrbrowser] [critical] Shared memory does not exists!
URL: http://hbbtv.zdf.de/zdfm3/index.php
[2020-05-05 15:14:53.631] [vdrosrbrowser] [critical] Shared memory does not exists!
[2020-05-05 15:14:53.730] [vdrosrbrowser] [critical] Shared memory does not exists!
[2020-05-05 15:14:53.797] [vdrosrbrowser] [critical] Shared memory does not exists!
[2020-05-05 15:14:58.779] [vdrosrbrowser] [critical] Shared memory does not exists!
Zabrimus commented 4 years ago

Hmm? The shared memory has nothing to do with the output plugin? Do you have used different users to start VDR and vdrosrbrowser? The first started application creates the shared memory and the second one attaches to it (either VDR or the browser). It could be a permission problem. Could you please remove the shared memory, if it still exists? ipcrm -M 0xdeadc0de And then try again, but ensure using the same user. I also used accidentally root and myuser to start the applications and then chase the error.

Zabrimus commented 4 years ago

Standard permission is 0644. The browser only writes and VDR only reads the memory. I think, starting the browser first could also work with different users. I'm unsure if higher permissions are a good idea?

9000h commented 4 years ago

ok there was something still in the kernel, did clean it out with ipcrm -M 0xdeadc0de and runing the browser as user and vdr as root did work. What I do also notice if you restart vdr after the use of the hbbtv plugin, you cannot use it anymore.

Zabrimus commented 4 years ago

Reproducible and fixed in the plugin. Deleting the socket file while still in use is a really bad idea.

9000h commented 4 years ago

I'm still bit confused how to handle it, if I hit the red button the the hbbtv osd goes away an the red buttom is showed but the orignal channel did not play also not when try to exit with "back/esc". There is also sometimes a back screen(on buttom the is channel playing). Screenshot from 2020-05-05 18-12-51

Zabrimus commented 4 years ago

The user interface in the plugin is not really well designed. I have tried to at first get the plugin and the browser running. I'm confused about the red button. The red button overlay is shown when you select the "auto" entry in the HbbTV Menu. And if you then press the red button something else is shown. The original red button is predefined in VDR. Pressing back/exit always closes the HbbTV OSD.

I don't know how you get the screenshot, because both video and OSD should use the whole visible screen and the bottom line surprises me. The black screen could be an issue mentioned below. Which channel is it?

My normal workflow is:

After playing a little bit, i still find at least two issues which has to be fixed:

  1. After video playing something shall happen: show TV and open or close the OSD?
  2. Some channels uses the domain http://hbbtv.redbutton.de + many html parameters as main entry and this is not working as desired. I have to check this.

I'm really open for good ideas how to improve or change the user interface/handling. As developer i'm doing everything exactly as implemented, because i know what to do if i want to get the desired result. But this is often not the interface someone else expects.

9000h commented 4 years ago

do you have MS Teams?

Zabrimus commented 4 years ago

Sounds like Microsoft software. I don't have any windows installation. Only Linux.

9000h commented 4 years ago

Teams is also available for Linux, but you need an MS account. I do use mostly ZDF to test. I can toggle the hbbtv osd between the content or the read button on bottom right, but on exit the original channel did not play. did use the screenshot app from Ubuntu desktop. Screenshot from 2020-05-05 19-12-51

9000h commented 4 years ago

on ZDF after exit from hbbtv the vdr shows only a stillpicture, a channel change only will bring back live tv. maybe a rest to the state of the vdr-osr-browser on exit and some change to the hbbtv is needed to make the control more stable

Screenshot from 2020-05-05 20-32-50

9000h commented 4 years ago

not sure if this is of any help when starting the browser I get an error [0505/234601.131971:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.

by using this no error is showing up MESA_GLSL_CACHE_DISABLE=true ./vdrosrbrowser --debug --autoplay --remote-debugging-port=9222 --user-data-dir=remote-profile

9000h commented 4 years ago

if you hit the blue key on ZDF main page the screen goes black like https://github.com/Zabrimus/vdr-osr-browser/issues/1#issuecomment-624153425

9000h commented 4 years ago

the softhddevice latest git has now a fix for scaled osd hbbtv still has some issues with scaled windows, did the swscale may need pitches?

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--
Core was generated by `vdr -l3 -w 60 --chartab=ISO-8859-15 -Phbbtv -Ptvguide -Pdevstatus -Pskinnopacit'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f520f7ee700 (LWP 118841))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f5254c6592e in __GI_abort () at abort.c:100
#2  0x00007f52529f49eb in  () at /lib/libGraphicsMagick-Q16.so.3
#3  0x00007f52552a93c0 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f5253ad6c8e in sws_scale () at /lib/x86_64-linux-gnu/libswscale.so.5
#5  0x00007f5253b7dcdc in CefHbbtvPage::readOsdUpdate(OsdStruct*)
    (this=0x560d311e91c0, osdUpdate=osdUpdate@entry=0x7f520f7e5e81) at cefhbbtvpage.c:209
#6  0x00007f5253b7f267 in BrowserCommunication::Action() (this=0x560d2f5105c0)
    at browsercommunication.c:90
#7  0x0000560d2d906801 in cThread::StartThread(cThread*) (Thread=0x560d2f5105c0) at thread.c:293
#8  0x00007f525529d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5254d62103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)
9000h commented 4 years ago

hmm, did some tests with the latest git softhddevice(vaapi) and scaling did work here Screenshot from 2020-05-08 17-27-52

9000h commented 4 years ago

when close it "exit" also on the same channel the hbbtv osd did not come up any more or did crash when try to open I did add a check if (!swsCtx) printf ...

Command send... Destroy HbbtvPage... Construct HbbtvPage... Show Browser Send command 'RESUME' Command send... Send command 'MODE 2' Command send... Send command 'URL http://hbbtv.zdf.de/zdfm3/index.php' Command send... OsdImage readOsdUpdate, swsCtx 0? Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"... Aborted (core dumped) Fr 8. Mai 20:37:02 CEST 2020 reloading DVB driver

9000h commented 4 years ago

the last change has improved the behaviour but still crash most of the time on reactivate the hbbtv or restart vdr. I believe the root cause for the crash is not getting a valid swsCtx.

Hide Browser Send command 'PAUSE' Command send... Destroy HbbtvPage... Delete Control... Construct HbbtvPage... Show Browser Send command 'RESUME' Command send... Send command 'MODE 2' Command send... Send command 'URL http://hbbtv.zdf.de/zdfm3/index.php' Command send... OsdImage readOsdUpdate, swsCtx 0? Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"... Aborted (core dumped) Sa 9. Mai 16:06:33 CEST 2020 reloading DVB driver

9000h commented 4 years ago

as @lnj suggested I did try to give some initial value to disp_width, and this did improve a lot https://github.com/Zabrimus/vdr-plugin-hbbtv/blob/8e0a921ea52614419b1eb352e776b820f24c9f53/cefhbbtvpage.h#L41

9000h commented 4 years ago

with the latest git the browser did crash some time

#41 0x000055ba3ababfca in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at main.cpp:346
         controlThread = {_M_id = {_M_thread = 140264790267648}}
         log_level = <optimized out>
         main_args = {<CefStructBase<CefMainArgsTraits>> = {<_cef_main_args_t> = {argc = 5, argv = 0x7ffeb2952838}, _vptr.CefStructBase = 0x55ba3ad68b90 <vtable for CefMainArgs+16>, attached_to_ = 0x0}, <No data fields>}
         app = <optimized out>
         exit_code = <optimized out>
         settings = {<_cef_settings_t> = {size = 432, no_sandbox = 1, browser_subprocess_path = {str = 0x0, length = 0, dtor = 0x0}, framework_dir_path = {str = 0x55ba3add2900, length = 12, dtor = 0x7f9239097290 <sctp_free_key>}, main_bundle_path = {str = 0x0, length = 0, dtor = 0x0}, multi_threaded_message_loop = 0, external_message_pump = 0, windowless_rendering_enabled = 1, command_line_args_disabled = 0, cache_path = {str = 0x0, length = 0, dtor = 0x0}, root_cache_path = {str = 0x0, length = 0, dtor = 0x0}, user_data_path = {str = 0x0, length = 0, dtor = 0x0}, persist_session_cookies = 0, persist_user_preferences = 0, user_agent = {str = 0x0, length = 0, dtor = 0x0}, product_version = {str = 0x0, length = 0, dtor = 0x0}, locale = {str = 0x0, length = 0, dtor = 0x0}, log_file = {str = 0x0, length = 0, dtor = 0x0}, log_severity = LOGSEVERITY_DEFAULT, javascript_flags = {str = 0x0, length = 0, dtor = 0x0}, resources_dir_path = {str = 0x55ba3add1f80, length = 12, dtor = 0x7f9239097290 <sctp_free_key>}, locales_dir_path = {str = 0x55ba3add7480, length = 20, dtor = 0x7f9239097290 <sctp_free_key>}, pack_loading_disabled = 0, remote_debugging_port = 0, uncaught_exception_stack_size = 0, ignore_certificate_errors = 0, background_color = 0, accept_language_list = {str = 0x0, length = 0, dtor = 0x0}, application_client_id_for_file_scanning = {str = 0x0, length = 0, dtor = 0x0}}, _vptr.CefStructBase = 0x55ba3ad68f58 <vtable for CefStructBase<CefSettingsTraits>+16>, attached_to_ = 0x0}
         exepath = "/opt/vdr-osr-browser/vdrosrbrowser"
         path = "/opt/vdr-osr-browser"
         localespath = "/opt/vdr-osr-browser/locales"
         infile = <incomplete type>
         browserSettings = {<_cef_browser_settings_t> = {size = 296, windowless_frame_rate = 0, standard_font_family = {str = 0x0, length = 0, dtor = 0x0}, fixed_font_family = {str = 0x0, length = 0, dtor = 0x0}, serif_font_family = {str = 0x0, length = 0, dtor = 0x0}, sans_serif_font_family = {str = 0x0, length = 0, dtor = 0x0}, cursive_font_family = {str = 0x0, length = 0, dtor = 0x0}, fantasy_font_family = {str = 0x0, length = 0, dtor = 0x0}, default_font_size = 0, default_fixed_font_size = 0, minimum_font_size = 0, minimum_logical_font_size = 0, default_encoding = {str = 0x0, length = 0, dtor = 0x0}, remote_fonts = STATE_DEFAULT, javascript = STATE_DEFAULT, javascript_close_windows = STATE_DEFAULT, javascript_access_clipboard = STATE_DEFAULT, javascript_dom_paste = STATE_DEFAULT, plugins = STATE_DEFAULT, universal_access_from_file_urls = STATE_DEFAULT, file_access_from_file_urls = STATE_DEFAULT, web_security = STATE_DEFAULT, image_loading = STATE_DEFAULT, image_shrink_standalone_to_fit = STATE_DEFAULT, text_area_resize = STATE_DEFAULT, tab_to_links = STATE_DEFAULT, local_storage = STATE_DEFAULT, databases = STATE_DEFAULT, application_cache = STATE_DEFAULT, webgl = STATE_DEFAULT, background_color = 0, accept_language_list = {str = 0x0, length = 0, dtor = 0x0}}, _vptr.CefStructBase = 0x55ba3ad68f78 <vtable for CefStructBase<CefBrowserSettingsTraits>+16>, attached_to_ = 0x0}
         window_info = {<CefStructBase<CefWindowInfoTraits>> = {<_cef_window_info_t> = {window_name = {str = 0x0, length = 0, dtor = 0x0}, x = 0, y = 0, width = 0, height = 0, parent_window = 0, windowless_rendering_enabled = 1, shared_texture_enabled = 0, external_begin_frame_enabled = 0, window = 0}, _vptr.CefStructBase = 0x55ba3ad68bd0 <vtable for CefWindowInfo+16>, attached_to_ = 0x0}, <No data fields>}
         browserClient = {ptr_ = 0x7f920c0026c0}
         browserControl = {browser = {ptr_ = 0x55ba3b006290}, browserClient = 0x7f920c0026c0, isRunning = 30, fromVdrSocketId = 0, fromVdrEndpointId = 1651076143, url = ""}
Title: vdrosrbrowser assert failure: free(): invalid pointer
UnreportableReason: This package does not seem to be installed correctly
UpgradeStatus: Upgraded to focal on 2020-04-22 (17 days ago)
Zabrimus commented 4 years ago

Here are so much error descriptions and I do not know anymore, which one is still valid :(

The crash in main is completely new for me. Line 346 is CefRunMessageLoop() and this is the Cef internal functionality. Is this reproducible?

Do i have missed something?

9000h commented 4 years ago

Is the sws_scale issue still valid with the latest commit? yes only with softhdcuvid(vaapi) but with openglosd

The handling of the red button has been changed in the latest commits, because the javascript part loaded the normal HTML page instead the HbbTV one. This is hopefully now better working. yes look better now

The still picture occurs after playing a video, right? Or is it another use case? at the moment the browser did crash very often so it's hard to tell now

The sandbox issue should be documented, because i never had such problems with the sandbox it's happen since the last commit, did not had it before.

9000h commented 4 years ago

the browser crash is happen as soon as I try to start a video

[2020-05-10 19:10:31.143] [vdrosrbrowser] [info] In Main, argc=5, Parameter:
[2020-05-10 19:10:31.143] [vdrosrbrowser] [info]    ./vdrosrbrowser
[2020-05-10 19:10:31.144] [vdrosrbrowser] [info]    --debug
[2020-05-10 19:10:31.144] [vdrosrbrowser] [info]    --autoplay
[2020-05-10 19:10:31.144] [vdrosrbrowser] [info]    --remote-debugging-port=9222
[2020-05-10 19:10:31.144] [vdrosrbrowser] [info]    --user-data-dir=remote-profile
[2020-05-10 19:10:31.225] [vdrosrbrowser] [info] In Main, argc=7, Parameter:
[2020-05-10 19:10:31.225] [vdrosrbrowser] [info]    /opt/vdr-osr-browser/vdrosrbrowser
[2020-05-10 19:10:31.225] [vdrosrbrowser] [info]    --type=zygote
[2020-05-10 19:10:31.225] [vdrosrbrowser] [info]    --no-sandbox
[2020-05-10 19:10:31.225] [vdrosrbrowser] [info]    --locales-dir-path=/opt/cef/lib/locales
[2020-05-10 19:10:31.225] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-05-10 19:10:31.225] [vdrosrbrowser] [info]    --resources-dir-path=/opt/cef/lib
[2020-05-10 19:10:31.225] [vdrosrbrowser] [info]    --lang=en-US

DevTools listening on ws://127.0.0.1:9222/devtools/browser/bcdc7df9-2612-4129-bf37-1e3f47f5769a
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info] In Main, argc=13, Parameter:
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    /proc/self/exe
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --type=gpu-process
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --field-trial-handle=6808845776808562720,5048282306086605279,131072
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --enable-features=CastMediaRouteProvider
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --disable-features=OutOfBlinkCors
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --no-sandbox
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --locales-dir-path=/opt/cef/lib/locales
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --resources-dir-path=/opt/cef/lib
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --lang=en-US
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --gpu-preferences=MAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAQAAAAAAAAAAAAAAAAAAAACAAAAAAAAAA=
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-05-10 19:10:31.381] [vdrosrbrowser] [info]    --shared-files
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info] In Main, argc=14, Parameter:
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    /proc/self/exe
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --type=utility
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --field-trial-handle=6808845776808562720,5048282306086605279,131072
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --enable-features=CastMediaRouteProvider
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --disable-features=OutOfBlinkCors
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --lang=en-US
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --service-sandbox-type=network
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --no-sandbox
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --locales-dir-path=/opt/cef/lib/locales
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --resources-dir-path=/opt/cef/lib
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --lang=en-US
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --log-file=/opt/vdr-osr-browser/debug.log
[2020-05-10 19:10:31.396] [vdrosrbrowser] [info]    --shared-files=v8_snapshot_data:100
URL: http://hbbtv.zdf.de/zdfm3/index.php
[2020-05-10 19:11:01.117] [vdrosrbrowser] [debug] ReadContentType http://hbbtv.zdf.de/zdfm3/index.php
[2020-05-10 19:11:01.225] [vdrosrbrowser] [debug] BrowserClient::ProcessRequest: http://hbbtv.zdf.de/zdfm3/index.php, Method: GET
[2020-05-10 19:11:01.225] [vdrosrbrowser] [debug] HbbtvCurl::LoadUrl http://hbbtv.zdf.de/zdfm3/index.php
[0510/191102.116715:INFO:CONSOLE(29272)] "hbbtv-polyfill: keyEventInit", source: client://js/hbbtv_polyfill.js (29272)
[0510/191102.118646:INFO:CONSOLE(29476)] "hbbtv-polyfill: Create video to oipf object mapper.", source: client://js/hbbtv_polyfill.js (29476)
[0510/191102.120683:INFO:CONSOLE(29493)] "hbbtv-polyfill: BROADCAST VIDEO PLAYER ... ADDED", source: client://js/hbbtv_polyfill.js (29493)
[0510/191105.106275:INFO:CONSOLE(29348)] "hbbtv-polyfill: browser keydown 13 internal true", source: client://js/hbbtv_polyfill.js (29348)
[0510/191105.308057:INFO:CONSOLE(29533)] "hbbtv-polyfill: BroadcastVideo release() ...2", source: client://js/hbbtv_polyfill.js (29533)
[2020-05-10 19:11:05.311] [vdrosrbrowser] [debug] Javascript called me: VIDEO_URL:http://tvdl.zdf.de/none/zdf/20/05/200510_sendung_h17/1/200510_sendung_h17_3360k_p36v15.mp4
[2020-05-10 19:11:05.311] [vdrosrbrowser] [debug] Video URL: http://tvdl.zdf.de/none/zdf/20/05/200510_sendung_h17/1/200510_sendung_h17_3360k_p36v15.mp4
Send string  1 PLAY_VIDEO:
[2020-05-10 19:11:05.312] [vdrosrbrowser] [debug] Set Input video http://tvdl.zdf.de/none/zdf/20/05/200510_sendung_h17/1/200510_sendung_h17_3360k_p36v15.mp4
[2020-05-10 19:11:05.312] [vdrosrbrowser] [debug] Stop video
free(): invalid pointer
[0510/191105.527197:ERROR:broker_posix.cc(40)] Recvmsg error: Connection reset by peer (104)
[0510/191105.527341:WARNING:interprocess_frame_pool.cc(76)] Failed to allocate 3686400 bytes.
Aborted (core dumped)
Zabrimus commented 4 years ago

The video playing is hopefully fixed. I was not aware of such a major problem. The sandbox is crazy, because i can't remember doing anything with it. I have to check the latest commits. sws_scale: I will try to reproduce the error the softhdcuvid.

9000h commented 4 years ago

great, crash issue is fixed

9000h commented 4 years ago

another crash in the hbbtv plugin, not sure if I can reproduce it. softhddevice(vaapi)

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {1024, 18446744073709551615 <repeats 12 times>, 0, 139787703619361, 0}}
        pid = <optimized out>
        tid = <optimized out>
#1  0x00007f22dc51d92e in __GI_abort () at abort.c:100
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f22d9f249eb in  () at /lib/libGraphicsMagick-Q16.so.3
#3  0x00007f22dcb613c0 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f22d313eaf0 in cSoftOsd::Flush() (this=0x56037397c890) at softhddevice.cpp:694
        xp = 0
        y = 0
        w = <optimized out>
        yp = 0
        stride = 7680
        x = <optimized out>
        h = <optimized out>
        pm = 0x7f228c001b30
        PixmapMutexLock = {<cMutexLock> = {mutex = 0x5603710616c0 <cPixmap::mutex>, locked = true}, <No data fields>}
#5  0x00007f22daabe37c in CefHbbtvPage::readOsdUpdate(OsdStruct*) (this=0x5603739c9c20, osdUpdate=osdUpdate@entry=0x7f2296fe4e81) at cefhbbtvpage.c:303
        recImageSize = {width = 1920, height = 1080}
        recPoint = {x = 0, y = 0}
        recImage = {_vptr.cImage = 0x560371051480 <vtable for cImage+16>, size = {width = 1920, height = 1080}, data = 0x7f228c114a40}
        scaled = 0x7f228c114a40 ""
        inData = {0x7f22da2a7000 ""}
        inLinesize = {5120}
        outLinesize = {7680}
#6  0x00007f22daabfa77 in BrowserCommunication::Action() (this=0x560373730ed0) at browsercommunication.c:90
        osdUpdate = 0x7f2296fe4e81
        type = <optimized out>
        buf = "\002OSDU", '\000' <repeats 17 times>, "\005\000\000\320\002\000\000\363\362\301\000\000\000\001\t0\000\000\001\006\001\003\003\000\220\200\000\000\001A\233\222\060I\377\300\376`\235\375\212\226\063lk4\211Z.M\360܁\266_\016\237\024\203GL\370\033\230\361p?\360\035\307X=]Hg\362\006\020\246\242_\231?\003\000AQ\331\022\310\343a^^\261\177H<\261MUT\254,\204!S\207\064\000A\303\"\027S\331#\212\306n\266K\361= \275\245\222p\224\062Z\336\320\365\372\256D\275\273\260`\330\362\006R\353j\226\234\274\266\245\347\027\206`\361\003\264\263\060\067\212\bo\371G\001\000\032$\260\343ϯ\000\002&\357"...
        bytes = <optimized out>
        status = {message = {_vptr.cString = 0x560371053d28 <vtable for cString+16>, s = 0x7f228c057b20 "PLAY_VIDEO:"}}
#7  0x0000560370fd0801 in cThread::StartThread(cThread*) (Thread=0x560373730ed0) at thread.c:293
#8  0x00007f22dcb55609 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = 
              {cancel_jmp_buf = {{jmp_buf = {139786538899200, 8979627240640814764, 140723997836078, 140723997836079, 140723997836080, 139786538897280, -9017571378893611348, -9017418061607395668}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#9  0x00007f22dc61a103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) 
100 abort.c: No such file or directory.
(gdb) up
#2  0x00007f22d9f249eb in ?? () from /lib/libGraphicsMagick-Q16.so.3
(gdb) up
#3  <signal handler called>
(gdb) up
#4  0x00007f22d313eaf0 in cSoftOsd::Flush (this=0x56037397c890) at softhddevice.cpp:694
694     DestroyPixmap(pm);
(gdb) print pm
$1 = (cPixmapMemory *) 0x7f228c001b30
(gdb) print *pm
$2 = {<cPixmap> = {_vptr.cPixmap = 0x0, static mutex = {mutex = {__data = {__lock = 1, __count = 0, __owner = 20449, __nusers = 1, __kind = 2, __spins = 0, __elision = 0, __list = {__prev = 0x0, 
            __next = 0x0}}, __size = "\001\000\000\000\000\000\000\000\341O\000\000\001\000\000\000\002", '\000' <repeats 22 times>, __align = 1}, locked = 1}, layer = -1, alpha = 255, tile = false, 
    viewPort = {point = {x = 0, y = 0}, size = {width = 1920, height = 1080}, static Null = {point = {x = 0, y = 0}, size = {width = 0, height = 0}, 
        static Null = <same as static member of an already seen type>}}, drawPort = {point = {x = 0, y = 0}, size = {width = 1920, height = 1080}, static Null = {point = {x = 0, y = 0}, size = {width = 0, 
          height = 0}, static Null = <same as static member of an already seen type>}}, dirtyViewPort = {point = {x = 0, y = 0}, size = {width = 0, height = 0}, static Null = {point = {x = 0, y = 0}, size = {
          width = 0, height = 0}, static Null = <same as static member of an already seen type>}}, dirtyDrawPort = {point = {x = 0, y = 0}, size = {width = 1920, height = 1080}, static Null = {point = {x = 0, 
          y = 0}, size = {width = 0, height = 0}, static Null = <same as static member of an already seen type>}}}, data = 0x7f228e0b8a50, panning = false}
(gdb) print *this
$3 = {<cOsd> = {_vptr.cOsd = 0x5603736a3370, static osdLeft = 0, static osdTop = 0, static osdWidth = 0, static osdHeight = 0, static Osds = {_vptr.cVector = 0x560371051400 <vtable for cVector<cOsd*>+16>, 
      allocated = 11, size = 0, data = 0x560372f41550}, static maxPixmapSize = {width = 2147483647, height = 2147483647}, static mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, 
          __kind = 2, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\002", '\000' <repeats 22 times>, __align = 0}, locked = 0}, isTrueColor = 16, 
    savedBitmap = 0x0, bitmaps = {0x560373fbe810, 0x7f22c93ea628, 0x7f22c93eabb0, 0x7f22c93eb110, 0x7f22c934b5d0, 0x7f22c934c120, 0x7f22c9400b78, 0x7f22c9403b58, 0x7f22c938df18, 0x7f22c9363158, 0x7f22c9363cb0, 
      0x7f22c93819d8, 0x7f22c9382508, 0x7f22c9394fb8, 0x7f22c94140f0, 0x7f22c9429560}, numBitmaps = 1, savedPixmap = 0x0, pixmaps = {_vptr.cVector = 0x5603710513c0 <vtable for cVector<cPixmap*>+16>, 
      allocated = 11, size = 3, data = 0x560376b18770}, left = 0, top = 0, width = 4096, height = 2160, level = 0, active = false}, static Dirty = 0 '\000', OsdLevel = 0}
(gdb) 

update: it happens when you start hbbtv in a windowed vdr but also in fullscreen the softhddevice is set to OSD size auto btw

9000h commented 4 years ago

looks much better now! wow the only strange thing is hbbtv and ARD, there are also other channels with issues but I think this is one of the important once. Screenshot from 2020-05-15 15-27-20

9000h commented 4 years ago

there is another issue probably in the ait part, some of the URL's are duplicate after some time Screenshot from 2020-05-15 16-18-16

Zabrimus commented 4 years ago

(gdb) up

2 0x00007f22d9f249eb in ?? () from /lib/libGraphicsMagick-Q16.so.3

This is hopefully an exception, because neither the browser nor the plugin uses GraphicsMagick at all.

the only strange thing is hbbtv and ARD, there are also other channels with issues but I think this is one of the important once.

Yes. This is a main issue, but i cannot solve it. The page uses HbbTV 2.0, but the chrome extension i'm using is only able to handle HbbTV 1.4 and earlier. There exists a note on the Github page that 2.0 will be supported at any time (or at least it is planned). In the meanwhile i have to wait.

there is another issue probably in the ait part, some of the URL's are duplicate after some time

The duplicate URLs are hopefully fixed now. The latest plugin version also contains many improvements regarding URL handling.

9000h commented 4 years ago

yes going better and better do you have an idea how to handle channels using "plugins", like pro7, dmax etc

9000h commented 4 years ago

there are still some channels where the hbbtv is not working, what are your plans?

kabel eins Doku;ProSiebenSat.1:12544:HC56M2S0:S19.2E:22000:2559=2:2560=deu@3:41:0:17509:1:1107:0
Zabrimus commented 4 years ago

My plan is simple:

9000h commented 4 years ago

nice one!