我有一个编码为MXF的DV文件,我想将其转码为h264。对文件运行ffmpeg它读取正常并理解流但不会写入h264文件。它似乎可以使所有流正确,我可以确认视频和音频流的属性。
我只是不明白为什么它不会编码?我试图使用-f dv强制解码器,但它抱怨源头不正确。
./ffmpeg -f dv -i camb_onitefire_050914.mov camb_onitefire_A.mp4
ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
built with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --disable-doc --arch=x86_64 --enable-runtime-cpudetect
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
[dv @ 0x7fd6f4800000] Cannot find DV header.
camb_onitefire_050914.mov: Operation not permitted
Davids-MacBook-Pro:camb_onitefire_050914(1).vmf davidmcsween$ ./ffmpeg -i camb_onitefire_050914.mov camb_onitefire_A.mp4
ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
built with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --disable-doc --arch=x86_64 --enable-runtime-cpudetect
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe1fb000000] Skipped opening external track: stream 0, alias: path='/VibrintAVFiles/P2 News Ingest/camb_onitefire_050914(1).vmf/video.vid', dir='camb_onitefire_050914(1).vmf', filename='video.vid', volume='default', nlvl_from=1, nlvl_to=1.Set enable_drefs to allow this.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe1fb000000] Skipped opening external track: stream 1, alias: path='/VibrintAVFiles/P2 News Ingest/camb_onitefire_050914(1).vmf/audio_0.pcm', dir='camb_onitefire_050914(1).vmf', filename='audio_0.pcm', volume='default', nlvl_from=1, nlvl_to=1.Set enable_drefs to allow this.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe1fb000000] Skipped opening external track: stream 2, alias: path='/VibrintAVFiles/P2 News Ingest/camb_onitefire_050914(1).vmf/audio_1.pcm', dir='camb_onitefire_050914(1).vmf', filename='audio_1.pcm', volume='default', nlvl_from=1, nlvl_to=1.Set enable_drefs to allow this.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe1fb000000] Skipped opening external track: stream 3, alias: path='/VibrintAVFiles/P2 News Ingest/camb_onitefire_050914(1).vmf/audio_2.pcm', dir='camb_onitefire_050914(1).vmf', filename='audio_2.pcm', volume='default', nlvl_from=1, nlvl_to=1.Set enable_drefs to allow this.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe1fb000000] Skipped opening external track: stream 4, alias: path='/VibrintAVFiles/P2 News Ingest/camb_onitefire_050914(1).vmf/audio_3.pcm', dir='camb_onitefire_050914(1).vmf', filename='audio_3.pcm', volume='default', nlvl_from=1, nlvl_to=1.Set enable_drefs to allow this.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe1fb000000] Could not find codec parameters for stream 0 (Video: dvvideo (dvpp / 0x70707664), none, 720x576, 28800 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Guessed Channel Layout for Input Stream #0.1 : mono
Guessed Channel Layout for Input Stream #0.2 : mono
Guessed Channel Layout for Input Stream #0.3 : mono
Guessed Channel Layout for Input Stream #0.4 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'camb_onitefire_050914.mov':
Metadata:
creation_time : 2014-09-04T18:54:07.000000Z
Duration: 00:17:47.18, start: 0.000000, bitrate: 1 kb/s
Stream #0:0(eng): Video: dvvideo (dvpp / 0x70707664), none, 720x576, 28800 kb/s, SAR 118:81 DAR 295:162, 25 fps, 25 tbr, 2500 tbn, 2500 tbc (default)
Metadata:
creation_time : 2014-09-04T18:54:07.000000Z
handler_name : Apple Alias Data Handler
timecode : 01:46:43:02
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s (default)
Metadata:
creation_time : 2014-09-04T18:54:07.000000Z
handler_name : Apple Alias Data Handler
Stream #0:2(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s (default)
Metadata:
creation_time : 2014-09-04T18:54:07.000000Z
handler_name : Apple Alias Data Handler
Stream #0:3(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s (default)
Metadata:
creation_time : 2014-09-04T18:54:07.000000Z
handler_name : Apple Alias Data Handler
Stream #0:4(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s (default)
Metadata:
creation_time : 2014-09-04T18:54:07.000000Z
handler_name : Apple Alias Data Handler
Stream #0:5(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2014-09-04T18:54:07.000000Z
handler_name : Apple Handle Data Handler
timecode : 01:46:43:02
File 'camb_onitefire_A.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (dvvideo (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
Finishing stream 0:0 without any data written to it.
Finishing stream 0:1 without any data written to it.
Nothing was written into output file 0 (camb_onitefire_A.mp4), because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[aac @ 0x7fe1fd010e00] Qavg: nan
这是一部关于这部小说mxd文件结构的例子:
答案 0 :(得分:1)
这里有一个MOV,它只是一个shell而实际的流在其他地方。
运行
ffmpeg -enable_drefs 1 -use_absolute_path 1 -i camb_onitefire_050914.mov camb_onitefire_A.mp4
运行,转移所有曲目
ffmpeg -enable_drefs 1 -use_absolute_path 1 -i camb_onitefire_050914.mov -map 0:v -map 0:a camb_onitefire_A.mp4
以上,时间码
ffmpeg -enable_drefs 1 -use_absolute_path 1 -i camb_onitefire_050914.mov -map 0:v -map 0:a -write_tmcd 1 camb_onitefire_A.mp4