ffmpeg가 작동하지 않는 세 번째 스트림을 제거합니다.


6

FCP의 일부 메타 데이터가 될 수있는 세 번째 스트림이있는 파일이 있습니다. 이것은 ffprobe의 출력입니다.

ffprobe 00700.mov  
ffprobe version 2.0.1 Copyright (c) 2007-2013 the FFmpeg developers  
  built on Aug 27 2013 20:17:24 with gcc 4.5 (SUSE Linux)  
  configuration: --enable-gpl --enable-shared --enable-libmp3lame --enable-libxvid  --enable-libx264 --enable-nonfree --enable-postproc --enable-version3  
  libavutil      52. 38.100 / 52. 38.100  
  libavcodec     55. 18.102 / 55. 18.102  
  libavformat    55. 12.100 / 55. 12.100  
  libavdevice    55.  3.100 / 55.  3.100  
  libavfilter     3. 79.101 /  3. 79.101  
  libswscale      2.  3.100 /  2.  3.100  
  libswresample   0. 17.102 /  0. 17.102  
  libpostproc    52.  3.100 / 52.  3.100  
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x806f860] multiple edit list entries, a/v desync might occur, patch welcome  
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '00700.mov':  
  Metadata:  
    major_brand     : qt    
    minor_version   : 537199360  
    compatible_brands: qt    
    creation_time   : 2013-06-11 15:57:03  
  Duration: 00:02:41.56, start: 0.000000, bitrate: 48439 kb/s  
    Stream #0:0(eng): Video: mpeg2video (4:2:2) (xd5c / 0x63356478), yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], 45873 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc  
    Metadata:  
      creation_time   : 2013-06-11 15:57:03  
      handler_name    : Apple Alias Data Handler  
      timecode        : 01:00:00:00  
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 2 channels, s32, 2304 kb/s  
    Metadata:  
      creation_time   : 2013-06-11 15:57:03  
      handler_name    : Apple Alias Data Handler  
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)  
    Metadata:  
      creation_time   : 2013-06-11 15:58:45  
      handler_name    : Apple Alias Data Handler  
      timecode        : 01:00:00:00  
Unsupported codec with id 0 for input stream 2  

이제 세 번째 스트림 (스트림 2)을 제거하고 싶습니다.

그래서 나는 사용합니다 :

ffmpeg -i 00700.mov -vcodec copy -acodec copy -map 0:0 -map 0:1 testout.mov  
ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers  
  built on Aug 27 2013 20:17:24 with gcc 4.5 (SUSE Linux)  
  configuration: --enable-gpl --enable-shared --enable-libmp3lame --enable-libxvid   --enable-libx264 --enable-nonfree --enable-postproc --enable-version3  
  libavutil      52. 38.100 / 52. 38.100  
  libavcodec     55. 18.102 / 55. 18.102  
  libavformat    55. 12.100 / 55. 12.100  
  libavdevice    55.  3.100 / 55.  3.100  
  libavfilter     3. 79.101 /  3. 79.101  
  libswscale      2.  3.100 /  2.  3.100  
  libswresample   0. 17.102 /  0. 17.102  
  libpostproc    52.  3.100 / 52.  3.100  
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x8086ca0] multiple edit list entries, a/v desync might occur, patch welcome  
Guessed Channel Layout for  Input Stream #0.1 : stereo  
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '00700.mov':  
  Metadata:  
    major_brand     : qt    
    minor_version   : 537199360  
    compatible_brands: qt    
    creation_time   : 2013-06-11 15:57:03  
  Duration: 00:02:41.56, start: 0.000000, bitrate: 48439 kb/s  
    Stream #0:0(eng): Video: mpeg2video (4:2:2) (xd5c / 0x63356478), yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], 45873 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc  
    Metadata:  
      creation_time   : 2013-06-11 15:57:03  
      handler_name    : Apple Alias Data Handler  
      timecode        : 01:00:00:00  
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32, 2304 kb/s  
    Metadata:  
      creation_time   : 2013-06-11 15:57:03  
      handler_name    : Apple Alias Data Handler  
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)  
    Metadata:  
      creation_time   : 2013-06-11 15:58:45  
      handler_name    : Apple Alias Data Handler  
      timecode        : 01:00:00:00  
Output #0, mov, to 'testout.mov':  
  Metadata:  
    major_brand     : qt    
    minor_version   : 537199360  
    compatible_brands: qt    
    encoder         : Lavf55.12.100  
    Stream #0:0(eng): Video: mpeg2video (xd5c / 0x63356478), yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 45873 kb/s, 25 fps, 12800 tbn, 25 tbc   
    Metadata:  
      creation_time   : 2013-06-11 15:57:03  
      handler_name    : Apple Alias Data Handler  
      timecode        : 01:00:00:00  
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, 2304 kb/s
    Metadata:  
      creation_time   : 2013-06-11 15:57:03  
      handler_name    : Apple Alias Data Handler
Stream mapping:  
  Stream #0:0 -> #0:0 (copy)  
  Stream #0:1 -> #0:1 (copy)  
Press [q] to stop, [?] for help  
frame=   45 fps=0.0 q=-1.0 size=   11470kB time=00:00:02.00 bitrate=46982.6kbitsframe=   99 fps= 99 q=-1.0 size=   25263kB time=00:00:04.00 bitrate=51738.5kbitsframe=  154 fps=101 q=-1.0 size=   38805kB time=00:00:06.12 bitrate=51942.3kbitsframe=  178 fps= 88 q=-1.0 size=   45189kB time=00:00:07.08 bitrate=52286.0kbitsframe=  211 fps= 82 q=-1.0 size=   53860kB time=00:00:09.00 bitrate=49024.2kbitsframe=  239 fps= 78 q=-1.0 size=   61190kB time=00:00:10.00 bitrate=50126.7kbitsframe=  269 fps= 73 q=-1.0 size=   68671kB time=00:00:11.00 bitrate=51140.9kbitsframe=  299 fps= 71 q=-1.0 size=   76513kB time=00:00:12.00 bitrate=52232.9kbitsframe=  332 fps= 69 q=-1.0 size=   83237kB time=00:00:13.24 bitrate=51501.1kbitsframe=  360 fps= 66 q=-1.0 size=   91908kB time=00:00:15.00 bitrate=50193.9kbits  ...and so on till  
frame= 4041 fps= 51 q=-1.0 size=  950203kB time=00:02:42.00 bitrate=48049.8kbitsframe= 4060 fps= 51 q=-1.0 Lsize=  955158kB time=00:02:42.40 bitrate=48181.4kbits/s    
video:909397kB audio:45675kB subtitle:0 global headers:0kB muxing overhead 0.008987%

다시 ffprobe를 사용합니다.

ffprobe testout.mov   
ffprobe version 2.0.1 Copyright (c) 2007-2013 the FFmpeg developers  
  built on Aug 27 2013 20:17:24 with gcc 4.5 (SUSE Linux)  
  configuration: --enable-gpl --enable-shared --enable-libmp3lame --enable-libxvid   --enable-libx264 --enable-nonfree --enable-postproc --enable-version3  
  libavutil      52. 38.100 / 52. 38.100  
  libavcodec     55. 18.102 / 55. 18.102  
  libavformat    55. 12.100 / 55. 12.100  
  libavdevice    55.  3.100 / 55.  3.100  
  libavfilter     3. 79.101 /  3. 79.101  
  libswscale      2.  3.100 /  2.  3.100  
  libswresample   0. 17.102 /  0. 17.102  
  libpostproc    52.  3.100 / 52.  3.100  
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'testout.mov':  
  Metadata:  
    major_brand     : qt    
    minor_version   : 512  
    compatible_brands: qt    
    encoder         : Lavf55.12.100  
  Duration: 00:02:42.40, start: 0.000000, bitrate: 48181 kb/s  
    Stream #0:0(eng): Video: mpeg2video (4:2:2) (xd5c / 0x63356478), yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], 45873 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc  
    Metadata:  
      handler_name    : DataHandler  
      timecode        : 01:00:00:00  
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32, 2304 kb/s  
    Metadata:  
      handler_name    : DataHandler  
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)  
    Metadata:  
      handler_name    : DataHandler  
      timecode        : 01:00:00:00  
Unsupported codec with id 0 for input stream 2 

스트림 2를 제거하지 않는 이유는 무엇입니까? 내가 무엇을 놓치고 있습니까?


@slhck 다시 감사합니다. 나는 이제 서식이 끊어 졌다고 생각합니다.
Rajib

이 mov 파일의 샘플을 제공 할 수 있습니까?
ptQa

@ptQa는 당신에게 좋은 보내기 공간입니까? 가장 작은 파일은 130MB입니다. 아니면 다시 인코딩하지 않은 컷 버전을 원하십니까? 또한 multiple edit list entries, a/v desync might occur, patch welcome Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '00700.mov'사라지는 라인 을 참조하십시오 . 그러나 지원되지 않는 코덱 비트는 여전히 남아 있습니다.
Rajib

네, 모든 호스팅은 괜찮습니다. 파일 크기는 중요하지 않습니다.
ptQa

@ptQa 다운로드 링크 : sendspace.com/file/w6ckv7
Rajib

답변:


8

일반적으로 왜 그것이 매핑되지 않는지 모르겠습니다. 그러나 이에 대한 해결 방법을 찾았습니다.

ffmpeg -i 01300.mov -filter_complex "[0:v]null[video_out];[0:a]anull[audio_out]" -map [video_out] -map [audio_out] out.mov

ffmpeg가이 세 번째 스트림을 올바르게 맵핑 할 수없는 것 같습니다.


감사합니다-aac를 추가 -strict -2해야했고 원본이 pcm_s24le이기 때문에 어디에서 왔는지 궁금합니다. 어떻게 작동하는지 설명해 주시겠습니까? 오히려 이것이 효과가 있습니까?
Rajib

1
필터 그래프를 사용할 때지도 옵션이 다르게 작동하기 때문에 작동합니다. 필터 그래프 스트림 만 맵핑하며 소스 스트림을 맵핑 할 수 없습니다. 필터 그래프에서 오디오 및 비디오에 null 필터를 사용했습니다 (아무것도하지 않음). aac 정보-원하는 코덱을 사용할 수 있다고 확신합니다. ffmpeg는 .mov 형식의 기본값으로 aac를 사용합니다.
ptQa

이것은 세 번째 (자막) 스트림을 제거 -sn하지도 -c:s none않을 때 나를 위해 일했습니다 . BTW, 불가피한 재 인코딩은 해당 필터 그래프를 해당 파일을 만든 명령에 사용하면 문제가되지 않습니다. (내 스트림은 파이널 컷 프로가 아닌 gopro hero3 +에서 나왔습니다.)
Camille Goudeseune

3

Google 검색에 등장하므로 다른 사람들이 솔루션을 찾는 데 도움이 되므로이 답변.

이 티켓은 https://trac.ffmpeg.org/ticket/5492 로 수정되었으며 -write_tmcd 0ffmpeg 명령 에 추가하여 트랙을 제거 할 수 있습니다 .

이것은 특별히 Data (tmcd)트랙입니다. 기타 (자막, 일반 데이터 등) 중 어느 하나의 조합을 위해 -dn, -map -0:d유사한 명령을 도와야한다.


확인하겠습니다. 나는 그 문제가있는 파일을 가지고 있지 않다. 감사.
Rajib
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.