У меня есть AVID-DNxHD-файлы, созданные Ikegami EditCamHD и FFMPEG-кодированные DNxHD-файлы.
Файлы Ikegami имеют разрешение 1080 / 25psF со скоростью 185 Мбит / с c (10 бит). FFMPEG-файлы создаются с помощью этой команды:
ffmpeg -loop 1 -i c:\pics\VideoNichtVorhanden.jpg -s 1920x1080 -r 25 -t 92.8 -c:v dnxhd -b:v 185M -pix_fmt yuv422p10le d:\MissingFiles\missing_0001.mov
ffprobe из файла Ikegami:
{
"streams": [
{
"index": 0,
"codec_name": "dnxhd",
"codec_long_name": "VC3\/DNxHD",
"profile": "DNXHD",
"codec_type": "video",
"codec_time_base": "1\/25",
"codec_tag_string": "[0][0][0][0]",
"codec_tag": "0x0000",
"width": 1920,
"height": 1080,
"coded_width": 1920,
"coded_height": 1088,
"has_b_frames": 0,
"sample_aspect_ratio": "1:1",
"display_aspect_ratio": "16:9",
"pix_fmt": "yuv422p10le",
"level": -99,
"color_space": "bt709",
"field_order": "tt",
"refs": 1,
"r_frame_rate": "25\/1",
"avg_frame_rate": "25\/1",
"time_base": "1\/25",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 827,
"duration": "33.080000",
"bits_per_raw_sample": "10",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0
},
"tags": {
"file_package_umid": "0x060A2B340101010101010F0013000000D6F21F070302074C060E2B347F7F2A80",
"file_package_name": "File Package",
"track_name": "V1"
}
},
{
"index": 1,
"codec_type": "data",
"codec_tag_string": "[0][0][0][0]",
"codec_tag": "0x0000",
"r_frame_rate": "0\/0",
"avg_frame_rate": "0\/0",
"time_base": "1\/90000",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 2977200,
"duration": "33.080000",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0
},
"tags": {
"file_package_umid": "0x060A2B34010101010101080013000000D6F21F070276074C060E2B347F7F2A80",
"track_name": "A1",
"data_type": "audio"
}
},
{
"index": 2,
"codec_type": "data",
"codec_tag_string": "[0][0][0][0]",
"codec_tag": "0x0000",
"r_frame_rate": "0\/0",
"avg_frame_rate": "0\/0",
"time_base": "1\/90000",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 2977200,
"duration": "33.080000",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0
},
"tags": {
"file_package_umid": "0x060A2B34010101010101080013000000D6F21F07028A074C060E2B347F7F2A80",
"track_name": "A2",
"data_type": "audio"
}
}
],
"format": {
"filename": "G:\\MXF-sortiert\\Ikegami\\2018-04-10\\V\\MULTI_NN17GN0V\\NN17GN0V.0001.MXF",
"nb_streams": 3,
"nb_programs": 0,
"format_name": "mxf",
"format_long_name": "MXF (Material eXchange Format)",
"start_time": "0.000000",
"duration": "33.080000",
"size": "761004264",
"bit_rate": "184039725",
"probe_score": 100,
"tags": {
"operational_pattern_ul": "060e2b34.04010102.0d010201.10030000",
"uid": "caf0bf8e-ff07-b34d-9616-bc3e7bd32d54",
"generation_uid": "fb90769f-a46d-d546-983d-dda63339a8fd",
"company_name": "Ikegami",
"product_name": "HDN-X10",
"product_version": "1.30d",
"product_uid": "3e2189d7-294b-4612-8243-1b1990e14055",
"modification_date": "2018-04-10T05:57:59.788000Z",
"material_package_umid": "0x060A2B340101010101010F0013000000D6F21F070262074C060E2B347F7F2A80",
"material_package_name": "01047",
"timecode": "01:23:17:03"
}
}
}
ffprobe из файла ffmpeg-coded-file:
{
"streams": [
{
"index": 0,
"codec_name": "dnxhd",
"codec_long_name": "VC3\/DNxHD",
"profile": "DNXHD",
"codec_type": "video",
"codec_time_base": "1\/25",
"codec_tag_string": "AVdn",
"codec_tag": "0x6e645641",
"width": 1920,
"height": 1080,
"coded_width": 1920,
"coded_height": 1088,
"has_b_frames": 0,
"sample_aspect_ratio": "1:1",
"display_aspect_ratio": "16:9",
"pix_fmt": "yuv422p10le",
"level": -99,
"color_range": "tv",
"color_space": "bt709",
"refs": 1,
"r_frame_rate": "25\/1",
"avg_frame_rate": "25\/1",
"time_base": "1\/12800",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 1187840,
"duration": "92.800000",
"bit_rate": "183500800",
"bits_per_raw_sample": "10",
"nb_frames": "2320",
"disposition": {
"default": 1,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0
},
"tags": {
"handler_name": "VideoHandler",
"encoder": "Lavc58.54.100 dnxhd"
}
}
],
"format": {
"filename": "G:\\MXF-sortiert\\Ikegami\\2018-04-10\\V\\MULTI_NN1EUS0V\\MXF\\NN1EUS0V.0001.mov",
"nb_streams": 1,
"nb_programs": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"format_long_name": "QuickTime \/ MOV",
"start_time": "0.000000",
"duration": "92.800000",
"size": "2128619444",
"bit_rate": "183501676",
"probe_score": 100,
"tags": {
"major_brand": "qt ",
"minor_version": "512",
"compatible_brands": "qt ",
"encoder": "Lavf58.29.100"
}
}
}
Когда я, например, конкатюрирую один .mxf с одним .mov и другим .mxf в конце, длительность является постоянной (около 26 Miuntes, когда должно быть около 4 минут или около того), и VL C -Player дает частоту кадров очень низкая частота кадров, и видео не воспроизводит кодированную часть ffmpeg.
ffprobe из concat-output:
{
"streams": [
{
"index": 0,
"codec_name": "dnxhd",
"codec_long_name": "VC3\/DNxHD",
"profile": "DNXHD",
"codec_type": "video",
"codec_time_base": "20268137\/1351040",
"codec_tag_string": "AVdn",
"codec_tag": "0x6e645641",
"width": 1920,
"height": 1080,
"coded_width": 1920,
"coded_height": 1088,
"has_b_frames": 0,
"sample_aspect_ratio": "1:1",
"display_aspect_ratio": "16:9",
"pix_fmt": "yuv422p10le",
"level": -99,
"color_range": "tv",
"color_space": "bt709",
"refs": 1,
"r_frame_rate": "25\/1",
"avg_frame_rate": "1351040\/20268137",
"time_base": "1\/12800",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 1216088220,
"duration": "95006.892188",
"bit_rate": "489252",
"bits_per_raw_sample": "10",
"nb_frames": "6333",
"disposition": {
"default": 1,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0
},
"tags": {
"handler_name": "VideoHandler"
}
}
],
"format": {
"filename": "G:\\MXF-sortiert\\Ikegami\\2018-04-10\\V\\NN1EUS0V_MIES.mov",
"nb_streams": 1,
"nb_programs": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"format_long_name": "QuickTime \/ MOV",
"start_time": "0.000000",
"duration": "95006.893000",
"size": "5810367616",
"bit_rate": "489258",
"probe_score": 100,
"tags": {
"major_brand": "qt ",
"minor_version": "512",
"compatible_brands": "qt ",
"encoder": "Lavf58.29.100"
}
}
}
Файлы с кодировкой Ikegami и ffmpeg для себя отлично воспроизводятся и показывают правильный fps в VL C.
Я вижу в журналах пробников
"codec_time_base": "20268137\/1351040"
и
"avg_frame_rate": "1351040\/20268137"
Что здесь не так? Как я могу улучшить кодирующую часть и / или конкат, чтобы получить хороший результат? Возможно ли это только с перекодированием вместо c: v copy?
Любая помощь приветствуется, заранее спасибо,
Tom