Transcode after import fails
-
@girish I really need to use "something" like PeerTube soon and I couldn't believe why it still doesn't work with HLS!
I did some testing and research:
- On the Cloudron demo I installed PeerTube (also there I had this issue https://forum.cloudron.io/topic/3642/new-installation-not-able-to-log-in but solved it, I really think you should give it at least 1GB App memory and 1GB Redis memory to start)
- I only switched on 2 kind of transcoding options and HLS (no WebTorrents)
- Uploaded a mp4
- waited for transcoding
- Video did not play ....
So same issue with our own PeerTube instance on our own Cloudron.
Searching through their Git I discovered solved issues that might be related to Cloudron?
1.
https://github.com/Chocobozzz/PeerTube/issues/3181
The PeerTube developer asks here "Do you have a reverse proxy in front of docker? Because it's seems the server does not respect the byte range request", that was the case and they solved it.
Could it be a similar issue on Cloudron?
2.
Another issue on the Cloudron version: ffmpeg is not the right version!Current:
ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100
Needed: You need ffmpeg >= 4.1 if you enable HLS (https://github.com/Chocobozzz/PeerTube/issues/2469#issuecomment-584563107)
-
@girish thank you very much for your quick response and update! However .....
... it still doesn't work (although now it does show the start of the video!). For the last hour I've checked all of their Git and got inspired to look into my browser consoles (Safari on MacOS and Firefox on MacOS) and discovered in both a similar error that might be Cloudron related (but of course I'm not sure):
Safari:
Firefox:
It looks like Peertube in the local browser needs a kind of connection to the server but it's forbidden:
GET wss://videos.[domainname].[tld]/tracker/socket | [HTTP/1.1 403 Forbidden 64ms]
-
@imc67 Can you try to see if the instances at https://joinpeertube.org/instances#instances-list work? Will help me understand if this is a packaging issue or an upstream issue.
I am not an expert on HLS. Can you tell me how I can test this? Does it require a specific kind of video or does it fail with any video ?
-
@girish I've found just at random a video and it plays well, I'm pretty sure it's playing in HLS, see screenshot:
https://tube.tardis.world/videos/watch/a56df39d-05d8-4a51-9393-b549ffd7167c
Screenshot of Network usage in browser (Firefox):
here you can see it's playing the 1080.m3u8 file (HLS), as far as I understand HLS this file "contains indexes" of the mp4 so it only retrieves from the browser at the right timing the right "slice" from the mp4 to play locally without retrieving first all the GB's of the mp4.@girish "Does it require a specific kind of video or does it fail with any video ?" In Peertube settings you can choose for (only) HLS and Peertube makes these special files.
This is how it looks like for 1 video:
Configuration in Peertube:
-
@girish said in Transcode after import fails:
@imc67 thanks, I will have some time tomorrow to investigate this.
Iām really curious if you could find the wss issue?
-
@imc67 Been trying this out. I can also see 403 error to wss. There is also some hls.js error with
bufferStalledError
. But the video plays anyway (in safari). Exact same as https://github.com/Chocobozzz/PeerTube/issues/655 (does safari block these by default maybe?)Edit: I see same behavior in firefox on linux as well.
-
@girish said in Transcode after import fails:
does safari block these by default maybe?)
HLS was invented by Apple so I can't imagine they block it.
This video plays HLS very well: https://tube.tardis.world/videos/watch/a56df39d-05d8-4a51-9393-b549ffd7167c
-
@girish said in Transcode after import fails:
video plays anyway (in safari).
Does it play HLS or WebTorrent? Because for testing I also switched WebTorrent ON and then the video does play in Safari but in WebTorrent not HLS.
-
@imc67 said in Transcode after import fails:
Does it play HLS or WebTorrent?
How can I make out? I actually disabled WebTorrent just like your initial transcoding configuration. Only HLS with P2P is enabled. But I would like to check how it's playing the video.
-
@imc67 said in Transcode after import fails:
This video plays HLS very well: https://tube.tardis.world/videos/watch/a56df39d-05d8-4a51-9393-b549ffd7167c
Just to double check. This is not a Cloudron installation right? That video is 10GB for download, so I imagine it will take me forever to download and upload it into my test instance.
-
@girish some posts above I added a screenshot:
Screenshot of Network usage in browser (Firefox):
here you can see it's playing the 1080.m3u8 file (HLS), as far as I understand HLS this file "contains indexes" of the mp4 so it only retrieves from the browser at the right timing the right "slice" from the mp4 to play locally without retrieving first all the GB's of the mp4. -
@girish said in Transcode after import fails:
I actually disabled WebTorrent
Did you disabled before uploading video or after?
-
@girish said in Transcode after import fails:
I see firefox downloading a lot of "fragmented" mp4s
WebTorrent als has those fragmented files, did you see also in that network-list a *.m3u8 file (see my screenshot earlier)? Then it's HLS.
-
@imc67 Yes, I see m3u8 downloaded (which is the HLS index file, I guess). Also, AFAICT this tracker/socket thing is something webtorrent related and the 403 is returned because we disabled webtorrent explicitly. I am trying to get peertube to indicate in the logs to confirm this.