小鱼 发表于 2016-10-30 22:25:52

合并多个视频

过程师史,下面这个命令行直接挂掉,那里有问题?谢谢!

ffmpeg -i /storage/1477701680016.mp4 -i /storage/201628184254.mp4 -filter_complex ' concat=n=2:v=1:a=1 ' -map '' -map '' /storage/201630222338.mp4

小鱼 发表于 2016-10-30 22:28:01

ffmpeg version 2.6.3 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.6 (GCC) 20120106 (prerelease)
configuration: --target-os=linux --prefix=../android-lib-ff-full --enable-cross-compile --enable-runtime-cpudetect --disable-asm --arch=arm --cc=/home/leixiaohua1020/cdtworkspace/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --cross-prefix=/home/leixiaohua1020/cdtworkspace/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi- --disable-stripping --nm=/home/leixiaohua1020/cdtworkspace/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-nm --sysroot=/home/leixiaohua1020/cdtworkspace/android-ndk-r9d/platforms/android-8/arch-arm --enable-gpl --enable-shared --disable-static --enable-nonfree --enable-version3 --enable-small --disable-vda --disable-iconv --enable-libx264 --enable-libfaac --enable-encoder=libx264 --enable-encoder=libfaac --enable-zlib --disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-debug --extra-cflags='-I ../android-lib/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a' --extra-ldflags='-L ../android-lib/lib'
libavutil      54. 20.100 / 54. 20.100
libavcodec   56. 26.100 / 56. 26.100
libavformat    56. 25.101 / 56. 25.101
libavdevice    56.4.100 / 56.4.100
libavfilter   5. 11.102 /5. 11.102
libswscale      3.1.101 /3.1.101
libswresample   1.1.100 /1.1.100
libpostproc    53.3.100 / 53.3.100
Splitting the commandline.
Reading option '-i' ... matched as input file with argument '/storage/emulated/0/tencent/MicroMsg/WeiXin/1477701680016.mp4'.
Reading option '-i' ... matched as input file with argument '/storage/emulated/0/watermark/201628184254.mp4'.
Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument '''.
Reading option '' ... matched as output file.
Reading option '' ... matched as output file.
Reading option '' ... matched as output file.
Reading option 'concat=n=2:v=1:a=1' ... matched as output file.
Reading option '' ... matched as output file.
Reading option ''' ... matched as output file.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument ''''.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument ''''.
Reading option '/storage/emulated/0/watermark/201630222338.mp4' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option filter_complex (create a complex filtergraph) with argument '.
Successfully parsed a group of options.
Parsing a group of options: input file /storage/emulated/0/tencent/MicroMsg/WeiXin/1477701680016.mp4.
Successfully parsed a group of options.
Opening an input file: /storage/emulated/0/tencent/MicroMsg/WeiXin/1477701680016.mp4.
Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
ISO: File Type Major Brand: isom
Before avformat_find_stream_info() pos: 26182 bytes read:32768 seeks:0
All info found
After avformat_find_stream_info() pos: 40441 bytes read:65536 seeks:0 frames:5
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/tencent/MicroMsg/WeiXin/1477701680016.mp4':
Metadata:
    major_brand   : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title         : 1771333873135943
    encoder         : Lavf56.40.101
Duration: 00:00:59.69, start: 0.169000, bitrate: 309 kb/s
    Stream #0:0(und), 1, 1/90000: Video: h264 (avc1 / 0x31637661), yuv420p, 400x300 , 287 kb/s, 20 fps, 20 tbr, 90k tbn, 40 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und), 4, 1/48000: Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 19 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Successfully opened the file.
Parsing a group of options: input file /storage/emulated/0/watermark/201628184254.mp4.
Successfully parsed a group of options.
Opening an input file: /storage/emulated/0/watermark/201628184254.mp4.
Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
ISO: File Type Major Brand: isom
Before avformat_find_stream_info() pos: 1361061 bytes read:56779 seeks:1
no picture
All info found
After avformat_find_stream_info() pos: 12475 bytes read:89547 seeks:2 frames:4
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/watermark/201628184254.mp4':
Metadata:
    major_brand   : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.25.101
Duration: 00:00:30.00, start: 0.000000, bitrate: 362 kb/s
    Stream #1:0(und), 3, 1/12288: Video: h264 (avc1 / 0x31637661), yuv420p, 360x480, 308 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #1:1(und), 1, 1/44100: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 47 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Successfully opened the file.
Parsing a group of options: output file .
Successfully parsed a group of options.
Opening an output file: .
No such filter: ''
Error configuring filters.
CALLED CLEAN UP!!!
Statistics: 65536 bytes read, 0 seeks
Statistics: 89547 bytes read, 2 seeks
Quit at 1

小鱼 发表于 2016-10-30 22:30:05

中括号之间的空格删除

ffmpeg -i /storage/2016102968803.mp4 -i /storage/2016102912820.mp4 -filter_complex 'concat=n=2:v=1:a=1' -map '' -map '' /storage/20163022294.mp4

小鱼 发表于 2016-10-30 22:30:48

ffmpeg version 2.6.3 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.6 (GCC) 20120106 (prerelease)
configuration: --target-os=linux --prefix=../android-lib-ff-full --enable-cross-compile --enable-runtime-cpudetect --disable-asm --arch=arm --cc=/home/leixiaohua1020/cdtworkspace/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --cross-prefix=/home/leixiaohua1020/cdtworkspace/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi- --disable-stripping --nm=/home/leixiaohua1020/cdtworkspace/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-nm --sysroot=/home/leixiaohua1020/cdtworkspace/android-ndk-r9d/platforms/android-8/arch-arm --enable-gpl --enable-shared --disable-static --enable-nonfree --enable-version3 --enable-small --disable-vda --disable-iconv --enable-libx264 --enable-libfaac --enable-encoder=libx264 --enable-encoder=libfaac --enable-zlib --disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-debug --extra-cflags='-I ../android-lib/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a' --extra-ldflags='-L ../android-lib/lib'
libavutil      54. 20.100 / 54. 20.100
libavcodec   56. 26.100 / 56. 26.100
libavformat    56. 25.101 / 56. 25.101
libavdevice    56.4.100 / 56.4.100
libavfilter   5. 11.102 /5. 11.102
libswscale      3.1.101 /3.1.101
libswresample   1.1.100 /1.1.100
libpostproc    53.3.100 / 53.3.100
Splitting the commandline.
Reading option '-i' ... matched as input file with argument '/storage/emulated/0/watermark/2016102968803.mp4'.
Reading option '-i' ... matched as input file with argument '/storage/emulated/0/watermark/2016102912820.mp4'.
Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument ''concat=n=2:v=1:a=1''.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument ''''.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument ''''.
Reading option '/storage/emulated/0/watermark/20163022294.mp4' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option filter_complex (create a complex filtergraph) with argument 'concat=n=2:v=1:a=1'.
Successfully parsed a group of options.
Parsing a group of options: input file /storage/emulated/0/watermark/2016102968803.mp4.
Successfully parsed a group of options.
Opening an input file: /storage/emulated/0/watermark/2016102968803.mp4.
Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
ISO: File Type Major Brand: isom
Before avformat_find_stream_info() pos: 875193 bytes read:44186 seeks:1
All info found
After avformat_find_stream_info() pos: 10935 bytes read:76954 seeks:2 frames:26
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/watermark/2016102968803.mp4':
Metadata:
    major_brand   : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title         : 1771333873135943
    encoder         : Lavf56.25.101
Duration: 00:00:25.00, start: 0.024000, bitrate: 280 kb/s
    Stream #0:0(und), 1, 1/90000: Video: h264 (avc1 / 0x31637661), yuv420p, 400x300 , 267 kb/s, 20 fps, 20 tbr, 90k tbn, 40 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und), 25, 1/48000: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 19 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Successfully opened the file.
Parsing a group of options: input file /storage/emulated/0/watermark/2016102912820.mp4.
Successfully parsed a group of options.
Opening an input file: /storage/emulated/0/watermark/2016102912820.mp4.
Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
ISO: File Type Major Brand: isom
Before avformat_find_stream_info() pos: 1336220 bytes read:47802 seeks:1
All info found
After avformat_find_stream_info() pos: 14307 bytes read:80570 seeks:2 frames:5
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/watermark/2016102912820.mp4':
Metadata:
    major_brand   : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title         : 1771333873135943
    encoder         : Lavf56.25.101
Duration: 00:00:33.02, start: 0.000000, bitrate: 323 kb/s
    Stream #1:0(und), 1, 1/90000: Video: h264 (avc1 / 0x31637661), yuv420p, 400x300 , 301 kb/s, 20 fps, 20 tbr, 90k tbn, 40 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #1:1(und), 4, 1/48000: Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 20 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Successfully opened the file.
Parsing a group of options: output file /storage/emulated/0/watermark/20163022294.mp4.
Applying option map (set input stream mapping) with argument ''.
Invalid stream specifier: ''.
Invalid stream specifier: ''.
Invalid stream specifier: ''.
Invalid stream specifier: ''.
Stream map '''' matches no streams.
CALLED CLEAN UP!!!
Statistics: 76954 bytes read, 2 seeks
Statistics: 80570 bytes read, 2 seeks
Quit at 1

小鱼 发表于 2016-10-30 22:34:22

合并不同编码的视频文件,我的语法哪里有问题,过程师兄弟给个例子,谢谢!

孙悟空 发表于 2016-10-31 09:39:33

不同编码的话,最好改成相同编码然后合并

小鱼 发表于 2016-10-31 09:51:16

感谢大师兄弟, 那就得搜索一下每个视频的编码方式, 然后全部转码成最长的那个视频的编码, 再合并。

另外,我就照着下面的语言写的,
https://ffmpeg.org/ffmpeg-filters.html#Examples-99

怎么老说我各种错误? 能帮我写一个能运行的例子吗?
Invalid stream specifier: ''.
Invalid stream specifier: ''.
Invalid stream specifier: ''.
Invalid stream specifier: ''.

孙悟空 发表于 2016-10-31 10:22:11

转码后,直接用concat的format应该就可以咯
页: [1]
查看完整版本: 合并多个视频