feat(media): 支持后台转码配置与缩略图轴

This commit is contained in:
Zhou Weidong committed 2026-10-22 11:20:28 +08:00
1 parent 70da939a58
commit 316baf28d6
39 files changed
+1523 -38

No files matched your search

@@ -8,6 +8,7 @@ import com.fruitshorts.content.service.DramaService;
import com.fruitshorts.content.service.EpisodeService;
import com.fruitshorts.media.dal.entity.MediaRendition;
import com.fruitshorts.media.service.PlaybackSigner;
import com.fruitshorts.media.service.ThumbnailUrlResolver;
import com.fruitshorts.media.service.TranscodeService;
import com.fruitshorts.playback.dal.entity.PlaybackTicket;
import com.fruitshorts.playback.dal.mapper.PlaybackTicketMapper;
@@ -46,6 +47,7 @@ public class PlaybackService {
private final PlaybackSigner signer;
private final EntitlementPort entitlementPort;
private final TranscodeService transcodeService;
private final ThumbnailUrlResolver thumbnailUrlResolver;
@Transactional(rollbackFor = Exception.class)
public PlayRespVO play(Long userId, Long episodeId, String deviceId, String clientIp) {
@@ -65,6 +67,7 @@ public class PlaybackService {
vo.setUnlockCoin(episode.getUnlockCoin());
vo.setPreviewSeconds(episode.getPreviewSeconds());
vo.setQualities(qualitiesOf(episode.getId()));
vo.setThumbnailsUrl(thumbnailUrlResolver.resolve(episode.getId()));
if (!StringUtils.hasText(source)) {
// 还没转码或没上传片源:明确告诉客户端"没有片源",而不是给一个播不了的地址
@@ -23,6 +23,8 @@ public class PlayRespVO {
private String playUrl;
/** 可用的清晰度档位 */
private List<String> qualities;
/** 雪碧图 WebVTT 时间轴地址;没有产物时为 null */
private String thumbnailsUrl;
/** 需要多少金币解锁 */
private Integer unlockCoin;
/** 试看秒数,0 表示不限制 */