почему результирующее видо в два раза короче
От: sergey2b ЮАР  
Дата: 05.07.23 16:22
Оценка:
Подскажите пожалуйста в чем может быть дело
я использую avcodec для чтения mp4 по фреймам и тут же его записываю используя avcodec
но результирущее видео в два раза быстрей и соотвественно в два раза короче по времени test1.mp4


superuser@XXX:~/Documents/projects/audio/Debug$ ffprobe test1.mp4
ffprobe version 6.0 Copyright (c) 2007-2023 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
configuration: --disable-debug --disable-doc --disable-ffplay --enable-pic --enable-shared --enable-gpl --enable-libass --enable-fontconfig --enable-nonfree --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --extra-libs=-ldl --prefix=/usr/local --enable-libmfx --enable-vaapi --enable-sdl --extra-libs=-lpthread --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test1.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf60.3.100
Duration: 00:00:26.72, start: 0.000000, bitrate: 9701 kb/s
Stream #0:0[0x1](und): Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 3840x1650 [SAR 1:1 DAR 128:55], 9631 kb/s, 25.04 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]

superuser@XXX:~/Documents/projects/audio/Debug$
superuser@XXX:~/Videos$ ffprobe MercedesBenzCLS4K.mp4
ffprobe version 6.0 Copyright (c) 2007-2023 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
configuration: --disable-debug --disable-doc --disable-ffplay --enable-pic --enable-shared --enable-gpl --enable-libass --enable-fontconfig --enable-nonfree --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --extra-libs=-ldl --prefix=/usr/local --enable-libmfx --enable-vaapi --enable-sdl --extra-libs=-lpthread --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MercedesBenzCLS4K.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf60.3.100
Duration: 00:01:12.86, start: 0.000000, bitrate: 7748 kb/s
Stream #0:0[0x1](und): Video: vp9 (vp09 / 0x39307076), yuv420p(tv, bt709), 3840x1650, 7621 kb/s, SAR 1:1 DAR 128:55, 25 fps, 25 tbr, 16k tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]

Re: почему результирующее видо в два раза короче
От: DiPaolo Россия  
Дата: 05.07.23 19:06
Оценка: 12 (1)
Сложно сказать, не видя кода и стрима на входе. Попробую предположить, что на входе интерлейснутый стрим, и в енкодер вы отдаете только каждый второй фрейм.

Проверить можно так:
ffprobe -show_entries stream=field_order <путь к файлу>


Еще, что бросается в глаза, это фреймрейт 25.04 fps — крайне странный. Возможно, исходный файл битый.
Патриот здравого смысла
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.