É possível usar o ffmpeg para mesclar arquivos, transcodificar para MXF IMX30 com VITC

0

O ffmpeg é capaz de transcrever para o IMX30 MXF? Eu tenho quieto alguns arquivos em DVCPRO MOV que eu quero mesclar em um, transcodificar para IMX30 MXF com VITC desde que eu tenho o programa que só é capaz de funcionar corretamente com este formato de vídeo.

Eu descobri como mesclar arquivos juntos ffmpeg -f concat -i "filestoconcat.txt" -c copy "output.mov" . Bastante simples e funciona bem.

Mas não consigo encontrar se é possível transcodificar o arquivo resultante em IMX30 MXF. De preferência ao mesmo tempo com concatenação.

ffprobe para um dos arquivos:

C:\ffmpeg>ffprobe C:\Archive01_01_23.mov
ffprobe version N-66860-g5552594 Copyright (c) 2007-2014 the FFmpeg developers
  built on Oct 15 2014 00:14:28 with gcc 4.9.1 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
 --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      54. 10.100 / 54. 10.100
  libavcodec     56.  5.100 / 56.  5.100
  libavformat    56.  9.100 / 56.  9.100
  libavdevice    56.  1.100 / 56.  1.100
  libavfilter     5.  1.106 /  5.  1.106
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Archive01_01_23.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf57.25.100
  Duration: 00:14:51.08, start: 0.000000, bitrate: 30338 kb/s
    Stream #0:0(eng): Video: dvvideo (dvpp / 0x70707664), yuv411p, 720x576 [SAR
64:45 DAR 16:9], 28800 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
    Metadata:
      handler_name    : DataHandler
      encoder         : Lavc57.24.102 dvvideo
      timecode        : 00:00:00:00
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s1
6, 1536 kb/s (default)
    Metadata:
      handler_name    : DataHandler
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
    Metadata:
      handler_name    : DataHandler
      timecode        : 00:00:00:00
Unsupported codec with id 0 for input stream 2
    
por user3223738 04.04.2016 / 11:32

1 resposta

1

MPEG IMX é o nome usado pela Sony para o padrão SMPTE 356M , também chamado D10. O FFmpeg possui um muxer MXF-D10. Então, primeiro atualize seu ffmpeg binário e tente isto com um único arquivo primeiro e teste-o em sua aplicação:

ffmpeg -i input.mov -map 0:v -map 0:a -timecode 00:00:00:00
       -c:v mpeg2video -pix_fmt yuv422p -r 25 -b:v 30000k -minrate 30000k -maxrate 30000k
       -bufsize 1200000 -rc_init_occupancy 1200000 -rc_max_vbv_use 1 -rc_min_vbv_use 1  
       -intra -flags +ildct+low_delay -intra_vlc 1 -non_linear_quant 1
       -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 
       -c:a pcm_s16le -ar 48000 -d10_channelcount 2
       -f mxf_d10 output.mxf

Se o acima funcionar, então

ffmpeg -f concat -i "filestoconcat.txt" -map 0:v -map 0:a -timecode 00:00:00:00
       -c:v mpeg2video -pix_fmt yuv422p -r 25 -b:v 30000k -minrate 30000k -maxrate 30000k
       -bufsize 1200000 -rc_init_occupancy 1200000 -rc_max_vbv_use 1 -rc_min_vbv_use 1  
       -intra -flags +ildct+low_delay -intra_vlc 1 -non_linear_quant 1
       -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 
       -c:a pcm_s16le -ar 48000 -d10_channelcount 2
       -f mxf_d10 joined.mxf
    
por 04.04.2016 / 14:46

Tags