Apakah mungkin menggunakan ffmpeg untuk menggabungkan file, transcode ke MXF IMX30 dengan VITC


0

Apakah ffmpeg mampu melakukan transocode ke IMX30 MXF? Saya memiliki beberapa file dalam DVCPRO MOV yang saya ingin gabungkan menjadi satu, transcode ke IMX30 MXF dengan VITC karena saya memiliki program yang hanya mampu bekerja dengan baik dengan format video ini.

Saya menemukan cara menggabungkan file ffmpeg -f concat -i "filestoconcat.txt" -c copy "output.mov". Cukup sederhana dan berfungsi dengan baik.

Tetapi saya tidak dapat menemukan apakah mungkin untuk juga mentranskode file yang dihasilkan ke IMX30 MXF. Lebih disukai bersamaan dengan penggabungan.

ffprobe untuk salah satu file:

C:\ffmpeg>ffprobe C:\Archive\2001_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:\Archive\2001_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

Rekatkan pembacaan lengkap ffprobe input.movuntuk salah satu file DVCPRO.
Gyan

@Mulvya Menambahkan output ffprobe untuk salah satu file DVCPRO
user3223738

Jawaban:


1

MPEG IMX adalah nama yang digunakan oleh Sony untuk standar SMPTE 356M , juga disebut D10. FFmpeg memang memiliki muxer MXF-D10. Jadi, pertama perbarui biner ffmpeg Anda dan kemudian coba ini dengan satu file terlebih dahulu dan uji di aplikasi Anda:

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

Jika cara di atas berhasil, maka

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

Terima kasih untuk sarannya. Tapi itu tidak berhasil. Inilah keluaran ffmpeg yang saya dapatkan: pastebin.com/rk3NTKVW
user3223738

Selain komentar saya sebelumnya. Apakah mungkin ffmpeg menemukan QT Timecode stream? Inilah MediaInfo file tersebut: pastebin.com/egNbEjNN Apakah mungkin untuk memberitahu ffmpeg mengabaikannya?
user3223738

Ya, ffmpeg mengeluh tentang QT TC. Dihapus.
Gyan

Itu bekerja. Satu pertanyaan terakhir. Apakah mungkin untuk membakar dalam Kode Waktu VITC PAL ke dalam video untuk ditampilkan secara visual? Masalahnya terlihat seperti ini rupanya de.wikipedia.org/wiki/Vertical_Interval_TimeCode#/media/… ? Perangkat lunak yang saya coba tampaknya menggunakannya untuk membentuk timeline yang benar sehingga dapat diedit nanti.
user3223738

Dari apa yang saya lihat, ffmpeg tidak dapat menyandikan VITC. Perintah saya membuat trek kode waktu - tidak yakin apakah aplikasi Anda dapat melihatnya. Saya dapat memodifikasi perintah saya untuk memasukkan ruang kosong 32 piksel di bagian atas, tetapi tidak akan ada TC di dalamnya. Semoga bermanfaat jika aplikasi Anda dapat menyimpannya di sana.
Gyan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.