2

Исходя из этого вопроса (где я конвертирую записи телевидения WTV и DVR-MS в H.264/MPEG-4 AVC для сокращения пространства), учитывая вывод ffmpeg -i <filename> , как я могу решить, или нет, я должен де-чересстрочный преобразованный файл?

Вывод для одного такого файла показан ниже:

Input #0, asf, from 'Episodes_BBC TWO_2012_06_29_21_59_00.dvr-ms':
  Metadata:
    DVR Index Granularity: 500
    WM/SubTitleDescription: 8/9. Matt's life continues to fall apart when he fal
ls foul of his fierce ex-wife. Beverly prepares to go on a second date with Morn
ing's brother Rob. Contains strong language.  Also in HD. [AD,S]
    genre           : Shows;Other Shows
    WM/OriginalReleaseTime: 0
    WM/MediaCredits : ;;;
    service_provider: BBC TWO
    service_name    : BBC TWO
    WM/MediaNetworkAffiliation: BBC TWO
    WM/MediaOriginalChannel: 2
    WM/MediaOriginalChannelSubNumber: 0
    WM/MediaOriginalBroadcastDateTime: 0001-01-01T00:00:00Z
    WM/MediaOriginalRunTime: 1991686
    WM/MediaIsStereo: 0
    WM/MediaIsRepeat: 0
    WM/MediaIsLive  : 0
    WM/MediaIsTape  : 0
    WM/MediaIsDelay : 0
    WM/MediaIsSubtitled: 0
    WM/MediaIsMovie : 0
    WM/MediaIsPremiere: 0
    WM/MediaIsFinale: 0
    WM/MediaIsSAP   : 0
    WM/MediaIsSport : 0
    WM/Provider     : Default
    WM/VideoClosedCaptioning: 0
    WM/WMRVEncodeTime: 6349638
    WM/WMRVSeriesUID: !GenericSeries!Episodes
    WM/WMRVServiceID: !Generated!73b6594426b64c11b54ca352d79bb758
    WM/WMRVProgramID: !Loaders!Glid!Programs!9018:4164:4287!60652
    WM/WMRVRequestID: 0
    WM/WMRVScheduleItemID: 0
    WM/WMRVQuality  : 0
    WM/WMRVOriginalSoftPrePadding: 360
    WM/WMRVOriginalSoftPostPadding: 60
    WM/WMRVHardPrePadding: 184
    WM/WMRVHardPostPadding: 0
    WM/WMRVATSCContent: 0
    WM/WMRVDTVContent: 1
    WM/WMRVHDContent: 0
    WM/WMRVEndTime  : 1844674
    WM/WMRVBitrate  : 1844674
    WM/WMRVKeepUntil: 0
    WM/WMRVActualSoftPrePadding: 382
    WM/WMRVActualSoftPostPadding: 63
    WM/WMRVContentProtected: 0
    WM/WMRVContentProtectedPercent: 0
    WM/WMRVExpirationDate: 1844674
    WM/WMRVExpirationSpan: 1844674
    WM/WMRVInBandRatingSystem: 255
    WM/WMRVInBandRatingLevel: 255
    WM/WMRVInBandRatingAttributes: 0
    WM/WMRVWatched  : 0
    WM/MediaThumbType: 3
    WMFSDKVersion   : 12.0.7601.17514
    WMFSDKNeeded    : 0.0.0.0000
    VBR Peak        : 159
    IsVBR           : 1
    title           : Episodes
  Duration: 00:31:56.21, start: 0.000000, bitrate: 2658 kb/s
    Stream #0:0(eng): Audio: mp2, 48000 Hz, stereo, s16, 256 kb/s
    Stream #0:1(eng): Unknown: none
    Stream #0:2(eng): Video: mpeg2video (DVR  / 0x20525644), yuv420p, 704x480 [S
AR 64:45 DAR 1408:675], 15000 kb/s, 25.03 fps, 125 tbr, 1k tbn, 50 tbc

1 ответ1

1

Цитируя Карла-Ойгена Ойоса, одного из разработчиков FFmpeg (если я не ошибаюсь, по крайней мере, он самый активный человек в списке рассылки FFmpeg):

Декодирование необходимо, чтобы определить, является ли вход чересстрочным, если вы кодируете сразу или позже, это ваше решение ...

Так что нет - вы не можете сказать это на лету. Что вам нужно сделать, это попытаться декодировать видео, чтобы надежно получить информацию.

Хотя я не вижу ничего особенного в вашем выводе, по разнице в tbc и фактической частоте кадров можно догадаться, что для этого конкретного видеоклипа используется чересстрочная развертка.


При этом некоторые контейнеры могут иметь правильную информацию о наборе чередования. Проверьте выходные данные mediainfo для видеофайла и найдите поля Scan type сканирования и метаданных Scan order . Первый должен показывать interlaced или progressive .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .