使用 ffmpeg 提取视频中的音频保存为 mp3 格式
Mar 15, 2025
$ ffmpeg -i input.mkv -f mp3 -vn output.mp3 其中 -vn 参数表示不要输出视频
ffmpeg 无损转换 mp4 到 mkv
Mar 12, 2025
mp4 和 mkv 都是把视频和音频进行封装的不同规范,无损转换就是不对源文件中的视频和音频进行压缩,只是对格式重新进行封装。 $ ffmpeg6 -i input.mp4 -codec copy output.mkv
使用 `withUnsafeContinuation` 代替 `withCheckedContinuation` 避免在 iOS 18 中发生崩溃
Mar 11, 2025
问题 在 iOS 18 中,使用 withCheckedContinuation,withCheckedThrowingContinuation 会导致崩溃。 相反的,使用 withUnsafeContinuation,withUnsafeThrowingContinuation 才是安全的方法 😂。 …
解决 Wireguard 互联时 No route to host 的问题
Mar 07, 2025
在某些复杂的网络环境下,仅使用简单的配置可能会遇到 No route to host 的问题。 具体表现是使用 traceroute 命令无法访问到目标 IP(10.1.1.5 是另一台 Wireguard Peer 设备的地址)。 …
在 macOS 上安装 clang-format
Mar 06, 2025
clang-format 命令并没有包含在 Xcode 中,需要手动安装。 $ sudo port install clang-19 clang_select llvm-19 llvm_select 安装后把 clang-19 设置为默认版本: $ sudo port select --set llvm mp-llvm-19 $ sudo port select --set clang mp-clang-19 现在就可以使用 clang-format 命令了。 格式化相关的选项可以参考: https://clang.llvm.org/docs/ClangFormatStyleOptions.html …
在 Alpine Linux 上使用 Clang
Mar 02, 2025
Alpine Linux 的 libc 使用的是 musl ,Clang 是作为前端编译器,实际链接的时候是使用 musl 的库。 安装 Clang 和 lld: $ apk add clang lld 编译 C 源码: $ clang -fuse-ld=lld main.c $ ldd a.out /lib/ld-musl-aarch64.so.1 (0xfff561cb0000) libc.musl-aarch64.so.1 => /lib/ld-musl-aarch64.so.1 (0xfff561cb0000) 可以看到依赖很干净,不像 glibc 那样。 …
安装 Alpine Linux
Mar 02, 2025
Alpine Linux 不像 Debian、Fedora 这种发行版本一样有友好的安装向导。 安装镜像启动后,使用 root 身份登录,没有密码: 然后运行命令 setup-alpine 接下来就是文字模式的安装向导,按提示逐步操作就可以了。 …
在 Fedora 上使用 musl Clang
Mar 02, 2025
测试的系统环境是 Fedora 41 musl 是轻量级的 libc 实现,Docker 官方的容器使用的 Alpine 系统就是把 musl 作为它的默认 libc 库。 $ sudo dnf install musl-clang lld musl 的头文件和库文件的路径是 /usr/{arch}-linux-musl,使用命令 musl-clang 可以像 clang 一样直接编译 C 源码,它已经把 musl 需要的环境都包装好了: …
在 Fedora 上安装 Clang 开发环境
Mar 01, 2025
测试环境使用的系统是 Fedora 41: https://fedoraproject.org/workstation/download Clang 是编译器前端,后端还是默认依赖 GCC 的运行库实现,如果想要使用全套 Clang 工具链,需要额外安装 libcxx, llvm-libunwind-static,llvm-libunwind-devel 运行库和 lld 链接器: …
Xcode 16.3 下载模拟器离线安装包
Feb 24, 2025
Xcode 16.3 开始就不在官网上提供模拟器的离线安装包了,需要共享给其它电脑上使用的话,就需要下载离线安装包: xcodebuild -downloadAllPlatforms -exportPath ~/Downloads 其它电脑上手动导入模拟器: xcodebuild -importPlatform "~/Downloads/watchOS 9 beta Simulator Runtime.dmg" 参考资料 https://developer.apple.com/documentation/xcode/downloading-and-installing-additional-xcode-components …