sudo apt-get install xserver-xorg-video-dummy
Create / Edit xorg.conf file Rename file if already exists for backup
| import Cocoa | |
| // Say we have a Person model | |
| enum V1 { | |
| struct Person: Codable { | |
| let name: String | |
| var age: Int | |
| } | |
| } |
Below are a list of System Preference pane URLs and paths that can be accessed with scripting to assist users with enabling macOS security settings without having to walk them through launching System Preferences, finding panes, and scrolling to settings. Not all panes have an accessible anchor and some are OS specific.
To find the Pane ID of a specific pane, open the System Preferences app and select the desired Preference Pane. With the pane selected, open the ScriptEditor.app and run the following script to copy the current Pane ID to your clipboard and display any available anchors:
tell application "System Preferences"
set CurrentPane to the id of the current pane
set the clipboard to CurrentPane| tasks.withType<Jar> { | |
| manifest { | |
| attributes["Main-Class"] = "com.example.MainKt" | |
| } | |
| } |
| class BytesToTexture { | |
| func texture(bytes: [UInt8], bytesPerRow: Int) -> CGImage { | |
| let rgbaData = CFDataCreate(nil, bytes, bytes.count)! | |
| let provider = CGDataProvider(data: rgbaData)! | |
| let colorSpace = CGColorSpaceCreateDeviceRGB() | |
| let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.noneSkipLast.rawValue) | |
| return CGImage( | |
| width: bytesPerRow / 4, | |
| height: bytes.count / bytesPerRow, | |
| bitsPerComponent: 8, |
This tutorial will work you through steps of configuring an FFmpeg build tailored for RTMP streaming on macOS. At first I think of making it support general live streaming, with additional protocols like HLS, but to keep things simple let's stick with RTMP for now. (Anyway, I do include HLS in the protocol list as well as some related bitstream filters but it's untested.)
The built FFmpeg executable should
| # References: | |
| # https://cmake.org/cmake/help/latest/command/add_custom_target.html | |
| # https://samthursfield.wordpress.com/2015/11/21/cmake-dependencies-between-targets-and-files-and-custom-commands/ | |
| # https://gist.github.com/socantre/7ee63133a0a3a08f3990 | |
| # https://stackoverflow.com/questions/24163778/how-to-add-custom-target-that-depends-on-make-install | |
| # https://stackoverflow.com/questions/30719275/add-custom-command-is-not-generating-a-target | |
| # https://stackoverflow.com/questions/26024235/how-to-call-a-cmake-function-from-add-custom-target-command | |
| # https://blog.csdn.net/gubenpeiyuan/article/details/51096777 | |
| cmake_minimum_required(VERSION 3.10) |
#Capture and stream a webcam To capture using the iSight camera on a Mac, or infact any other webcam connected to the Mac, we can use FFmpeg. First get a list of the devices installed.
ffmpeg -f avfoundation -list_devices true -i ""
This will list the aviable video and audio devices.
The below will capture at 30fps and the set video size to a file.
ffmpeg -f avfoundation -framerate 30 -video_size 640x480 -i "0:none" out.avi
Transcoding FLAC music to Opus:
ffmpeg is a highly useful application for converting music and videos. However, audio transcoding is limited to a a single core. If you have a large FLAC archive and you wanted to compress it into the efficient Opus codec, it would take forever with the fastest processor to complete, unless you were to take advantage of all cores in your CPU.
parallel 'ffmpeg -v 0 -i "{}" -c:a libopus -b:a 128k "{.}.opus"' ::: $(find -type f -name '*.flac')
Transcoding Videos to VP9: