Waiting for Metadata on videos that play correctly in Chrome #635

Closed
opened 2017-09-28 15:44:03 +02:00 by tzarebczan · 15 comments
tzarebczan commented 2017-09-28 15:44:03 +02:00 (Migrated from github.com)

The Issue

There are a couple videos that are not able to be streamed via the in-app player because they get stuck on Waiting for Metadata. Here is one example:
lbry://@EEVblog#22b0dc5c08107ea3395c45afefe3c7c53ee3bed9/ee-UeSYRg8GsJI

I can play the video by dragging it into Chrome, so I was hoping the in-app player could render it. Is it worth looking into?

System Configuration

  • LBRY Daemon version:
  • LBRY App version:
  • LBRY Installation ID:
  • Operating system:

Anything Else

Screenshots

<!-- Thanks for reporting an issue to LBRY and helping us improve! To make it possible for us to help you, please fill out below information carefully. Before reporting any issues, please make sure that you're using the latest version. - App releases: https://github.com/lbryio/lbry-app/releases - Standalone daemon: https://github.com/lbryio/lbry/releases We are also available on Slack at https://slack.lbry.io --> ## The Issue There are a couple videos that are not able to be streamed via the in-app player because they get stuck on Waiting for Metadata. Here is one example: lbry://@EEVblog#22b0dc5c08107ea3395c45afefe3c7c53ee3bed9/ee-UeSYRg8GsJI I can play the video by dragging it into Chrome, so I was hoping the in-app player could render it. Is it worth looking into? ## System Configuration <!-- For the app, this info is in the About section at the bottom of the Help page. You can include a screenshot instead of typing it out --> <!-- For the daemon, run: curl 'http://localhost:5279' --data '{"method":"version"}' and include the full output --> - LBRY Daemon version: - LBRY App version: - LBRY Installation ID: - Operating system: ## Anything Else <!-- Include anything else that does not fit into the above sections --> ## Screenshots <!-- If a screenshot would help explain the bug, please include one or two here -->
kauffj commented 2017-10-03 14:53:24 +02:00 (Migrated from github.com)

At first glance, this appears to be a bug in the render-media plugin the app uses to play this video, not in any lbry-app code itself. It appears that the loadedmetadata is never fired by the player.

At first glance, this appears to be a bug in the `render-media` plugin the app uses to play this video, not in any lbry-app code itself. It appears that the `loadedmetadata` is never fired by the player.
kauffj commented 2017-10-03 14:53:48 +02:00 (Migrated from github.com)

Going to icebox this, would recommend isolating the issue in the plugin/player as a first step to advance this one.

Going to icebox this, would recommend isolating the issue in the plugin/player as a first step to advance this one.
btzr-io commented 2017-10-03 19:03:44 +02:00 (Migrated from github.com)
related issue -> https://github.com/lbryio/lbry-app/issues/539#issuecomment-329376764
kauffj commented 2017-10-03 22:11:37 +02:00 (Migrated from github.com)
https://github.com/feross/render-media/issues/31
tzarebczan commented 2017-10-12 16:51:43 +02:00 (Migrated from github.com)

@kauffj I'm still working on isolating render media by running it as a simple app, but I also tried the file on instant.io which uses render-media and it has the same issue: https://instant.io/#ae8e248aeba47363d0fbe577c9b8b839018f4e79

@kauffj I'm still working on isolating render media by running it as a simple app, but I also tried the file on instant.io which uses render-media and it has the same issue: https://instant.io/#ae8e248aeba47363d0fbe577c9b8b839018f4e79
kauffj commented 2017-10-13 23:20:09 +02:00 (Migrated from github.com)

I think we can safely consider this issue confirmed.

I think we can safely consider this issue confirmed.
tiger5226 commented 2018-05-11 02:01:06 +02:00 (Migrated from github.com)

I think I just ran into this issue with the latest app version released today.
screen shot 2018-05-10 at 7 55 25 pm

The video downloaded, and I received the confirmation popup, so I switched back to the app and it was stuck on getting metadata. I went to the discovery page then pasted the linklbry://The-Block-netIntroductoryMovie again. Still the same screen.

screen shot 2018-05-10 at 8 00 34 pm

macOS 17.4

I think I just ran into this issue with the latest app version released today. <img width="1151" alt="screen shot 2018-05-10 at 7 55 25 pm" src="https://user-images.githubusercontent.com/3402064/39899890-553f443e-548c-11e8-90fe-e81bb1b800f2.png"> The video downloaded, and I received the confirmation popup, so I switched back to the app and it was stuck on getting metadata. I went to the discovery page then pasted the link`lbry://The-Block-netIntroductoryMovie` again. Still the same screen. <img width="279" alt="screen shot 2018-05-10 at 8 00 34 pm" src="https://user-images.githubusercontent.com/3402064/39899973-d54bc0b2-548c-11e8-9fde-d336ca39d715.png"> macOS 17.4
tzarebczan commented 2018-05-17 18:03:46 +02:00 (Migrated from github.com)

@tiger5226 that one, in particular, is seeing the console error below. I'll check with the creator to see how it was exported/encoded. It does play within chrome though. Looks like it's a different render media issue as it also does not play when uploading to instant.io (which uses the same plugin).

@kauffj - please see https://github.com/feross/render-media/issues/31 ... do we want to pursue help from feross on this and other similar media related issues?

Uncaught Error: Data too short
    at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:141)
    at exports.AudioSampleEntry.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\boxes.js:376)
    at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:171)
    at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144)
    at exports.stsd.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\boxes.js:243)
    at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:171)
    at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144)
    at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157)
    at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144)
    at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157)
    at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144)
    at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157)
    at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144)
    at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157)
    at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144)
    at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157)
@tiger5226 that one, in particular, is seeing the console error below. I'll check with the creator to see how it was exported/encoded. It does play within chrome though. Looks like it's a different render media issue as it also does not play when uploading to instant.io (which uses the same plugin). @kauffj - please see https://github.com/feross/render-media/issues/31 ... do we want to pursue help from feross on this and other similar media related issues? ``` Uncaught Error: Data too short at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:141) at exports.AudioSampleEntry.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\boxes.js:376) at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:171) at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144) at exports.stsd.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\boxes.js:243) at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:171) at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144) at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157) at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144) at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157) at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144) at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157) at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144) at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157) at Object.Box.decode (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:144) at Object.Box.decodeWithoutHeaders (C:\Program Files\LBRY\resources\app.asar\node_modules\mp4-box-encoding\index.js:157) ```
kauffj commented 2018-05-17 20:06:42 +02:00 (Migrated from github.com)

@tzarebczan I'd be happy to do so. Will message you on Slack.

@tzarebczan I'd be happy to do so. Will message you on Slack.
tzarebczan commented 2018-06-13 05:50:20 +02:00 (Migrated from github.com)

Another video stuck on waiting for metadata, looks like a properly structured MP4 (2.7 gb) but it does have a non-standard resolution: https://www.screencast.com/t/4sUpFFuhYoW1

lbry://@BrendonBrewer#87adc4b16eabfaf37485a6e4ed03d47b2481a4b4/stats331

Another video stuck on waiting for metadata, looks like a properly structured MP4 (2.7 gb) but it does have a non-standard resolution: https://www.screencast.com/t/4sUpFFuhYoW1 lbry://@BrendonBrewer#87adc4b16eabfaf37485a6e4ed03d47b2481a4b4/stats331
tzarebczan commented 2018-07-09 22:02:30 +02:00 (Migrated from github.com)

Here's another: lbry://the-metagame-batman-arkham-asylum-20

Here's another: lbry://the-metagame-batman-arkham-asylum-20
tzarebczan commented 2018-08-01 18:08:35 +02:00 (Migrated from github.com)

I think the best example so far of this issue is lbry://@BrendonBrewer#87adc4b16eabfaf37485a6e4ed03d47b2481a4b4/stats331 https://www.screencast.com/t/RVKtR3EQEZX9 - which looks like the main difference is the resolution / framerate ( I can do more testing to narrow this down by transcoding it)

The others in this ticket (lbry://the-metagame-batman-arkham-asylum-20 / lbry://@EEVblog#22b0dc5c08107ea3395c45afefe3c7c53ee3bed9/ee-UeSYRg8GsJI) are a different codec ( https://www.screencast.com/t/uaAyDE9ytb)

Will get this filed on the videostream repo.

I think the best example so far of this issue is lbry://@BrendonBrewer#87adc4b16eabfaf37485a6e4ed03d47b2481a4b4/stats331 https://www.screencast.com/t/RVKtR3EQEZX9 - which looks like the main difference is the resolution / framerate ( I can do more testing to narrow this down by transcoding it) The others in this ticket (lbry://the-metagame-batman-arkham-asylum-20 / lbry://@EEVblog#22b0dc5c08107ea3395c45afefe3c7c53ee3bed9/ee-UeSYRg8GsJI) are a different codec ( https://www.screencast.com/t/uaAyDE9ytb) Will get this filed on the videostream repo.
tzarebczan commented 2018-08-06 17:35:39 +02:00 (Migrated from github.com)

I tried a smaller version of stats331 and did not run into the same issue, so it might be related to the length/size of the original file. Will confirm after a fix for larger files is implemented ( https://github.com/feross/render-media/pull/50)

I tried a smaller version of stats331 and did not run into the same issue, so it might be related to the length/size of the original file. Will confirm after a fix for larger files is implemented ( https://github.com/feross/render-media/pull/50)
skhameneh commented 2018-08-07 22:33:48 +02:00 (Migrated from github.com)

Notes:

  1. The media player begins reading from disk with no awareness of the completion of blobs. See e8aa67bf7e/src/renderer/component/fileViewer/internal/player.jsx (L165)
  2. videostream v2 as used in render-media does not support fragmented MP4's (variable bitrate optimized MP4's)
  3. The current implementation of the daemon does not guarantee that the blobs are written in sequential order; detecting which ranges of data in the written file are available is difficult and not reliable. See https://github.com/lbryio/lbry/issues/1342
  4. A number of links to files that play in Chrome are actually unsupported VP8 encoded within MP4 containers. The video codec must be in the ISO/IEC 14496-12 spec, see https://en.wikipedia.org/wiki/ISO_base_media_file_format
Notes: 1. The media player begins reading from disk with no awareness of the completion of blobs. See https://github.com/lbryio/lbry-desktop/blob/e8aa67bf7eefeb778617403a89d593081cb62b2d/src/renderer/component/fileViewer/internal/player.jsx#L165 2. `videostream` v2 as used in `render-media` does not support fragmented MP4's (variable bitrate optimized MP4's) 3. The current implementation of the daemon does not guarantee that the blobs are written in sequential order; detecting which ranges of data in the written file are available is difficult and not reliable. See https://github.com/lbryio/lbry/issues/1342 4. A number of links to files that play in Chrome are actually unsupported VP8 encoded within MP4 containers. The video codec must be in the `ISO/IEC 14496-12` spec, see https://en.wikipedia.org/wiki/ISO_base_media_file_format
neb-b commented 2019-08-13 19:52:29 +02:00 (Migrated from github.com)

Fixed with new player

Fixed with new player
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: LBRYCommunity/lbry-desktop#635
No description provided.