MrBrax / LiveStreamDVR

An automatic livestream recorder
MIT License
330 stars 25 forks source link

YouTube exporter: Invalid video title #483

Closed timschneeb closed 8 months ago

timschneeb commented 9 months ago

Hello,

I recently set up YouTube exports and noticed several uploads failing due to an error: The request metadata specifies an invalid or empty video title.

It appears to be caused by the video title being longer than 100 characters (I use the title format [{date}] {displayName} - {title}). Since a lot of Twitch streams have very long stream titles, they easily exceed the maximum character amount for titles on YouTube, which causes the whole video upload to be discarded.

This should be fixable by automatically truncating too-long titles before uploading.

Also, since the title may now get cut off, it would be nice to be able to put the full title into the video description by allowing the description to be customizable with placeholders {title}, {date}, etc... just like the titles.

Relevant log:

2023-12-11T02:25:37.555Z | BaseExporter.getFormattedTitle <warn> No value for replacement literal 'comment', using template '[{date}] {displayName} - {title}'
2023-12-11T02:25:37.555Z | BaseExporter.getFormattedTitle <warn> No value for replacement literal 'absolute_episode', using template '[{date}] {displayName} - {title}'
2023-12-11T02:25:37.555Z | BaseExporter.getFormattedTitle <warn> No value for replacement literal 'resolution', using template '[{date}] {displayName} - {title}'
2023-12-11T02:25:37.555Z | YouTubeExporter.export <info> Uploading /usr/local/share/twitchautomator/data/storage/vods/streamer/streamer_2023-11-24T05_19_07Z_40196502000/streamer_2023-11-24T05_19_07Z_40196502000.mp4 to YouTube...
[...]
2023-12-11T05:41:14.657Z | YouTubeExporter.export <error> Could not upload video: The request metadata specifies an invalid or empty video title.
2023-12-11T05:41:14.659Z | http.api <error> API error 400 returned: {"status":"ERROR","message":"Export error: The request metadata specifies an invalid or empty video title."}