标签: encoding

iPhone 和 Android 的视频格式?

有没有一种格式可以在 iPhone 和 Android 上播放?

我一直在尝试使用 ffmpeg 对 MP4 中的视频进行编码——但是,使用 libx264 或 mpeg4——这些视频要么只能在 Android 中运行,要么在 iPhone 中运行 - 不能同时在两者中运行。

这可能吗?如果是,参数是什么?

谢谢

video encoding iphone media android

6
推荐指数
1
解决办法
1万
查看次数

将 mp4 `ftyp` 从 `isom` 更改为 `mp42`

我可以更改ftypmp4 文件的格式吗?

我有两个 mp4 文件,并将其放入媒体信息中,看看有什么区别。另一个 mp4 可以在我的 SanDisk Sansa Fuze 设备上播放,而另一个则不能。正在播放的那个有ftyp一个mp42。我使用的编码器megui用作isom其编解码器 ID。

encoding mp4 video-editing video-conversion

6
推荐指数
1
解决办法
1万
查看次数

黑色钻石中的白色问号

当存在编码问题时,我们都熟悉黑色菱形 (?) 内的白色问号。这个“角色”有正式名称吗?或者它只是被称为“黑色钻石内的白色问号”?如果有这个名字会是什么?

encoding character-encoding special-characters

6
推荐指数
2
解决办法
1万
查看次数

通过文本编辑器编辑 PDF

我正在尝试通过使用文本编辑器直接修改文件来向 PDF 文件添加页面标签。

当我在文本编辑器中打开 PDF 并保存它而不进行任何更改时,该文件会损坏并且无法通过 Adob​​e Reader 打开。

为什么会出现这种情况?

我想到的解决方案是使用十六进制编辑器,但这似乎不是处理文件的舒适方式。还有其他办法吗?

作为文本编辑器,我使用 Sublime Text。

encoding pdf text-editors sublime-text-2 sublime-text-3

6
推荐指数
1
解决办法
2万
查看次数

如何获取视频文件的CRF信息?

在 StackOverflow 上找到了这个答案

ffprobe -show_streams -i "file.mp4"
Run Code Online (Sandbox Code Playgroud)

但正如您可以在评论中确认的那样,它没有显示 CRF 值

用什么工具我可以得到一些信息,比如 GOP 大小?!CRF等的价值?!

如何找到视频文件(h264)的CRF值?

video encoding ffmpeg

6
推荐指数
1
解决办法
4152
查看次数

Outlook 2007 将字符序列“�”插入到邮件中

我和妻子之间的电子邮件最近开始因在邮件中插入字符序列“�”而损坏。这似乎是一个编码问题。

SO上的这个问题将字符串标识为字符“?”的UTF-8。谷歌搜索发现的各种讨论表明,人们在电子邮件和浏览网站时遇到过各种其他字符(例如撇号和省略号)被此字符串替换的情况。似乎这个 UTF-8 字符被用作各种不可渲染字符的通用替代。

在这种情况下,我在 Linux 中使用 Thunderbird (V52.5.0),而我妻子在 Windows 7 中使用 Outlook (2007)(均将消息格式化为 HTML)。

Thunderbird 插入了一些不可见的格式标记,这些标记在 Outlook 中被这个字符串替换。该字符串出现在两种类型的位置:

  • 替换句尾句号和下句之间的两个空格中的第一个
  • 回车用于在段落之间创建空行。

替换发生在 Outlook 中,并应用于已在 Thunderbird 中呈现的消息线程中的所有内容。这包括源自 Outlook 但在回复 Outlook 之前是 Thunderbird 中呈现的线程的一部分的旧邮件。

这是字符替换而不是渲染问题。一旦字符串被替换,稍后在任一系统上查看消息时,损坏仍然存在。

这是一个最近出现的问题,所以我认为其中一个系统上的软件或操作系统更新是有责任的。

我查看了 Thunderbird 和 Outlook 中的编码设置,确实,它们是杂乱无章的组合;一些 UTF-8,一些西欧(不知道它可能来自哪里),以及其他一些东西,我认为是西方 ISO 8859)。我将所有内容都设置为 UTF-8。这些是我发现和改变的:

  • 雷鸟: Preferences | Display | Formating | Fonts Advanced | Text Encoding
  • 展望:Tools | Options | Mail Format | International Options
    还有:Tools | Options | Other | General | Advanced Options | Use Unicode …

email thunderbird encoding microsoft-outlook-2007

6
推荐指数
1
解决办法
1万
查看次数

如何修复波斯语字幕中的奇怪字符?

有时,当我在电影上添加字幕时,它会显示一些奇怪的字符而不是波斯语单词。经过几次搜索,我发现一个名为“per sub fix”的软件,它非常好,解决了我的一些问题,但不是全部。它只支持 . srt 文件。所以我对其他字幕格式(如 .ass 或 .sub 等)仍然有问题,您知道如何在不使用任何软件的情况下手动修复这些字幕吗?该软件如何“修复”字幕?

我使用的是 Windows,请不要说更改播放器设置。

我无法使用记事本++尝试更改编码来修复它

编辑:我忘记上传图片,所以这里的字幕文本包含奇怪的字符,在使用每个子修复进行修复之前:

在此输入图像描述

这是固定且正确的字幕:

在此输入图像描述

encoding notepad++

6
推荐指数
1
解决办法
6721
查看次数

查找 NFD 编码的文件名

我已将一个目录从 Mac 同步到 Linux 机器,其中包含带有特殊字符(元音变音)的文件和文件夹。不幸的是,Mac 使用 NFD 编码(感谢 Apple!),rsync 没有将其转换为 NFC 标准文件名编码。rsync列出这些文件,例如传输期间Einversta?\\#210ndniserkla?\\#210rung.pdf应该包含的文件Einverst\xc3\xa4ndniserkl\xc3\xa4rung.pdf。在 Linux 机器上,这会导致重复文件,例如包含两个同名文件的文件夹Einverst\xc3\xa4ndniserkl\xc3\xa4rung.pdf(一个采用 NFD 编码,一个采用 NFC 编码)。

\n\n

如何找到 NFD 编码的所有文件并将其删除?这必须是可能的,例如通过使用find.

\n

linux encoding file-management rsync filenames

6
推荐指数
1
解决办法
1661
查看次数

寻找时,ffmpeg 中出现奇怪的错误,“co located POCs unavailable”、“mmco: unref Short failure”

我看到其他人也有这个问题,但我还没有看到解决方案。如果我尝试使用 ffmpeg 进行搜索,则会出现一些错误,并且生成的视频在移动之前会冻结在开头的一帧处。即使我在 VLC 中打开视频,我也无法找到问题发生的确切时间点。视频好像被损坏了,但播放正常,可以修复吗?

如果我将输入的容器格式从 ts 更改为 mp4,则不会发生错误,但我会看到黑屏,而不是冻结的帧。

完整命令和输出:

$ ffmpeg -ss 5.5 -i video.ts -to 10 -avoid_negative_ts make_zero -vcodec libx264 -crf 23 -acodec copy output.ts

ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.3_1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex …
Run Code Online (Sandbox Code Playgroud)

video vlc-media-player encoding ffmpeg video-conversion

6
推荐指数
1
解决办法
1万
查看次数

在Windows中通过命令行将UTF-16 LE转换为UTF-8

(重新编写问题以使其更有用)

我有一个批处理脚本,它将与命令行程序交互,获取它们的输出,然后根据该输出执行决策。

我需要与之交互的程序之一是一个相当老的程序,所以我被它的怪癖所困扰。当我将其输出通过管道传输到文本文件时,该文本文件采用 UTF-16 LE 编码。

我是这样做的:

program -parameter > resultat.txt
Run Code Online (Sandbox Code Playgroud)

在Windows 7下,这种编码对于cmd/批处理工作来说似乎很麻烦,因为你无法将这样的文本文件的内容读入变量。

这是一个示例(仅使用文本文件的第一行):

set /p Var=<resultat.txt
echo %Var%
cmd /k
Run Code Online (Sandbox Code Playgroud)

它只是没有任何回声,说“ECHO 已打开”。

另外,如果您使用“type”来打印文本文件的内容,则会出现奇怪的空格,表明它没有被正确处理。

尝试的解决方案 [1] - Powershell

经过研究,发现powershell可以转换txt编码,使用的方法如下:

Get-Content -Path "path\file.txt" | Out-File -FilePath "path\new_file.txt" -Encoding <encoding>
Run Code Online (Sandbox Code Playgroud)

使用 Notepad++,我做了一些研究,我需要获得什么编码?

UTF-8(无BOM),相当于记事本中的“ANSI”,是我需要的编码,将文本文件加载到变量中,并且“type”命令在使用此编码时都可以完美地工作。我怎么知道?如果我在记事本中打开管道文本文件,然后重新保存为“ANSI”编码,一切都会完美运行。

-Encoding ascii
Run Code Online (Sandbox Code Playgroud)

...这个选项应该有效,因为这会产生 UTF-8(无 BOM)结果,但它似乎无法处理 UTF-16 LE 源编码格式,并且不会产生可用的输出。当我在 Notepad++ 中打开生成的文件时,它将其识别为 UTF-16 LE“Unix”,这很奇怪。

有趣的是:如果我在记事本中将管道 txt 文件重新保存为“unicode”,则会生成一个 UTF-16 LE BOM 文件,该文件与上述转换参数一起生成完美的 UTF-8 文件。此时,我扩展了研究范围,提出了“如何将 BOM 添加到 UTF-16 LE 编码?”的问题。因为我可以将这些知识与 powershell 知识结合起来。然而,剧透警告:我没能找到一个像样的答案。

-Encoding utf8
Run Code Online (Sandbox Code Playgroud)

...是另一个类似的选项,但它会生成 UTF-8 BOM 文件(相当于在记事本中另存为“UTF-8”),这会产生损坏的输出。

总结一下:

我正在寻找一种命令行工具/方法(开放或专有,第一方或第三方),以便能够实现如下转换:

  1. UTF-16 LE - …

windows-7 encoding unicode command-line utf-8

6
推荐指数
1
解决办法
6064
查看次数