RSS-to-Telegram-Bot icon indicating copy to clipboard operation
RSS-to-Telegram-Bot copied to clipboard

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

Open linzzzzllll opened this issue 1 year ago • 10 comments

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 avatar Nov 23 '23 02:11 linzzzzllll

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

linzzzzllll avatar Nov 23 '23 02:11 linzzzzllll

The RSS URL to reproduce the issue, plz

Rongronggg9 avatar Dec 02 '23 16:12 Rongronggg9

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

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

linzzzzllll avatar Dec 07 '23 01:12 linzzzzllll

几乎所有用户都会

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

Rongronggg9 avatar Dec 07 '23 01:12 Rongronggg9

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

是变成.mov

linzzzzllll avatar Dec 07 '23 01:12 linzzzzllll

几乎所有用户都会

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

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

linzzzzllll avatar Dec 07 '23 02:12 linzzzzllll

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

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

Rongronggg9 avatar Dec 08 '23 02:12 Rongronggg9

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

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

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

linzzzzllll avatar Dec 14 '23 05:12 linzzzzllll

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 avatar Dec 14 '23 12:12 Rongronggg9

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

Rongronggg9 avatar Dec 14 '23 17:12 Rongronggg9