Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
video_editing:davinci_resolve_in_the_cloud [2021/02/12 21:20] – [Configure VM & Install Software] david | video_editing:davinci_resolve_in_the_cloud [2021/11/22 09:55] (current) – david | ||
---|---|---|---|
Line 2: | Line 2: | ||
I'm trying to keep up with my notes on [[: | I'm trying to keep up with my notes on [[: | ||
+ | |||
+ | ===== Summary ===== | ||
+ | |||
+ | My questions were: | ||
+ | |||
+ | > Can I use cloud computing to run DaVinci Resolve? | ||
+ | > At what point does it become cheaper to buy a new laptop for " | ||
+ | |||
+ | This came from the fact that I had an older (but not that old) laptop which could no-longer keep up with running DaVinci resolve (at least reasonably). I didn't need to upgrade it for any productivity outside of running DaVinci Resolve. | ||
+ | |||
+ | Laptop prices showed that a laptop with an Nvidia card that would run DaVinci Resolve confidently for a few years would cost about £3,000 If I went with Apple, then the new M1 chip brings the costs down. The Macbook Air which comes in at just over £1,000 (Or just under £1,500 for a more powerful Macbook Pro with the M1 chip). | ||
+ | |||
+ | After doing some numbers (just for DaVinci Resolve), I've calculated (at least for UK prices) that a £1,000 laptop used 10 days a year over a 5 year lifetime works out at £20 a day. Worst case scenario is a £3,000 laptop used for 5 days a year over a 3 year lifetime, which averages out at £200 a day. That's a lot of variance! | ||
+ | |||
+ | > If I can find a way of working which comes to less than £20 ($27.36) a day then I'm on par with my cheapest solution for my predicted usage. | ||
+ | |||
+ | This can be achieved by using one of: | ||
+ | * '' | ||
+ | * '' | ||
===== Note ===== | ===== Note ===== | ||
This looks at using powerful windows virtual machines in the cloud, they will run both versions of DaVinci Resolve (Free and Studio). However studio will be able to use more of the fancy GPU features. Warning from personal experience, getting a dongle to work remotely is hard/ | This looks at using powerful windows virtual machines in the cloud, they will run both versions of DaVinci Resolve (Free and Studio). However studio will be able to use more of the fancy GPU features. Warning from personal experience, getting a dongle to work remotely is hard/ | ||
+ | |||
+ | This mostly looks at two EC2 instances: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
===== Scenario ===== | ===== Scenario ===== | ||
Line 58: | Line 81: | ||
To compare, I looked at the EC2 prices based on the Paris region: | To compare, I looked at the EC2 prices based on the Paris region: | ||
+ | |||
+ | [[https:// | ||
^ Model| | ^ Model| | ||
^ Cores| | ^ Cores| | ||
Line 67: | Line 92: | ||
Using the 16 core machine for 12 hours (marathon day), I'm keeping (just) below the $27.36/£20 a day price I'm aiming for, although tax and data storage might push it over. So, instead to remain cost effective I'm better either using it for a shorter period of time or dropping down to a smaller machine. Fortunately using cloud resources makes this scaling up and down easy. | Using the 16 core machine for 12 hours (marathon day), I'm keeping (just) below the $27.36/£20 a day price I'm aiming for, although tax and data storage might push it over. So, instead to remain cost effective I'm better either using it for a shorter period of time or dropping down to a smaller machine. Fortunately using cloud resources makes this scaling up and down easy. | ||
+ | |||
+ | [[https:// | ||
+ | ^ Model| | ||
+ | ^ Cores| | ||
+ | ^ Memory (GB)| N/A | N/A | ||
+ | ^ Hour Cost (USD)| | ||
+ | ^ 8 Hour Day (USD)| | ||
+ | ^ 10 Hour Day (USD)| | ||
+ | ^ 12 Hour Day (USD)| | ||
+ | |||
+ | Using the 16 core machine for 12 hours (marathon day), I'm keeping well below the $27.36/£20 a day price I'm aiming for. I could go up to the more powerful instance for shorter bursts of productivity, | ||
When you stop (turn off) the virtual machine, you stop paying the prices above. Instead you only pay for the storage: | When you stop (turn off) the virtual machine, you stop paying the prices above. Instead you only pay for the storage: | ||
Line 149: | Line 185: | ||
==== Connect To VM ==== | ==== Connect To VM ==== | ||
- | Once you have the hostname, username and password, you can connect using Windows | + | |
+ | Once you have the hostname, username and password, you can connect using Windows | ||
Note: It does allow you to download a configuration file with the username and hostname which you can use to launch the application rather than copy and paste into the application. | Note: It does allow you to download a configuration file with the username and hostname which you can use to launch the application rather than copy and paste into the application. | ||
- | If you are reconnecting, check the firewall rules, default uses the IP address from which you first connected. | + | If you are reconnecting: |
+ | - Check the firewall rules, | ||
+ | - Check the Public DNS. If you stop, then restart the EC2 instance, the IP address (and Public DNS associated with it) will change. | ||
+ | |||
+ | If you get too many old connections: | ||
+ | * https:// | ||
+ | * Remove entries from: '' | ||
==== Configure VM & Install Software ==== | ==== Configure VM & Install Software ==== | ||
Line 166: | Line 209: | ||
- Format/ | - Format/ | ||
- Note: If you " | - Note: If you " | ||
- | - Enable " | + | - Enable " |
Software installation: | Software installation: | ||
Line 184: | Line 227: | ||
Note: If you " | Note: If you " | ||
- | Copy vir RDP | + | Copy vir RDP... |
or, using S3 | or, using S3 | ||
Line 192: | Line 235: | ||
AWS cli, copy files to/from S3 | AWS cli, copy files to/from S3 | ||
* https:// | * https:// | ||
+ | * https:// | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
- | + | ||
+ | |||
+ | Using access keys from above | ||
+ | < | ||
+ | aws configure | ||
+ | </ | ||
< | < | ||
aws s3 ls s3://< | aws s3 ls s3://< | ||
Line 227: | Line 277: | ||
* https:// | * https:// | ||
+ | ====== AWS DaVinci Resolve Workflow Reconnect ====== | ||
+ | ===== Upload new files ===== | ||
+ | |||
+ | Use a bat script to opy the files from local machine to s3. | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | <file bash push_projects_to_aws.bat> | ||
+ | @ECHO OFF | ||
+ | REM =========================================================================== | ||
+ | REM Set common variables | ||
+ | REM project_list will be whatever directories you wish to copy from the s3 projects directory to local | ||
+ | REM =========================================================================== | ||
+ | SET aws_s3_bucket=drh-video1 | ||
+ | SET drive_location=" | ||
+ | |||
+ | SET project_list=dir_name_1 dir_name_2 | ||
+ | |||
+ | REM remove quotes | ||
+ | SET drive_location=%drive_location:" | ||
+ | |||
+ | REM =========================================================================== | ||
+ | REM Set varialbes used in script | ||
+ | REM =========================================================================== | ||
+ | |||
+ | REM SET local_project_location=%drive_location%\projects | ||
+ | SET local_project_location=%drive_location% | ||
+ | SET s3_project_location=s3:// | ||
+ | |||
+ | echo Local project location: %local_project_location% | ||
+ | echo S3 project location: %s3_project_location% | ||
+ | |||
+ | REM =========================================================================== | ||
+ | REM Push projects up | ||
+ | REM =========================================================================== | ||
+ | |||
+ | FOR %%i in (%project_list%) do ( | ||
+ | echo Project: %%i | ||
+ | aws s3 sync " | ||
+ | ) | ||
+ | |||
+ | pause | ||
+ | </ | ||
+ | |||
+ | Remember before connecting: | ||
+ | - Check new IP/DNS Name | ||
+ | |||
+ | ===== Create D drive ===== | ||
+ | The second disk isn't kept, but can be recreated using a script | ||
+ | |||
+ | After connecting: | ||
+ | - Format/ | ||
+ | |||
+ | <file bash script_diskpart.txt> | ||
+ | select disk 1 | ||
+ | clean | ||
+ | create partition primary | ||
+ | format quick | ||
+ | assign letter=D | ||
+ | </ | ||
+ | |||
+ | <file bash d_drive_format.bat> | ||
+ | diskpart /s script_diskpart.txt | ||
+ | pause | ||
+ | </ | ||
+ | |||
+ | ===== Copy files from projects in s3 ===== | ||
+ | |||
+ | <file bash copy_to_d.bat> | ||
+ | @ECHO OFF | ||
+ | REM =========================================================================== | ||
+ | REM Set common variables | ||
+ | REM project_list will be whatever directories you wish to copy from the s3 projects directory to local | ||
+ | REM =========================================================================== | ||
+ | SET aws_s3_bucket=drh-video1 | ||
+ | SET drive_location=D: | ||
+ | REM SET drive_location=C: | ||
+ | |||
+ | SET project_list=OVFM logo | ||
+ | |||
+ | REM =========================================================================== | ||
+ | REM Set varialbes used in script | ||
+ | REM =========================================================================== | ||
+ | |||
+ | SET local_project_location=%drive_location% | ||
+ | SET s3_project_location=s3:// | ||
+ | |||
+ | echo Local project location: %local_project_location% | ||
+ | echo S3 project location: %s3_project_location% | ||
+ | |||
+ | REM =========================================================================== | ||
+ | REM List available projects | ||
+ | REM =========================================================================== | ||
+ | echo =========================================================================== | ||
+ | echo Available Projects | ||
+ | echo =========================================================================== | ||
+ | aws s3 ls %s3_project_location%/ | ||
+ | |||
+ | REM =========================================================================== | ||
+ | REM Create some local directories | ||
+ | REM =========================================================================== | ||
+ | |||
+ | mkdir %drive_location% | ||
+ | mkdir D:\MEDIA | ||
+ | |||
+ | REM =========================================================================== | ||
+ | REM Pull projects down | ||
+ | REM =========================================================================== | ||
+ | echo =========================================================================== | ||
+ | echo Downloading Configured Projects | ||
+ | echo =========================================================================== | ||
+ | |||
+ | FOR %%i in (%project_list%) do ( | ||
+ | aws s3 cp %s3_project_location%/ | ||
+ | ) | ||
+ | |||
+ | pause | ||
+ | </ | ||
+ | |||
+ | ===== Copy files from projects in D to s3 ===== | ||
+ | <file bash sync_to_s3.bat> | ||
+ | @ECHO OFF | ||
+ | SETLOCAL ENABLEDELAYEDEXPANSION | ||
+ | REM =========================================================================== | ||
+ | REM Set common variables | ||
+ | REM =========================================================================== | ||
+ | SET aws_s3_bucket=drh-video1 | ||
+ | SET drive_location=D: | ||
+ | |||
+ | REM =========================================================================== | ||
+ | REM Set varialbes used in script | ||
+ | REM =========================================================================== | ||
+ | |||
+ | SET local_project_location=%drive_location% | ||
+ | SET s3_project_location=s3:// | ||
+ | |||
+ | echo Local project location: %local_project_location% | ||
+ | echo S3 project location: %s3_project_location% | ||
+ | |||
+ | REM =========================================================================== | ||
+ | REM Loop directories in projects directory and sync to s3 | ||
+ | REM =========================================================================== | ||
+ | for /d %%I in (%local_project_location%\*) do ( | ||
+ | SET FullDirName=%%I | ||
+ | SET CurrDirName=%%~nxI | ||
+ | echo Project Name: !CurrDirName! | ||
+ | echo Project Path: !FullDirName! | ||
+ | aws s3 sync !FullDirName! %s3_project_location%/ | ||
+ | ) | ||
+ | |||
+ | pause | ||
+ | </ |