Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

weibo上live图片订阅过来会变成文件发送方式 #377

Open
linzzzzllll opened this issue Nov 23, 2023 · 10 comments
Open

weibo上live图片订阅过来会变成文件发送方式 #377

linzzzzllll opened this issue Nov 23, 2023 · 10 comments

Comments

@linzzzzllll
Copy link

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Important log
You may execute docker logs [container name] to get log.
Choose that is important and paste it here.

@linzzzzllll
Copy link
Author

weibo上live图片订阅过来会变成文件发送方式

@Rongronggg9
Copy link
Owner

The RSS URL to reproduce the issue, plz

@linzzzzllll
Copy link
Author

linzzzzllll commented Dec 7, 2023

The RSS URL to reproduce the issue, plzRSS网址重现的问题,plz

https://rsshub.app/weibo/user/*************
几乎所有用户都会

@Rongronggg9
Copy link
Owner

Rongronggg9 commented Dec 7, 2023

几乎所有用户都会

我不使用微博,不知道如何寻找最近曾发送过 live photo 的用户用于测试,请提供几个微博用户作为范例。

@linzzzzllll
Copy link
Author

weibo上live图片订阅过来会变成文件发送方式

是变成.mov

@linzzzzllll
Copy link
Author

几乎所有用户都会

我不使用微博,不知道如何寻找最近曾发送过 live photo 的用户用于测试,请提供几个微博用户作为范例。

https://rsshub.app/weibo/user/6463277233
https://rsshub.app/weibo/user/3636661811

@Rongronggg9
Copy link
Owner

已经复现。
这个问题具体是如何引发的,我还没有做验证。live photo 实际上是无音轨的视频。相信是由于 Telegram 会将无音轨视频作为 GIF 发送而触发了 RSStT 的回退逻辑。See also #3.

Telegram 在近期的更新中,允许客户端强制禁止服务端的上述行为。然而,只有客户端上传的视频才能使用这一特性。RSStT 不上传视频,而是请求 Telegram 服务端从网络上拉取视频,因而暂时无法利用这一特性。我会找时间进一步研究有无其他解决方案。

@linzzzzllll
Copy link
Author

已经复现。 这个问题具体是如何引发的,我还没有做验证。live photo 实际上是无音轨的视频。相信是由于 Telegram 会将无音轨视频作为 GIF 发送而触发了 RSStT 的回退逻辑。See also #3.

Telegram 在近期的更新中,允许客户端强制禁止服务端的上述行为。然而,只有客户端上传的视频才能使用这一特性。RSStT 不上传视频,而是请求 Telegram 服务端从网络上拉取视频,因而暂时无法利用这一特性。我会找时间进一步研究有无其他解决方案。

live photo 实际上是无音轨的视频"很奇怪在 tg打开是有声音的.?其实作为普通视频发送也可以

@Rongronggg9
Copy link
Owner

Rongronggg9 commented Dec 14, 2023

live photo 实际上是无音轨的视频"很奇怪在 tg打开是有声音的.

我不使用苹果设备,因此先前的断言确实有误。经过查阅资料,live photo 确实是带有录音的。然而,微博发送者可以在发送之前把声音去除,那么就会不带有音轨。

带音轨的例子(含 Audio 和 Video)
$ curl -sL 'https://video.weibo.com/media/play?livephoto=https%3A%2F%2Flivephoto.us.sinaimg.cn%2F003xLlRljx088rRQ5uzm0f0f0100eON70k01.mov' | ffprobe -hide_banner -
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'fd:':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2023-09-08T13:35:53.000000Z
    com.apple.quicktime.creationdate: 2023-09-08T19:33:04+0800
    com.apple.quicktime.content.identifier: 32BE8D2F-36B1-4A6B-B939-0F8FD210CC5E
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 12 Pro Max
    com.apple.quicktime.software: 16.6
  Duration: 00:00:02.04, start: 0.000000, bitrate: N/A
  Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 221 kb/s (default)
    Metadata:
      creation_time   : 2023-09-08T13:35:53.000000Z
      handler_name    : Core Media Audio
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 1614x1306, 13597 kb/s, 20.08 fps, 27.42 tbr, 600 tbn (default)
    Metadata:
      creation_time   : 2023-09-08T13:35:53.000000Z
      handler_name    : Core Media Video
      vendor_id       : [0][0][0][0]
      encoder         : H.264
    Side data:
      displaymatrix: rotation of -90.00 degrees
  Stream #0:2[0x3](und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2023-09-08T13:35:53.000000Z
      handler_name    : Core Media Metadata
  Stream #0:3[0x4](und): Data: none (mebx / 0x7862656D), 43 kb/s (default)
    Metadata:
      creation_time   : 2023-09-08T13:35:53.000000Z
      handler_name    : Core Media Metadata
Unsupported codec with id 0 for input stream 2
Unsupported codec with id 0 for input stream 3
无音轨的例子(只有 Video)
$ curl -sL 'https://video.weibo.com/media/play?livephoto=https%3A%2F%2Flivephoto.us.sinaimg.cn%2F000aoR5Djx08aCH5dGrK0f0f0100iseN0k01.mov' | ffprobe -hide_banner -
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'fd:':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2023-12-02T01:55:19.000000Z
    com.apple.quicktime.creationdate: 2023-10-26T19:39:55+0800
    com.apple.quicktime.content.identifier: BC8C1991-E68C-4B74-B9EB-57F5B8278FD6
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 15 Pro Max
    com.apple.quicktime.software: 17.0.3
  Duration: 00:00:02.95, start: 0.000000, bitrate: N/A
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 1920x1440, 11938 kb/s, 14.26 fps, 22.42 tbr, 600 tbn (default)
    Metadata:
      creation_time   : 2023-12-02T01:55:19.000000Z
      handler_name    : Core Media Video
      vendor_id       : [0][0][0][0]
      encoder         : H.264
    Side data:
      displaymatrix: rotation of -90.00 degrees
  Stream #0:1[0x2](und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2023-12-02T01:55:19.000000Z
      handler_name    : Core Media Metadata
  Stream #0:2[0x3](und): Data: none (mebx / 0x7862656D), 43 kb/s (default)
    Metadata:
      creation_time   : 2023-12-02T01:55:19.000000Z
      handler_name    : Core Media Metadata
Unsupported codec with id 0 for input stream 1
Unsupported codec with id 0 for input stream 2

然而,似乎 Telegram 服务端从网络上拉取视频时,无法正确处理 quicktime 容器(正是 live photo 所使用的媒体容器)。无论有无音轨,它都无法正确提取视频元数据。这种情况下,确实无法直接作为视频发送。

使用一个有音轨的 live photo 进行测试:

(如果 Telegram 服务端能够提取到视频元数据的话,这里会出现视频宽高和时长)

普通的客户端可以发送这样的视频,应该是由于视频元数据已经在本地预先被提取出来并传送给服务端。然而要 RSStT 做到这一点是复杂的,这意味着 RSStT 必须下载视频、提取元数据、然后上传。

@Rongronggg9
Copy link
Owner

看起来 wistia.com 可以用来做在线转码,这可能能够用于蜿蜒实现上述功能。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants