Я вращаю видео с помощью ffmpeg со следующим кодом:
ffmpeg -i nd750_a0040.MOV -vf "transpose=dir=clock, transpose=dir=clock" out.mkv
Полученный файл почти в 10 раз меньше исходного. Я нашел этот вопрос, который касается связанный с этим вопрос и предлагает передать ffmpeg кодек и битрейт, полученные из следующего:
bitratev="$(ffmpeg -i "$1" -f null - |& grep video: | awk -F'[:|kB]' '{print $2}')"
codecv="$(ffprobe -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nk=1:nw=1 "$1")"
однако обе эти команды дают одинаковый результат для обоих файлов: 2643
и h264
соответственно. Правильно ли я предполагаю, что ffmpeg сохраняет эти значения одинаковыми для вывода - по умолчанию?
Однако, если я просматриваю файлы с ffmpeg -i
, я получаю разные значения битрейта:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'nd750_a0040.MOV':
Metadata:
major_brand : qt
minor_version : 537331968
compatible_brands: qt niko
creation_time : 2016-06-18 04:28:03
Duration: 00:15:40.74, start: 0.000000, bitrate: 11569 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, smpte170m/bt709/bt470m), 1920x1080, 10029 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2016-06-18 04:28:03
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, 2 channels, s16, 1536 kb/s (default)
Metadata:
creation_time : 2016-06-18 04:28:03
а также
Input #0, matroska,webm, from 'out.mkv':
Metadata:
COMPATIBLE_BRANDS: qt niko
MAJOR_BRAND : qt
MINOR_VERSION : 537331968
ENCODER : Lavf56.40.101
Duration: 00:15:40.74, start: 0.000000, bitrate: 1445 kb/s
Stream #0:0(eng): Video: h264 (High), yuvj420p(pc), 1920x1080, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Metadata:
CREATION_TIME : 2016-06-18 04:28:03
LANGUAGE : eng
ENCODER : Lavc56.60.100 libx264
DURATION : 00:15:40.742000000
Stream #0:1(eng): Audio: vorbis, 48000 Hz, stereo, fltp (default)
Metadata:
CREATION_TIME : 2016-06-18 04:28:03
LANGUAGE : eng
ENCODER : Lavc56.60.100 libvorbis
DURATION : 00:15:40.743000000
Итак, у меня есть несколько вопросов:
- Какой битрейт является правильным для каждого видео?
- Вся ли потеря информации между этими двумя файлами покрывается битрейтом (или ffmpeg по умолчанию изменяет другие вещи, которые также приводят к меньшему размеру файла - если да, то что?)?
- Как сделать так, чтобы ничего не менялось, кроме формата контейнера и поворота?