标签: decoding

ffmpeg - 如何从现有媒体文件中复制|提取编码设置?

我希望现在能够多次这样做,所以我问。

如果我有一个现有的视频或音频文件,ffmpegmplayer和其他媒体播放器至少可以检测到一些它的“propreties”之类的容器,编解码器和比特率时,可能各项质量和编码特定的设置等。

如何从现有文件中提取这些设置以便(直接)使用它们进行 ffmpeg 编码?

例如,我得到了一个使用一些设置mkv编码的视频x264和另一个未压缩的avi文件。我想“复制”用于 x264 mkv 文件的编码设置,以使用相同的设置对 avi 进行转码。

注意:我正在寻找一种无需人工将设置从解码器“翻译”到编码器的方法。如果我需要先提取设置并将其保存在某处,那没关系,但我希望能够简单地将读取选项提供给命令行或 ffmpeg 的预设|配置文件。

encoding ffmpeg decoding video-conversion audio-conversion

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

我可以裁剪图像而不将其完全加载到内存中吗?

我设法生成了一个带有分形的 PNG 图像。

该图像高 65,536 像素,宽 65,536 像素。它太大了,无法解码到内存中并显示出来。它的边界附近可能有很多未使用的空间,我想修剪它以显着减少其面积。

我尝试了 GIMP 和 GraphicsMagick,但 GIMP 冻结了我的计算机并且 GraphicsMagick 未能为图像分配足够的内存。

我使用 Linux,我有 16GB 的 RAM。压缩后的图像大小为 6.2MB。

我可以在不将图像完全加载到内存中的情况下修剪边框吗?

FWIW,最后我使用了我学校的服务器,但我仍然想知道答案。

memory linux png decoding image-editing

7
推荐指数
1
解决办法
285
查看次数

FFmpeg - PNG / JPG - 处理输入时发现无效数据

我正在尝试使用 FFmpeg 为视频添加水印。我有一个自定义版本的 FFmpeg,我正在创建它以保持二进制大小。我好像排除了FFmpeg在这个过程中读取PNG/JPG图片的能力:

ffmpeg -i ../weather.png
ffmpeg version 2.6.git Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/home/user/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/user/ffmpeg_build/include --extra-ldflags=-L/home/user/ffmpeg_build/lib --bindir=/home/user/bin --enable-gpl --disable-doc --enable-yasm --disable-decoders --enable-decoder=mpeg4 --enable-decoder=aac --enable-decoder=h264 --enable-decoder=mpegvideo --enable-decoder=mpeg1video --enable-decoder=mpeg2video --enable-decoder=png --disable-encoders --enable-encoder=mpeg4 --enable-encoder=aac --enable-encoder=h264 --enable-encoder=libx264 --enable-encoder=mpeg1video --enable-encoder=mpeg2video --enable-encoder=png --disable-parsers --enable-parser=aac --enable-parser=mpeg4video --enable-parser=ac3 --enable-parser=h261 --enable-parser=h264 --enable-parser=vc1 --enable-parser=mpegvideo --disable-demuxers --enable-demuxer=aac --enable-demuxer=h264 --enable-demuxer=mpegvideo --enable-demuxer=m4v --enable-demuxer=mov --enable-demuxer=vc1 --enable-demuxer=mp4 --enable-demuxer=concat --disable-muxers --enable-muxer=h264 --enable-muxer=mpeg1video --enable-muxer=mpeg2video --enable-muxer=m4v --enable-muxer=mov --enable-muxer=vc1 --enable-muxer=md5 --enable-muxer=mp4 --enable-protocols --enable-indev=v4l --enable-indev=v4l2 --disable-filters --enable-filter=aresample --enable-filter=scale --enable-filter=movie …
Run Code Online (Sandbox Code Playgroud)

png codec ffmpeg decoding

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

如何解码这个看似GBK编码的字符串?

我有一个.eml包含 MS-Word 附件的电子邮件文件:

------=_Part_239376_662463351.1415605722579
Content-Type: application/msword;
 name="=?GBK?B?1cK5scf4s8e53L7WudjT2s34wufT38fp0MXPoteo?=
 =?GBK?B?sai1xLTwuLQoz8K6vszBMbrFKS5kb2M=?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="=?GBK?B?1cK5scf4s8e53L7WudjT2s34wufT38fp0MXPoteo?=
 =?GBK?B?sai1xLTwuLQoz8K6vszBMbrFKS5kb2M=?="

0M8R4KGxGuEAAAAAAAAA [rest of base64-encoded attachment]
Run Code Online (Sandbox Code Playgroud)

附件base64解码成功,文件内容正常。
但是如何解码文件名呢?

的值filename="" 似乎GBK编码的,但 Python.decode('gbk')对它不起作用,返回相同的字符串:

>>> "1cK5scf4s8e53L7WudjT2s34wufT38fp0MXPoteo".decode('gbk')
u'1cK5scf4s8e53L7WudjT2s34wufT38fp0MXPoteo'
Run Code Online (Sandbox Code Playgroud)

那么,这个字符串是用什么编码的以及如何解码呢?

=?GBK?B?1cK5scf4s8e53L7WudjT2s34wufT38fp0MXPoteo?=
=?GBK?B?sai1xLTwuLQoz8K6vszBMbrFKS5kb2M=?=
Run Code Online (Sandbox Code Playgroud)

email attachments character-encoding chinese decoding

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