多年来我一直在使用mysqld_safe
(像这样),--skip-grant-tables
这样我就可以安全地重置我的 MySQLroot
密码:
sudo mysqld_safe --skip-grant-tables &
但最近,在尝试在 Red Hat 8 上安装 MySQL 8.0.36 时,我得到:
mysqld_safe: command not found
有没有搞错?如果mysqld_safe
找不到该命令,我该如何设置/更改密码root
?
多年来我一直在使用mysqld_safe
(像这样),--skip-grant-tables
这样我就可以安全地重置我的 MySQLroot
密码:
sudo mysqld_safe --skip-grant-tables &
但最近,在尝试在 Red Hat 8 上安装 MySQL 8.0.36 时,我得到:
mysqld_safe: command not found
有没有搞错?如果mysqld_safe
找不到该命令,我该如何设置/更改密码root
?
我将 macOS Sonoma (14.3) 设置为在后台自动更新应用程序。
这很棒!但是有什么方法可以查看 macOS 中更新了哪些应用程序以及更新时间吗?
有时,如果需要调试更新问题,那么安装什么、何时安装会很好。
在我最近升级到 macOS 13 (Ventura) 之前,我可以运行这个 Bash 命令,在我偶尔使用的脚本中将 JPEG 图像转换为 Base64 字符串:
IMAGE_BASE64=$(base64 -b0 /path/to/image.jpg);
结果IMAGE_BASE64
值可以用作$IMAGE_BASE64
我的脚本中的变量。
但我最近尝试在 macOS 13 (Ventura) 中再次使用此脚本,但此base64
命令失败并出现以下错误:
base64: invalid argument -b0
Usage: base64 [-hDd] [-b num] [-i in_file] [-o out_file]
-h, --help display this message
-Dd, --decode decodes input
-b, --break break encoded string into num character lines
-i, --input input file (default: "-" for stdin)
-o, --output output file (default: "-" for stdout)
将命令切换为 use-i
似乎可以解决问题:
IMAGE_BASE64=$(base64 -i /path/to/image.jpg);
但是这两个命令有什么区别呢?
-b0
macOS 13 (Ventura) 之前在做什么,-i
现在在 macOS 13 (Ventura) 中处理?
我在 macOS Catalina (10.15.7) 上运行 FFmpeg 版本 4.3.1(通过 Homebrew 安装)。今天早上我正在运行一个标准的 FFmpeg 命令来合并 MP4 和 SRT 字幕:
ffmpeg -y -i input.mp4 -i input.srt -c:v copy -c:a copy -c:s mov_text -metadata:s:s:0 language=eng output.mp4
当它突然在屏幕上显示这些行时失败:
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native))
Press [q] to stop, [?] for help
Segmentation fault: 11
这对我来说很奇怪,因为几天前我使用了完全相同的命令——甚至是过去——没有任何问题。
检查输出文件本身仅显示以下内容;似乎在为输出文件创建标题时立即死亡:
ftypisomisomiso2avc1mp4freemdat
检查我的一些可用 MP4 文件显示,这ftypisomisomiso2avc1mp4freemdat
也是这些文件的初始内容的一部分。但是可以正常工作的 MP4 文件显然有标题和二进制内容。
为什么这会突然发生在如此简单的内容复制/合并命令上?该命令只是将 MP4 视频与字幕合并,而不对内容进行转码,并且应该花费不到一秒钟左右的时间来完成它的工作。
唯一需要注意的是定期运行brew update
,brew upgrade
几乎没有问题。但我假设最近的 FFmpeg 升级导致了这个问题。这是我的 macOS 机器上的完整版本输出以供参考:
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with Apple clang version 12.0.0 (clang-1200.0.32.21)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
可以做些什么来解决这个问题?只需等待发布新版本/补丁 FFmpeg 即可解决该问题?是否有可以添加到该命令的参数以确保该命令按预期工作?
我正在使用 Ubuntu,需要在所有小于 7 天的系统文件中查找,以L
和 are开头.txt
,然后基于该文件生成输出文件。
这是我到目前为止所拥有的:
nohup find / -type f -ctime -7 -name \*.txt \*L | tee /tmp/log``-`hostname`-`date -I`.log
但不知何故,输出是
find: paths must precede expression: `*L'
我尝试了很多方法将其放入L
脚本中。可以做些什么来让它发挥作用?
这是对另一个用户的已删除问题的转贴。当他们突然删除问题时,我正在发布答案,因此我在这里重新发布,以便与他人分享我的解决方案。
简短版:HEIC 图像需要具有偶数尺寸。在 Homebrew 安装的以前版本的 ImageMagick 中,libheif 1.7.0 使用 kludge 将图像尺寸四舍五入到偶数值,以允许转换具有奇数尺寸的图像。
现在,libheif 1.8.0 已经抛弃了这种混乱,并在这种情况下生成图像,尽管它们是有效的 HEIC 文件,但 macOS 似乎无法打开。
虽然 Apple 解决了解决此问题所需要做的一切,但在此期间可以做些什么来允许以允许 macOS 打开它们的方式对这些图像进行干净转换?
更长的版本:自 2020 年 7 月左右以来,我一直在使用 ImageMagick 将成堆的高分辨率 JPEG 图像转换为 HEIC 格式——以节省文件空间和数据传输时间,同时保持质量——自 2020 年 7 月左右开始和关闭。我使用的是 macOS Catalina 10.5.6 (19G2021) 和 ImageMagick 已通过 Homebrew 安装和更新。
过去一个月,在转换一个装满图像的小目录时发生了一些奇怪的事情:看似任意图像会转换为 HEIC,但我无法在“预览”应用程序甚至 macOS 中的 Pixelmator 中打开它们。也没有生成预览图标。更奇怪的是,如果我把 HEIC 图像转换回 JPEG,转换就成功了。所以 HEIC 在某种程度上是有效的,但不是 macOS 的原生 API 可以处理的方式。
根据对ImageMagick repo 上的问题报告的评论,结果证明libheif(在 ImageMagick 中处理 HEIC 内容的库)最近升级到 1.8.0,并且新版本处理奇数尺寸图像的转换与版本不同libheif 1.7.0 及更早版本。对于具有奇数尺寸的图像,它会创建使用clap
(清洁光圈)裁剪变换的 HEIC 图像,而 macOS 显然不知道如何处理它。检查我一堆无法打开的图像,它们都至少有一个尺寸(宽度或高度)为奇数。
因此,虽然这显然是 macOS 以及它如何本机处理 HEIC 文件的问题,但我现在可以做些什么来恢复批量转换可以在 macOS 中查看的图像?降级到 libheif 1.7.0 似乎很混乱,而且有点倒退。
如果您想自己测试,请在 Wikimedia 上使用此测试图像尝试此命令,该测试图像具有 3111 宽 x 3333 高;只需test.jpeg
为此重命名图像:
convert test.jpg test.heic
或者尝试使用 libheif 实用程序执行相同操作,heif-enc
如下所示:
heif-enc test.jpg -o test.heic
在这两种情况下,macOS“预览”应用程序和其他应用程序都无法打开生成的test.heic
文件。但它显然可以使用 ImageMagick 从命令行转换回这样的 JPEG:
convert test.heic test.jpg
我学习了如何使用 HEVC (x265) 视频编码将 MKV 视频转码为 MP4,以使文件更小,使其与 iOS 兼容。但是,虽然这个过程很棒——而且文件大小很小,压缩也很好——当我尝试将字幕合并到一个特定的视频中时,生成的 MP4 视频我会从 FFmpeg 中得到一堆错误,如下所示:
[mp4 @ 0x7facb9002000] pts has no value
[mp4 @ 0x7facb9002000] Application provided duration: 3152805999 / timestamp: 3154741000 is out of range for mov/mp4 format
我正在使用 macOS Mojave (10.15.2) 和通过 Homebrew 安装的 FFmpeg 4.2.1,但即使我下载夜间构建(ffmpeg-4.2.1-macos64-static, 20191215-9fe0790) 并改用该二进制文件,问题仍然存在Homebrew 安装版本。
问题是我有这个视频,我过去已成功转换为带有 x264 视频和 AAC 音频的 MP4,并且能够毫无问题地将 SRT 字幕合并到生成的文件中。但是,当我今天使用 HEVC (x265) 视频从相同的确切来源创建 MP4 时,SRT 字幕合并失败,出现“pts 没有价值”和“超出 mov/mp4 格式的范围”错误。
这是我用来从 MKV 源创建 HEVC (x265) MP4 视频的命令:
ffmpeg -i input.mkv \
-map_metadata -1 \
-vf scale=-1:720 \
-c:v libx265 -crf 20 -c:a aac -b:a 128k \
-threads 4 \
-tag:v hvc1 -sn \
-map 0:0 -map 0:1 output_hevc.mp4 \
;
这是过去成功用于将 SRT 字幕合并到现有 MP4 中而无需重新编码的命令:
ffmpeg -i output_hevc.mp4 \
-i input.srt \
-c:v copy -c:a copy \
-c:s mov_text -metadata:s:s:0 language=eng \
output_final.mp4 \
;
我认为问题可能在于大约 50% 的视频没有字幕;只有在第二个 50% 的视频中需要字幕。
有问题的视频长约2小时。并且在前 50 分钟左右,不需要英文字幕。但大约 50 分钟后,字幕开始播放。
所以 SRT 中的字幕是这样开始的:
1
00:52:33,123 --> 00:52:50,123
It was a dark and stormy night…
但是当我运行上面的 FFmpeg 命令时,输出是这样的;有时有点捏造例如的目的:
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native))
Press [q] to stop, [?] for help
frame=25560 fps=0.0 q=-1.0 size= 304640kB time=00:52:00.00 bitrate= 791.7kbits/frame=50730 fps=50726 q=-1.0 size= 681984kB time=time=00:52:00.00 bitrate=1772.4kbit[mp4 @ 0x7facb9002000] Application provided duration: 3152137000 / timestamp: 3152137000 is out of range for mov/mp4 format
[mp4 @ 0x7facb9002000] pts has no value
[mp4 @ 0x7facb9002000] Application provided duration: 3152805999 / timestamp: 3154741000 is out of range for mov/mp4 format
[mp4 @ 0x7facb9002000] pts has no value
[mp4 @ 0x7facb9002000] Application provided duration: 3153246998 / timestamp: 3156809000 is out of range for mov/mp4 format
[mp4 @ 0x7facb9002000] pts has no value
[mp4 @ 0x7facb9002000] Application provided duration: 3154051997 / timestamp: 3159013000 is out of range for mov/mp4 format
[mp4 @ 0x7facb9002000] pts has no value
[mp4 @ 0x7facb9002000] Application provided duration: 3155556996 / timestamp: 3163817000 is out of range for mov/mp4 format
还有大量类似的信息,直到,等等!合并结束,没有字幕是可见的,就是这样。
这让我发疯!我的意思是,如果我使用相同的命令,但指定从字幕出现的时间点开始的搜索时间,我实际上会在需要它们的视频的 50% 上看到字幕:
ffmpeg -I output_hevc.mp4 \
-i input.srt \
-c:v copy -c:a copy \
-c:s mov_text -metadata:s:s:0 language=eng \
-ss 3120 \
output_final.mp4 \
;
但我当然需要超过 50% 的视频。哎呀,我什至只是尝试了这个命令;如果我将搜索设置为等于或大于 1005 秒的任何值,我可以让字幕与 MP4 合并:
ffmpeg -i output_hevc.mp4 \
-i input.srt \
-c:v copy -c:a copy \
-c:s mov_text -metadata:s:s:0 language=eng \
-ss 1005 \
output_final.mp4 \
;
但是在这种情况下,16.75 分钟(1005 秒)有什么神奇之处呢?
FWIW,如果我运行类似的命令来创建视频的 MKV,一切都很好!
ffmpeg -i output_hevc.mp4 \
-i input.srt \
-c:v copy -c:a copy -c:s copy \
output.mkv \
;
只是不知何故,这种合并mov_text
似乎使过程失败。
如果我在文件开头添加一个虚假的字幕,如下所示:
0
00:00:00,000 --> 00:16:75,000
Foo!
1
00:52:33,123 --> 00:52:50,123
It was a dark and stormy night…
一切都按预期工作!除了有“Foo!”这个词 显示 50% 的视频。显然不理想。
有没有办法解决?这是一个 FFmpeg 错误,还是 HEVC (x265) 视频与字幕合并的问题?
根据一些报道,在 macOS 上升级 Chrome 后,系统实际上变得“变砖”并且无法启动。
为什么会发生这种情况,可以做些什么来让机器重新启动并运行?
我最近听说 Chrome、Firefox、Edge 和 Brave 浏览器将测试(并实施?)在其浏览器中使用 DNS over HTTPS (DoH) 进行 DNS 解析,而不是传统的 DNS 甚至 DNS over TLS。
什么是基于 HTTPS 的 DNS (DoH),我应该知道什么?
不是寻求购物建议,而是简单地问一下,在搜索这类东西的时间比我预期的要多之后,似乎主要类型的 USB Type-C 集线器将 USB Type-C 连接转换/转换为多个 USB一个女性港口。
考虑到目前 USB A 电缆和设备的整体流行度和普及率,这是有道理的。但在我看来,至少应该有一些基本的 USB Type-C 到多个 USB Type-C 集线器。但我找不到任何。
我所说的 USB 集线器只是一个集线器:我并不是说这些加密狗中的一个是名副其实的“瑞士军刀”,有太多的连接——比如 DVI、USB 端口、以太网,甚至可能是 SD 卡端口——而是一个基本端口倍增器。
FWIW,我问这个是因为我有一台 MacBook Air(2018 年),出于所有意图和目的,我的大部分日常使用都不需要 USB A 型连接。但在某些情况下,至少增加 1 到 2 个 USB Type-C 端口会有所帮助。
那么 USB Type-C 规范是否存在某种主机/来宾限制来防止这种情况发生,或者这仅仅是一种供需关系?