Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

错误:目录: ./video/2024011020 视频合并失败。错误原因: exit status 1 #4

Open
snakewqq opened this issue Jan 15, 2024 · 5 comments

Comments

@snakewqq
Copy link

群晖下,Docker执行,报如下错误,ffmpeg命令有安装的。

=== 合并开始 ===
执行 ffmpeg 指令
执行命令: /usr/bin/ffmpeg -f concat -i files.txt -c copy 20.mov
指令执行错误:
exit status 1
错误:目录: ./video/2024011020 视频合并失败。错误原因: exit status 1
========== 1
执行 ffmpeg 指令
执行命令: /usr/bin/ffmpeg -f concat -i files.txt -c copy 21.mov
指令执行错误:
exit status 1
错误:目录: ./video/2024011021 视频合并失败。错误原因: exit status 1
========== 2
执行 ffmpeg 指令
执行命令: /usr/bin/ffmpeg -f concat -i files.txt -c copy 22.mov
指令执行错误:
exit status 1
错误:目录: ./video/2024011022 视频合并失败。错误原因: exit status 1
========== 3
执行 ffmpeg 指令
执行命令: /usr/bin/ffmpeg -f concat -i files.txt -c copy 23.mov
指令执行错误:
exit status 1
错误:目录: ./video/2024011023 视频合并失败。错误原因: exit status 1
========== 4
执行 ffmpeg 指令
执行命令: /usr/bin/ffmpeg -f concat -i files.txt -c copy 00.mov
指令执行错误:
exit status 1
错误:目录: ./video/2024011100 视频合并失败。错误原因: exit status 1
========== 5
执行 ffmpeg 指令
执行命令: /usr/bin/ffmpeg -f concat -i files.txt -c copy 01.mov
指令执行错误:
exit status 1
错误:目录: ./video/2024011101 视频合并失败。错误原因: exit status 1
========== 6
执行 ffmpeg 指令
执行命令: /usr/bin/ffmpeg -f concat -i files.txt -c copy 02.mov
指令执行错误:
exit status 1
错误:目录: ./video/2024011102 视频合并失败。错误原因: exit status 1
========== 7
执行 ffmpeg 指令
执行命令: /usr/bin/ffmpeg -f concat -i files.txt -c copy 03.mov
指令执行错误:
exit status 1
错误:目录: ./video/2024011103 视频合并失败。错误原因: exit status 1

@snakewqq
Copy link
Author

image
会生成mov文件,但都是空文件

@twour
Copy link

twour commented Jan 16, 2024

iStoreOS同样问题,小米摄像头2云台版

@Little-Fan
Copy link

我也遇到同样的这个问题,生成有文件,但是是 0 KB

@wanggy429
Copy link

同样是小米摄像头2云台版,也是这样的提示,但是另外一个型号的小米摄像头合并正常
image

@Utopia-Zzzz
Copy link

Utopia-Zzzz commented Oct 9, 2024

同为小米摄像头2云台版,我也遇到了这个问题,但是容器里面太难排查了。。。
自己检测到有两个问题,
1, ffmpeg命令需要添加-safe 0参数。
2, 不支持转存为mov格式

所以自己写了个shell脚本来实现。无偿贡献给大家~,放到年月日的目录下即可放心食用。
请阅读代码之后再执行,删除源文件的命令我没注释掉!!!

(无需docker环境,群辉、各路路由器系统里安装了ffmpeg即可。如果ffmpeg不在path环境变量里,可以自行在下面补全ffmpeg的目录)

#!/bin/bash

# 指定输出文件名
OUTPUT_FILE="video_list.txt"
# 创建输出文件
> "$OUTPUT_FILE"

# 生成文件名列表到OUTPUT_FILE里提供给ffmpeg合并
gen_names() {
    for file in "$1"/*; do
        # 检查是否为文件
        if [ -f "$file" ]; then
            # 将mp4格式的文件名追加到输出文件中
            if [ "${file##*.}" = "mp4" ]; then
                echo "file $file" >> "$OUTPUT_FILE"
            fi
        else [ -d "$file" ]
            DIR_NAME=$file
            # 合并文件名,去除前面的 ./
            MERGE_FILE_NAME=$(echo $DIR_NAME | sed -e 's@^\./@@')
            echo "next" $DIR_NAME
            # 清空输出文件
            > "$OUTPUT_FILE"
            gen_names "$file"
            ffmpeg -f concat -safe 0 -i $OUTPUT_FILE -c copy "merge-$MERGE_FILE_NAME.mp4"
            # 清空源文件(首次运行请注释掉,或自行复制一个测试目录,数据无价!!!)
            rm -rf $DIR_NAME
        fi
    done
}
gen_names .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants