Я пытался отладить проблему, из-за которой мой файл mp4 не удалось загрузить на YouTube (с ошибкой «Ошибка загрузки: файл не может быть обработан»). Видео воспроизводится нормально в проигрывателе vlc и может быть загружено в Vegas Pro (фактически, его рендеринг исправит проблему с загрузкой). Проверка метаданных с помощью MediaInfo не показывает ничего необычного по сравнению с другими файлами mp4 из того же источника (и работала хорошо при загрузке на YouTube). После некоторых копаний различными инструментами, я обнаружил одну проблему, когда следую инструкции в superuser, чтобы перекодировать оригинальный файл mp4 с помощью ffmpeg. Так как это единственная проблема, которую я могу найти с оригинальным файлом mp4, я думаю, что это может быть причиной неудачной загрузки. Теперь я хочу это исправить.
Я использовал команду ffmpeg -i scripts/1.mp4 -pix_fmt yuv420p -crf 18 scripts/good.mp4
Выход
ffmpeg -i scripts/1.mp4 -pix_fmt yuv420p -crf 18 scripts/good.mp4
ffmpeg version N-83577-g7e538c9 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --prefix=/home/________/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/tianyig/ffmpeg_build/include --extra-ldflags=-L/home/tianyig/ffmpeg_build/lib --bindir=/home/tianyig/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil 55. 47.100 / 55. 47.100
libavcodec 57. 80.101 / 57. 80.101
libavformat 57. 66.102 / 57. 66.102
libavdevice 57. 2.100 / 57. 2.100
libavfilter 6. 73.100 / 6. 73.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x25074a0] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 540x960, 950 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'scripts/1.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.25.101
copyright : @Baidu.com
Duration: 00:12:15.90, start: 0.089000, bitrate: 1027 kb/s
Stream #0:0(und): Video: h264 (avc1 / 0x31637661), none, 540x960, 950 kb/s, 22.58 fps, 25 tbr, 16k tbn, 32k tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 77 kb/s (default)
Metadata:
handler_name : SoundHandler
[buffer @ 0x250e200] Unable to parse option value "-1" as pixel format
Last message repeated 1 times
[buffer @ 0x250e200] Error setting option pix_fmt to value -1.
[graph 0 input from stream 0:0 @ 0x262a4e0] Error applying options to the filter.
Error opening filters!
Он жалуется на pix_fmt со значением -1, но, очевидно, у меня уже есть -pix_fmt yuv420p
как часть команды, которая, кажется, не соблюдается.
Есть идеи как это исправить?