Joined: 7/17/2012
Posts: 528
Location: Switzerland
https://community.citra-emu.org/t/implement-lagarith-lagarith-codec-request/231447 Is it possible zhupengfei? It's just one of the best lossless codecs for weight and quality. Or do you have any tip on what format/encoding to use? As it stands it's a mess, and changing the bitrate in dump options doesn't seem to have any effect on the quality and the bitrare itself of the video.
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Lagarith is windows only. Better idea is supporting camstudio lossless codec, the way lsnes uses it. https://repo.or.cz/lsnes.git/blob/HEAD:/src/video/avi/codec/video/cscd.cpp https://github.com/SourMesen/Mesen/commit/0f5c7fe78b107df9a34163af6855f2bd1fda748a But the future proof solution is ffmpeg + nut piping, because it supports literally everything that ffmpeg supports. https://github.com/clementgallet/libTAS/blob/master/src/library/encoding/AVEncoder.cpp
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
zhupengfei
He/Him
Joined: 10/2/2018
Posts: 17
Location: China
Currently it should already allow you to use any ffmpeg encoder and muxer, but I'm not sure what is nut piping. I likely did it the hard way and directly used the av libraries instead. --- Regarding the desyncs, I see applets are involved (i.e. software keyboard and mii selector). Can you two please try again with LLE applets? HLE applet inputs aren't really recorded at the moment. To use LLE applets, you can use my tool threeSD to import your system titles from your 3DS. ---
phoneix1291 wrote:
And the framerate recorded in the video dump is at 600fps:
Ah, that's really strange. We are using ffmpeg's fps filter to resample the video (~59.82Hz which not all encoders support) to 60fps. It shouldn't really be 600fps. Can you tell me what configuration are you using in Citra's Dump Video?
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
That works too, since ffv1 is very good.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Darth_Marios
He/Him
Joined: 5/11/2015
Posts: 106
Hmm, in order to use that threeSD tool i must have a 3DS? Because i dont own one anymore...
Joined: 7/17/2012
Posts: 528
Location: Switzerland
feos wrote:
That works too, since ffv1 is very good.
Yes ffv1 is very good, BUT
"phoenix1291 wrote:
changing the bitrate in dump options doesn't seem to have any effect on the quality and the bitrare itself of the video
For exemple this video: (Citra movie) Link to video Set the bitrate to 40000, 80000 or 8000000 always dump a ~10.5 GiB video with a bitrate of 737 Mb/s https://pastebin.com/3Jjc7Wf3 Test with ffv1, 1# bitrate set at 40000, 2# bitrate set at 80000: Same result, file: 4.87 GiB at 347 Mb/s https://pastebin.com/ecZC14XQ https://pastebin.com/fQeC81zV ------------------------ @zhupengfei
zhupengfei wrote:
Ah, that's really strange. We are using ffmpeg's fps filter to resample the video (~59.82Hz which not all encoders support) to 60fps. It shouldn't really be 600fps. Can you tell me what configuration are you using in Citra's Dump Video?
The video itself is at 60fps, but the hardcoded informations in the video dump say 600 (checked with Windows propriety and MediaInfo). I have another question, when you load a savestate, the current button pressed are not take in count, you have to repress the button/joystick etc as you can see here for exemple: https://youtu.be/_9PlEAAwfHo?t=72 Is it intended?
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Bitrate is irrelevant for ffv1, since it uses the same lossless compression all over the place. The only difference you will get is from different keyints.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 7/17/2012
Posts: 528
Location: Switzerland
feos wrote:
Bitrate is irrelevant for ffv1, since it uses the same lossless compression all over the place. The only difference you will get is from different keyints.
Ok, but it's the same with MKV and MP4 encodes and/or other codecs. MKV bitrate 40000: output at 2 906 kb/s https://pastebin.com/UKMyqfNU MKV bitrate 80000: output at 2 905 kb/s https://pastebin.com/bXRw3Z9j MP4 bitrate 40000: output at 2 918 kb/s https://pastebin.com/NXYk32Ze MP4 bitrate 80000: output at 2 912 kb/s https://pastebin.com/SBpDbbLH BUT in MKV and MP4 the framerate is set at 59.831 FPS, not 600... With ffv1, huffyuv, Mp4 my video editing softwares says that the source is broken (I have no problem with Dolphin's ffv1 dump)... Seems to work with Mkv, but at 2 906 kb/s it's just ugly... *Seems to work in handbrake, I must learn how to use Avisynth... Link to video It's funny that even Youtube is lost with the hardcoded framerate if you upload raw video: (all the videos are ~2:00 length...)
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
zhupengfei
He/Him
Joined: 10/2/2018
Posts: 17
Location: China
phoneix1291 wrote:
I have another question, when you load a savestate, the current button pressed are not take in count, you have to repress the button/joystick etc
Please check the next canary build, there should be a partial fix implemented.
Darth_Marios
He/Him
Joined: 5/11/2015
Posts: 106
Zhupengfei, but with HLE you mean installed games like CIA. And LLE are .3DS file?
zhupengfei
He/Him
Joined: 10/2/2018
Posts: 17
Location: China
Nope. LLE (Low Level Emulation) applets mean that you are using the original 3DS OS software for emulation. HLE (High Level Emulation) means that a high level replacement is used. For instance, when using LLE applets, you get the same keyboard screen as on a 3DS when games request the software keyboard. When using HLE applets, you get a popup dialog instead.
Darth_Marios
He/Him
Joined: 5/11/2015
Posts: 106
zhupengfei wrote:
Nope. LLE (Low Level Emulation) applets mean that you are using the original 3DS OS software for emulation. HLE (High Level Emulation) means that a high level replacement is used. For instance, when using LLE applets, you get the same keyboard screen as on a 3DS when games request the software keyboard. When using HLE applets, you get a popup dialog instead.
Got it. And there's no other method to change to LLE without the use of threeSD?
zhupengfei
He/Him
Joined: 10/2/2018
Posts: 17
Location: China
Unfortunately that's indeed the only legal way to do it. Please also check the latest Canary build. The issue with keyboards & savestates should be partially fixed now.
Joined: 9/12/2014
Posts: 535
Location: Waterford, MI
How do you update canary on linux? I tried flatpak install https://flatpak.citra-emu.org/citra-canary.flatpakref command in terminal but it says its already at latest: 1806 as of writing this. Is that the latest?
zhupengfei
He/Him
Joined: 10/2/2018
Posts: 17
Location: China
Nope, flatpak builds keep timing out recently so it hasn't been updated for a while. If you want, you can try using standalone linux builds distributed here, but I'm not exactly sure what libraries you'll need.
Joined: 9/12/2014
Posts: 535
Location: Waterford, MI
It runs! Next question, you say that in the latest canary that some changes were made, but on here: https://github.com/citra-emu/citra/pull/5448 it still says 10 commits like nothing was changed.
Joined: 7/17/2012
Posts: 528
Location: Switzerland
I have random crash when I load a savestate with Bloxboy! (USA). I have uploaded more movies on my Gdrive (link in my signature for more convenience). Resident Revelations sync, but desync at the end of movie (see Gdrive link). With the crash experiences, I wonder if is it possible, like in Bizhawk, to add an option to save the movie at any time?
zhupengfei wrote:
Please also check the latest Canary build. The issue with keyboards & savestates should be partially fixed now.
About what? The inputs that not being take in count? For now I haven't notice any difference with latests (Canary) releases. I don't know if I was dreaming, but I thought I saw a message about being able to start a game on pause when it's launched? I couldn't figure out how to do it. What about being able to pause the game at the end of a movie?
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
zhupengfei
He/Him
Joined: 10/2/2018
Posts: 17
Location: China
phoneix1291 wrote:
About what? The inputs that not being take in count? For now I haven't notice any difference with latests (Canary) releases.
That's strange. It is supposed to be at least partially fixed. I'll look into that.
phoneix1291 wrote:
I don't know if I was dreaming, but I thought I saw a message about being able to start a game on pause when it's launched? I couldn't figure out how to do it.
It should be available in the next canary build, but not the current one. Just enable frame advance before you start the game.
phoneix1291 wrote:
What about being able to pause the game at the end of a movie?
It turns out to be harder than it seems. I'm still working on this.
Joined: 7/17/2012
Posts: 528
Location: Switzerland
Thanks for your answers zhupengfei I'have made a tiny test with Theatrhythm Final Fantasy, and Luigi's Mansion: Dark Moon (the game run at ~7-8fps on my laptop sadly) it sync well. Will test threeSD in the next days, I'm gonna get one of my 3DS back soon. I will update my movie files repository with my recent tests. I got this error when I try to replay my Mighty Gunvolt ctm file:
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Darth_Marios
He/Him
Joined: 5/11/2015
Posts: 106
Mercenaries 3D still desync (and desync in another way if i try to dump the video). Maybe this game is a bit broken
Joined: 7/17/2012
Posts: 528
Location: Switzerland
Darth Marios wrote:
Mercenaries 3D still desync (and desync in another way if i try to dump the video). Maybe this game is a bit broken
How long is your movie? Have you tried my movie to see if it sync for you?
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Darth_Marios
He/Him
Joined: 5/11/2015
Posts: 106
phoenix1291 wrote:
Darth Marios wrote:
Mercenaries 3D still desync (and desync in another way if i try to dump the video). Maybe this game is a bit broken
How long is your movie? Have you tried my movie to see if it sync for you?
1. 3-5 minutes 2. Not yet. Maybe because i use a save? I need it to have everything unlocked (but the save its same and untouched before and after the recording, and i dont save during recording)
Joined: 7/17/2012
Posts: 528
Location: Switzerland
Darth Marios wrote:
1. 3-5 minutes 2. Not yet. Maybe because i use a save? I need it to have everything unlocked (but the save its same and untouched before and after the recording, and i dont save during recording)
I will test a more long movie with RE Mercenaries soon. But tests I've done as I've reported in my posts before, often the fact that there's already a backup/savestate corrupts the film and/or the syncronicity. If it can be useful, I made a video with the four graphical texture filters available in Citra: Link to video zhupengfei: I know that I ask a lot of things, and that are not easy to do, but I had problems when importing renderings, with the sound (AAC, Vorbis, LibVorbis among others) in Adobe Media Encoder, the sound is either not taken into account because (according to my research) it's on track 1, or it's well supported but after the rendering it's completely broken. So I had to separate the video track and the audio track to reassemble them, hence my question, and I guess it must be complicated, would it be possible to include an option to dump the video and the audio in separate files?
zhupengfei wrote:
phoneix1291 wrote:
About what? The inputs that not being take in count? For now I haven't notice any difference with latests (Canary) releases.
That's strange. It is supposed to be at least partially fixed. I'll look into that.
The problem is still here with the latest canary build But seems to be fixed in some games (only Poochy & Yoshi’s Woolly World for me for now)... Is it possible to display the buttons that were pressed while playing back a movie? And the same when a savestate is saved/loaded?
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Joined: 7/17/2012
Posts: 528
Location: Switzerland
Testing .ctm movies with re-recording (savestates, save and load) with each time a video dump (as this can affect synchronicity according to some posts by Darth Marios) (movies in my folder as usual, I can post the videos if there are people interested, or you can simply replay the .ctm file.) I have create a new folder insite my ctm folder "After threeSD", I test the rerecord with games copied from my 3DS with treeSD. The 3DS internal keyboard doesn't always work with LLE applets with games imported into Citra from the 3DS with treeSD (for example RE Revelations, Tri Force Heroes and Mario & Sonic London 2012 always offers me the Windows prompt to enter the name and not the 3DS keyboard). Majora's Mask desync faster with the version I imported from my 3DS with treeSD than with the .3ds version.
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Joined: 7/17/2012
Posts: 528
Location: Switzerland
I will update this post list regularly (note that rerecording movies are 2-20 minutes long, I will not test more long movies until we are certain that rerecording is solid).
    - Poochy & Yoshi’s Woolly World -> sync perfectly - Super Mario 3D Land (1st level) -> sync - WarioWare Gold- (Intro, Wario, Jimmy) -> sync - Shantae And The Pirate's Curse -> sync - Lola's Math Train -> sync - Angry Birds Trilogy -> sync - Mario & Luigi: DreamTeam -> sync - Dead Or Alive Dimensions (Chronicle Mode) -> sync - Yoshi's New Island (Intro + World 1-1) -> sync - Mario & Sonic at The Rio 2016 Olympic Games (Very short test, Quick Play mode, 100m and 110m Hurdles -> sync - Mario Kart 7 (Mushroom Cup 150CC) -> sync - Stella Glow -> sync - Super Monkey Ball 3D (1st World) -> sync - Majora's Mask -> desync - Bloxboy! -> desync at the very beginning - Dr. Mario: Miracle Cure -> desync - Hyrule Warriors Legends -> desync at the very beginning - Mario & Sonic London 2012 -> desync - Captain Toad Treasure Tracker -> desync after first intro stage - Kid Ikarus Uprising -> desync - Mario & Luigi Paper Jam -> desync - Shovel Knight: Treasure Trove -> desync at name entry - Dr. Mario: Miracle Cure (3DS import via treeSD) -> desync - Mario and Luigi: Superstar Saga + Bowser’s Minions (3DS import via treeSD) -> desync - Super Street Fighter IV 3D Edition -> desync and the game freeze on results after the first fight - NSMB2: Gold Edition -> desync at the very beginning - Luigi's Mansion 1 -> desync - Mario & Luigi: Bowser’s Inside Story + Bowser Jr.’s Journey -> desync - Super Mario Maker for 3DS -> desync - The Legend of Zelda: Tri Force Heroes -> desync - Metroid: Samus Returns -> desync right after the intro cinematic - Sonic Generations -> desync at the beginning - The Adventures of Tintin -> desync - Azure Striker Gunvolt Striker Pack -> desync - Azure Striker Gunvolt 2 -> desync - Dreamworks Super Star Kartz -> desync - 3D Super Hang-On -> desync
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291