AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[encoding](ubuntu)

Martin Hope
Metallizer
Asked: 2020-07-24 03:30:43 +0800 CST

批量 FFmpeg 编码 - 基于比特率的可变 CRF

  • 2

我在运行 Ubuntu 的 VM 实例中使用 ffmpeg 将我从各种流媒体站点下载的一些视频编码到 HEVC。目前我使用 bash 脚本来转换目录中的所有这些文件。这些视频的总比特率在 300 kb/s 到 1500 kb/s 之间变化。在我的测试中,对所有这些视频使用相同的 CRF 会在高比特率视频的情况下产生更大的输出文件,或者在低比特率的情况下产生低质量的视频。目前我手动检查比特率并将类似的比特率文件移动到一个目录并每次都相应地更改 CRF。这是我用来检索比特率的命令:

find . -name "*.mp4" -print0 | xargs -0 -i{} sh -c " echo -n '{} ' && ffmpeg -i '{}' 2>&1 | sed -n -e 's/^.*bitrate: //p' "

这是 bash 脚本。

#!/bin/bash -e
for i in ~/ffmpeg/*.mp4;    
do    
ffmpeg -i "$i" -c:v libx265 -crf 26 -c:a libopus -b:a 48k -vbr on -compression_level 10 -frame_duration 60 -application audio "${i%.*}.mkv"    
mv "${i%.*}.mkv" ~/ffmpeg/hevc    
rm -f -- "$i"    
done

如何根据此 bash 脚本中的比特率范围动态更改 CRF?比如,如果总比特率高于 950 = crf 26,如果总比特率在 750 到 949 之间 = crf 24,如果总比特率在 500 到 749 之间 = crf 22,如果总比特率低于 499 = crf 18。

scripts command-line bash ffmpeg encoding
  • 1 个回答
  • 1076 Views
Martin Hope
Rajat Garg
Asked: 2020-06-06 06:08:16 +0800 CST

更改某些字符的 cURL 响应编码

  • 0

下面 curl 命令的响应是一个 json,它有一些日文字符,它在 utf-8 中显示。我无法分享网址,但这就是我发送请求的方式。

curl https://some-url --header "Content-Type:application/json" --data '{"key":"value"}' 

回应是:

{
  "Name" : "\u6545\u90f7\u306e\u5bb6",
  "id" : 5
}

但是当我通过管道响应json_pp它时,它工作正常并显示日文字符。问题是由于某些原因我不想使用json_pp. 是否有任何替代方法可以在不安装一些外部库的情况下工作并且适用于能够运行 shell 命令的 Mac / Linux 和 Windows 机器。

bash encoding awk curl
  • 1 个回答
  • 5418 Views
Martin Hope
delki8
Asked: 2020-05-14 09:49:30 +0800 CST

gedit在ubuntu升级后显示错误的奇怪数字字符

  • 1

我运行的是 ubuntu 19.04,然后我使用 dist upgrade gui 升级到 19.10。然后我做了同样的事情来升级到我目前正在运行的 20.04。

我不知道这是在 19.10 升级之后还是在 20.04 升级之后开始发生的,但现在我的 gedit 显示了这些奇怪的编号字符。如果我只是打开 gedit 并开始输入,这就是我所看到的:gedit 奇怪的字符

我在第一行输入了“123”,在第二行输入了“abc”。

  • 如果我在编辑器中粘贴文本,也会发生同样的事情。
  • 其他文本编辑器(例如 LibreOffice Writer)不会发生这种情况。

这可能是一些简单的配置搞砸了升级,但我不知道从哪里开始。

upgrade gedit special-characters encoding
  • 1 个回答
  • 206 Views
Martin Hope
Anon
Asked: 2019-08-12 18:48:34 +0800 CST

如何发现我当前的系统编码?

  • 4

在 QtCreator 中,它们看起来像这样:

在此处输入图像描述

我更改了默认编码设置,试图让我的 ide 显示表情符号,现在我的系统真的在起作用。在此处包括网页:

在此处输入图像描述

更不用说我的软件不会编译。我正在尝试将我的默认编码重置回我的系统使用的......但似乎我的系统编码已经改变。

我如何找出我的系统编码,我应该把它改成什么?

system qt encoding qt5 qt-creator
  • 1 个回答
  • 525 Views
Martin Hope
whyer
Asked: 2019-05-21 03:40:34 +0800 CST

如何在不更改操作系统语言的情况下修复 Wine 应用程序中损坏的编码?

  • 2

我正在谈论的应用程序是 Worms Armageddon (WA)。我在酒下运行它。

考虑以下顺序:

  • 将 Ubuntu GUI 语言切换为俄语(并重新启动会话)
  • 将 Ubuntu 键盘布局切换为俄语
  • 在 wine 下运行 WA
  • 在 WA 聊天中输入西里尔文

- 当我这样做时,我对编码没有任何问题。但是,如果我将 Ubuntu GUI 语言切换回英语(并重新启动会话),那么在聊天中输入西里尔字符(使用俄语键盘布局)时,我会得到问号(????, ? ?????!..)在聊天而不是西里尔字母)。

我猜它与 Windows 代码页有关。在俄语中,默认代码页是 cp1251,而在英语中可能是其他一些欧洲代码页。

所以我的问题是:如何在不将 GUI 语言切换为俄语的情况下在 WA 聊天中输入和阅读西里尔字母?

PS初始桌面图标为:

[Desktop Entry]
Name=Worms Armageddon
Exec=env WINEPREFIX="/home/uname/.wine" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/uname/.wine/dosdevices/c:/users/Public/Desktop/Worms\\ Armageddon.lnk
Type=Application
StartupNotify=true
Path=/home/uname/.wine/dosdevices/c:/GOG Games/Worms Armageddon/
Icon=4948_goggame-1462173886.0
StartupWMClass=wa.exe

并且Worms Armageddon.lnk是一个 Windows .lnk 文件,指

C:\GOG Games\Worms Armageddon\WA.exe
keyboard wine language encoding system-language
  • 1 个回答
  • 2660 Views
Martin Hope
uptoyou
Asked: 2019-05-16 08:17:57 +0800 CST

为什么`file -i`将文件编码确定为ASCII,但实际上在git存储库中它是UTF-8

  • 0

有两种情况,我很困惑:

  1. 如果新创建的文件仅包含拉丁符号,file -i则将显示us-ascii.
  2. 如果新创建的文件仅包含拉丁文和西里尔文符号,file -i则会显示utf-8

我使用几种在 git 存储库的本地副本中创建文件的工具测试了这种行为:intellij idea、nano、echo 等。

但是,当我将此文件推送到远程存储库时,Windows 操作系统上的参与者将此文件确定为 UTF-8。

locale git encoding utf-8 ascii
  • 1 个回答
  • 211 Views
Martin Hope
FedKad
Asked: 2019-03-16 03:02:13 +0800 CST

无法向终端显示以 ISO-8859-9 编码的文件

  • 0

简而言之:如何向终端显示未以 UTF-8 编码的文件?

目前,我有一个以 ISO-8859-9 编码并包含以下 12 个字符的测试文件:

ğüşıöçĞÜŞİÖÇ

文件的十六进制内容如下:

\F0\FC\FE\FD\F6\E7\D0\DC\DE\DD\D6\C7

当我尝试将此文件显示到终端时,我得到:

������������

我想这是因为,我当前的语言环境是这样定义的:

$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=

但是,我在系统中安装了土耳其语语言环境:

$ locale -a
C
C.UTF-8
en_GB
en_GB.iso88591
en_GB.iso885915
en_GB.utf8
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
POSIX
tr_TR
tr_TR.iso88599
tr_TR.utf8
turkish

所以,我想用以下方式临时更改显示语言:

$ export LC_ALL=tr_TR.iso88599
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="tr_TR.iso88599"
LC_NUMERIC="tr_TR.iso88599"
LC_TIME="tr_TR.iso88599"
LC_COLLATE="tr_TR.iso88599"
LC_MONETARY="tr_TR.iso88599"
LC_MESSAGES="tr_TR.iso88599"
LC_PAPER="tr_TR.iso88599"
LC_NAME="tr_TR.iso88599"
LC_ADDRESS="tr_TR.iso88599"
LC_TELEPHONE="tr_TR.iso88599"
LC_MEASUREMENT="tr_TR.iso88599"
LC_IDENTIFICATION="tr_TR.iso88599"
LC_ALL=tr_TR.iso88599
$ cat a.txt
������������

但是,我仍然得到问号。

command-line locale encoding character-set iconv
  • 1 个回答
  • 1223 Views
Martin Hope
Andrey Fugas
Asked: 2019-03-08 01:37:46 +0800 CST

w3m charset source_dump 无法正常工作

  • 3

我正在尝试使用以下命令,但无法获得正确的输出:

$ w3m -dump_source google.com
r���G��2�Ph��ү�f�� ����?�l���%Y:���c(�����������Y\��s8Ư|   ��;����1ʹ��D��^�lK���٥r��\���Սk�V��Ϸv���{��r�����~s\��~?�ML7���¹���ƿ�qm��h��q�(��:wZ a�

如何更改字符集?

我也试过

w3m -O "UTF-8" -dump_source "google.com"

和

w3m -I "UTF-8" -dump_source "google.com"

但没有一个工作。

encoding charset w3m
  • 2 个回答
  • 979 Views
Martin Hope
Eric Korolev
Asked: 2018-10-06 07:12:03 +0800 CST

如何在 Ubuntu 18.04 中添加西里尔字母?

  • 4

我已经安装了俄语键盘布局。

在语言支持-> 安装的语言中,我已经有俄语。

但是当我用西里尔文打开文本文件时,我遇到了编码问题。此文件是较早在 Windows 中创建的。使用新文件我没有这个问题。

Ïðîäâèíóòàÿ ìàìà

Ìàìà ñòðàòåã ñåìåéíûé íàø Åùå óñòðîèò íàì øàáàø Ìû ñ íåé íå óìðåì îò ñêóêè, Çà ýòî öåëóåì åé ðóêè。

UPD。我尝试在打开文件时手动指定 Windows-1251 编码,西里尔文显示正确。我在文件中没有问题,其编码设置为 UTF-8。

language encoding text-processing russian cyrillic
  • 1 个回答
  • 5856 Views
Martin Hope
OrenIshShalom
Asked: 2018-08-02 01:49:47 +0800 CST

gedit标准文本文件的奇怪编码

  • 2

这个问题也发布在这个 SO 帖子中。

我有一个标准文本文件,与 cat 完美搭配:

$ cat myfile.txt
v0[shape = Mrecord, label = ""]

当我使用 xxd 检查确切的行尾时,我得到了这个:

$ xxd myfile.txt
00000000: 7630 5b73 6861 7065 203d 204d 7265 636f  v0[shape = Mreco
00000010: 7264 2c20 6c61 6265 6c20 3d20 2222 5d0a  rd, label = ""].

但是,当我尝试用 gedit 打开它时,我得到了一些非拉丁语言的奇怪编码。gedit 出了什么问题?以下是复制的完整源代码:

$ cat main.cpp
#include <fstream>
int main(int argc, char **argv)
{
    std::ofstream myfile("myfile.txt");
    myfile << "v0[shape = Mrecord, label = \"\"]\n";
    myfile.close();
    return 0;
}

这是我的编译行:

g++ main.cpp -o main

另外,我附上了 gedit 屏幕的图像文件:

在此处输入图像描述

编辑:(建议评论的输出)

$ gedit --list-encodings | grep -Fx UTF-8
UTF-8
$ gedit --encoding UTF-8 myfile.txt
$ file -bi myfile.txt
text/plain; charset=us-ascii
gedit encoding
  • 1 个回答
  • 1263 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve