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
    • 最新
    • 标签
主页 / server / 问题 / 69128
Accepted
Kieran Benton
Kieran Benton
Asked: 2009-09-28 14:06:32 +0800 CST2009-09-28 14:06:32 +0800 CST 2009-09-28 14:06:32 +0800 CST

是否可以在 Synology Diskstation 209 上安装 ffmpeg 和 x264?

  • 772

完整的linux新手在这里!:)

我正在尝试让我出色的 DS209 NAS 盒为我将一些 AVI 视频转码为适合我的 Apply iTouch 的格式 - 是的,我可以用另一台机器和 Handbrake 来做,但卸载一些真的很有用把这个给NAS做通宵了。

我已经设法将 ipkg 安装到我的 DS209 NAS 盒子上,并尝试安装一些软件包(binutils、mono、bash 等)。

我什至设法从 ipkg 安装 ffmpeg 并将正确的命令行配置文件放在一起以将编码作为 .sh 文件:

time ffmpeg -y -i $1 -f mp4 -title $2 -vcodec libx264 -level 21 -s 426×320 -b 512k -bt 512k -bufsize 4M -maxrate 4M -g 250 -coder 0 -threads 0 -acodec libfaac -ac 2 -ab 64k $3

但是,运行此程序时,我缺少对libx264.

我已经尝试从 git 中的最新源代码构建它,但是在制作过程中我遇到了我不理解的错误(超出了我的深度)。

encoder/set.c: In function 'x264_sei_version_write':
encoder/set.c:491: error: 'X264_VERSION' undeclared (first use in this function)
encoder/set.c:491: error: (Each undeclared identifier is reported only once
encoder/set.c:491: error: for each function it appears in.)
make: *** [encoder/set.o] Error 1

其他人可以尝试构建它或给我一个关于我可以做些什么来实现它的指针吗?到目前为止,这是一次很好的学习经历!

谢谢。

更新:针对以下问题,这是我现在遇到的错误:

DISKSTATION> make
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/mc.o common/mc.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/predict.o common/predict.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/pixel.o common/pixel.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/macroblock.o common/macroblock.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/frame.o common/frame.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/dct.o common/dct.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/cpu.o common/cpu.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/cabac.o common/cabac.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/common.o common/common.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/mdate.o common/mdate.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/rectangle.o common/rectangle.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/set.o common/set.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/quant.o common/quant.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/deblock.o common/deblock.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/vlc.o common/vlc.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/mvpred.o common/mvpred.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/bitstream.o common/bitstream.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/analyse.o encoder/analyse.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/me.o encoder/me.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/ratecontrol.o     encoder/ratecontrol.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/set.o encoder/set.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/macroblock.o encoder/macroblock.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/cabac.o encoder/cabac.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/cavlc.o encoder/cavlc.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/encoder.o encoder/encoder.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/lookahead.o encoder/lookahead.c
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/arm/mc-c.o common/arm/mc-c.c
common/arm/mc-c.c: In function 'x264_weight_cache_neon':
common/arm/mc-c.c:86: warning: assignment discards qualifiers from pointer target type
common/arm/mc-c.c:91: warning: assignment discards qualifiers from pointer target type
common/arm/mc-c.c:96: warning: assignment discards qualifiers from pointer target type
common/arm/mc-c.c:98: warning: assignment discards qualifiers from pointer target type
common/arm/mc-c.c: In function 'x264_mc_init_arm':
common/arm/mc-c.c:232: warning: assignment discards qualifiers from pointer target type
common/arm/mc-c.c:233: warning: assignment discards qualifiers from pointer target type
common/arm/mc-c.c:234: warning: assignment discards qualifiers from pointer target type
gcc -Wshadow -O3 -fno-fast-math  -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/arm/predict-c.o common/arm/predict-c.c
gcc -Wall -I. -std=gnu99 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -c -DPIC -o common/arm/cpu-a.o common/arm/cpu-a.S
gcc: Internal error: Segmentation fault (program as)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [common/arm/cpu-a.o] Error 1

我不认为我缺少任何库,这是使用 GCC 4.2.3。有任何想法吗?

linux
  • 2 2 个回答
  • 13146 Views

2 个回答

  • Voted
  1. Best Answer
    Rizwan Kassim
    2010-07-25T13:26:18+08:002010-07-25T13:26:18+08:00

    再回到日志中,我会怀疑之前缺少头文件。

    例如,在这里发现了类似的问题。

    我有一个 DS411+,如果你想分享你是如何做到的,我可以帮你调试它。

    • 1
  2. Reaper
    2012-01-31T13:31:32+08:002012-01-31T13:31:32+08:00

    我意识到这个线程现在已经很老了,但是我在 Synology DS212j 上编译同一个文件时遇到了完全相同的问题。我试图编译手刹以在我的 NAS 上使用。我意识到这可能会非常慢,但是对于我不急于使用的东西,它是一台始终处于低功耗状态的计算机,所以我不妨使用它!

    我做了一些探索和修改文件,发现任何“vsub”或“vadd”指令似乎都会导致汇编器(as)出现段错误。我迷失在多个版本和平台的 ARM 世界中,并没有真正找到适合 CPU 的组装参考。我放弃了尝试解决这个问题——我认为尝试重写程序集将是徒劳的。

    我最终做的是在 HandBrake-0.9.5/contrib/x264/module.defs 中添加一行:

    X264.CONFIGURE.extra += --disable-asm

    这实际上将 --disable-asm 添加到 x264 库的 ./configure 行。在此之后,构建 libx264 工作。

    当我着手构建手刹时,我需要安装各种其他 ipkg 模块。通过查看错误或谷歌搜索错误,可以很容易地找出其中的大多数。

    最后,我不得不禁用 GUI 的构建,因为这显然不适用于 NAS。为此,我在 HandBrake-0.9.5/make/include/main.defs 中注释掉了这一行:

    模块 += gtk

    现在我在我的 Synology DS212j NAS 上成功运行 HandBrakeCLI。它实际上非常缓慢。我敢肯定,通过禁用汇编代码,它会更慢,但它比根本没有构建它要快。

    我的第一个任务是将完整的蓝光翻录缩小到 800x480。我想处理完整的蓝光翻录会尽可能地苛刻。通过这项工作,它每秒处理的帧数略低于一帧。因此,每小时处理超过 1 天的视频。

    我记得我必须做的额外事情是让 HandBrake 编译: 1. ipkg install perl-xml-parser 2. ipkg install yasm 3. 下载并编译 intltool(我构建 intltool-0.40.6) 4. 如果你将 intltool 安装到非标准位置,将 share/aclocal 目录添加到 /opt/share/aclocal/dirlist 文件(只需创建一个包含一行的文件): /your_install_prefix/share/aclocal

    我知道还有一些其他的事情,但我不能忘记。如果有人尝试这样做,如果您遇到问题,我很乐意提供帮助。我可能也遇到过,所以看到一个特定的错误可能会触发我的记忆。

    • 1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve