Closed CappiSteijns closed 4 months ago
It looks like a similar issue to https://github.com/Zibbp/ganymede/issues/437 which I've pushed a fix for to the :main
image. When there is nothing being archived, can you switch the API container to use the :main
image and try again?
I plan to publish a release this weekend with some fixes that have been building up the past few weeks.
It looks like a similar issue to https://github.com/Zibbp/ganymede/issues/437 which I've pushed a fix for to the
:main
image. When there is nothing being archived, can you switch the API container to use the:main
image and try again?I plan to publish a release this weekend with some fixes that have been building up the past few weeks.
Allrighty, changed to :main for the api container.
Any chance the vods in the queue will finish? When going to Admin - Tasks - Start stuck queue items I get the error: Request Failed Key: 'StartTaskRequest.Task' Error:Field validation for 'Task' failed on the 'oneof' tag
If those are livestreams, there's not much you can do to recover the chats. If you have /tmp
mounted locally that chats will likely still be there. For those queue items, you'll have to delete them from Admin > Queue, and set the vod to "processed" in Admin > VODs.
The admin task is deprecated and doesn't work. It is removed, waiting on a release to push it out.
If those are livestreams, there's not much you can do to recover the chats. If you have
/tmp
mounted locally that chats will likely still be there. For those queue items, you'll have to delete them from Admin > Queue, and set the vod to "processed" in Admin > VODs. The admin task is deprecated and doesn't work. It is removed, waiting on a release to push it out.
So I have like all these files in the /tmp
folder:
and set the vod to "processed" in Admin > VODs.
When I do that the vod does become clickable in Ganymede but it won't load the vod because it's still in the /tmp
folder and does not get moved to the correct folder. What would be the steps to manual move the vod's and chat files from /tmp
? If that would even be possible.
You can try to manually restart the workflow items for each archive. Start by navigating to Workflows > Closed. Then you'll need to find the workflow you want to run and confirm that it corresponds with your video ID. Start clicking into workflows and finding that one that matches your video ID.
Once you've found the group of workflows for your video ID, locate the one that you want to "jumpstart". We'll start with the task after the chat download, ConvertTwitchLiveChatWorkflow
.
Clicking the restart button on the workflow page will restart the workflow. Hopefully this will take the *-live-chat.json
file and convert it into the standard format that can be used.
After the live chat has been converted, you'll need to find the MoveTwitchChatWorkflow
for your video ID and run that as well. Repeat the same for the incomplete video workflows as well.
The logs of the ganymede-api
container will tell you if this process is going smooth or if it's run into issues.
It's a complex process to get these going again so let me know if you have any questions/issues.
Hi, i seem to have to same issue. Recently migrated from 1.43 on a synology, to 2.3.0, now 2.3.1 on a windows machine. I would really like to get at least one memorable vod archived. A lot of them seem to fail on KillTwitchLiveChatDownload.
The problem is i cant seem to find ConvertTwitchLiveChatWorkflow, to "jumpstart" it. All the -live-chat and -video files are in the tmp directory.
Also notice that start time and close time is "invalid date" on all closed workflows. Active workflows have invalid date on start time, but the current time on close time.
Have temporal UI too, if that helps.
The problem is i cant seem to find ConvertTwitchLiveChatWorkflow, to "jumpstart" it. All the -live-chat and -video files are in the tmp directory.
Ya that's right because the workflow didn't progress past the download. I can likely recover everything with some manual effort. First, make a copy of all the data in the Ganymede container to somewhere on your host to make sure it doesn't get deleted.
docker cp ganymede-api:/tmp ./tmp-backup
I'll walk through the manual archive steps below.
To perform the manual steps of the video archive process, follow the below instructions.
docker exec -it ganymede-api /bin/bash
./tmp
that you want to go through the archive process with. For example, 44359154267_d1283376-2b5c-11ef-b9de-0242ac1a0007-video.mp4
-convert
appended to the output file name.
ffmpeg -i /tmp/44359154267_d1283376-2b5c-11ef-b9de-0242ac1a0007-video.mp4 -c:v copy -c:a copy /tmp/44359154267_d1283376-2b5c-11ef-b9de-0242ac1a0007-video-convert.mp4
-convert
file from the FFmpeg command to the path you copied
cp /tmp/44359154267_d1283376-2b5c-11ef-b9de-0242ac1a0007-video-convert.mp4 /vods/staysafetv/2024-06-15-44359154267-live-d1283376-2b5c-11ef-b9de-0242ac1a0007/44359154267-video.mp4
Converting the chat is more difficult. If you send me the following information/files I can do this for you. I will need the following:
-live-chat.json
files from the /tmp
directorychat_start
time for each chat/VOD. You can retrieve this by running the below command. Update the ID with the Ganymede ID of the VOD you are recovering
docker exec ganymede-db psql -U ganymede ganymede-prd -c "select chat_start from queues where vod_queue = 'd1283376-2b5c-11ef-b9de-0242ac1a0007'"
v2.3.2 has been released that includes the fix to this chat download issue. If you're attempting to recover failed archives, I advise to hold off on updating until you get those recovered.
Hi, thank you so much! Updated to v2.3.1:main tag on api and fronted just before you replied. I see that fixed the invalid dates.
I was able to convert and transfer the video files to the archive.
2024-05-17 21:20:32.790546+00
2024-05-21 10:01:33.420771+00
Here are the converted chat files. One of them is likely longer than the video as it failed to stop downloading. This shouldn't affect the playback though as the start time is what really matters. You'll need to move these files to the correct path found by editing the VOD in Ganymede and copying to the chat_path
.
40658934565_49e946eb-1493-11ef-8dc9-0242ac150007-chat-convert.json
42362888808_18a5b85a-1759-11ef-8dc9-0242ac150007-chat-convert.json
If you want to render these chats into videos for long-term archival reasons. Follow the below steps
docker exec -it ganymede-api /bin/bash
.TwitchDownloaderCLI chatrender -i <path_to_chat_json> <arguments> -o /tmp/chat.mp4
path_to_chat_json
is the path to the chat json you just copiedarguments
can be retrieved from Admin > Settings and copying the arguments from "Chat Render Args"If you're not trying to recover any more failed archives I recommend updated to the images to the latest version now.
As for me, I decided the failed VOD's were not important enough to go to all the troubles haha :)
@Blaiz0 If you can let us know you succesfully saved the vod I can close this issue.
Thanks @Zibbp for the continues good help :D
Yeah i was able to successfully archive the chats! The issue was only intermittent for me, and i haven't been able to test out v2.3.2 yet. Im sure you can close it, ill report back if it still a problem after some testing.
I'm not sure what is happening, but the "chat download" never stop, resulting in errors. Some downloads are successfully recorded and moved, while others are not. See the pictures and logs below.
The logs in ganymede itself; "Video Download" log:
"Chat Download" log:
ganymede-api-2024-06-13T15-46-06.log ganymede-temporal-2024-06-13T15-47-47.log
If you need more logs let me know please :)
EDIT: added docker compose