导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    T113 如何移植ffmpeg

    T Series
    2
    3
    839
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • M
      M_xiaotao LV 3 最后由 编辑

      请教如何通过buildroot 移植 ffmpeg的方法。

      M 1 条回复 最后回复 回复 引用 分享 1
      • M
        M_xiaotao LV 3 @M_xiaotao 最后由 编辑

        @m_xiaotao
        移植了一个ffmpeg 但是使用ffmpeg 不能进行播放

        Q 1 条回复 最后回复 回复 引用 分享 1
        • Q
          qz_center LV 2 @M_xiaotao 最后由 编辑

          @m_xiaotao 我移植了能播放就是很卡,没法用,放弃了,可能是内存不足。

          首先,我们需要安装ARM架构的交叉编译工具链:
          
          1. **下载musl.cc的ARM交叉编译工具链**
             ```bash
             wget https://musl.cc/arm-linux-musleabihf-cross.tgz
          
          1. 解压到/opt目录

            sudo tar -xzf arm-linux-musleabihf-cross.tgz -C /opt/
            
          2. 添加工具链到PATH环境变量

            echo 'export PATH=/opt/arm-linux-musleabihf-cross/bin:$PATH' >> ~/.bashrc
            
          3. 使环境变量生效

            source ~/.bashrc
            
          4. 验证交叉编译器是否安装成功

            arm-linux-musleabihf-gcc --version
            

          编译FFmpeg

          获取FFmpeg源码

          # 克隆FFmpeg源码(或使用wget下载)
          git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
          cd ffmpeg
          

          配置编译选项

          使用以下配置命令为ARM设备编译FFmpeg:

          ./configure \
            --cross-prefix=arm-linux-musleabihf- \
            --enable-cross-compile \
            --target-os=linux \
            --arch=arm \
            --cc=arm-linux-musleabihf-gcc \
            --prefix=../output \
            --extra-cflags="-mcpu=cortex-a7 -mfpu=neon-vfpv4 -static" \
            --extra-ldflags="-static" \
            --enable-static \
            --disable-shared \
            --enable-ffmpeg \
            --enable-ffprobe \
            --disable-doc
          

          开始编译

          # 使用4个线程并行编译
          make -j4 && make install
          

          编译完成后,所有生成的文件将位于../output目录中。

          部署到ARM设备

          推送文件到设备

          使用ADB将编译好的FFmpeg推送到设备:

          1. 推送bin和lib目录到设备的/mnt/UDISK目录

            adb push bin /mnt/UDISK
            adb push lib /mnt/UDISK
            
          2. 为ffmpeg添加可执行权限

            adb shell chmod +x /mnt/UDISK/bin/ffmpeg
            
          1 条回复 最后回复 回复 引用 分享 1
          • 1 / 1
          • First post
            Last post

          Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

          行为准则 | 用户协议 | 隐私权政策