Я снял видео со своим телефоном на базе Android, но не удался нажать Кнопку остановки правильно. Таким образом, мой телефон разрядил память на дисках, и Видео Приложение, вероятно, просто отключило файл.
После копирования файла (размер 2,1 ГБ) на мой рабочий стол человечности я пытался выполнить его с mplayer
. Вывод:
MPlayer 1.2.1 (Debian), built with gcc-5.4.0 (C) 2000-2016 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing 20190215_141432.mp4.
libavformat version 56.40.101 (external)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f0685aced80]Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f0685aced80]Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none(tv, bt709), 1920x1080): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
LAVF_header: av_find_stream_info() failed
[lavf] stream 0: video (h264), -vid 0
VIDEO: [H264] 1920x1080 24bpp 90000.000 fps 0.0 kbps ( 0.0 kbyte/s)
Clip info:
major_brand: mp42
minor_version: 0
compatible_brands: isommp42
creation_time: 2019-02-15 14:06:39
Load subtitles in ./
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 56.60.100 (external)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Audio: no sound
Starting playback...
V: 0.0 0/ 0 ??% ??% ??,?% 0 0
Exiting... (End of file)
Там какой-либо путь состоит в том, чтобы зафиксировать это? Возможно, существуют только некоторые метаданные, которые должны быть исправлены.
Я также попробовал это, но произвел, то же:
mplayer -lavfdopts analyzeduration=120 20190215_141432.mp4
Затем я пытался сократить видео
ffmpeg -probesize 1000M -analyzeduration 1000M
-i 20190215_141432.mp4 -pix_fmt yuvj420p
-ss 00:00:00 -c copy -t 00:05:30 new.mp4
Но вывод о том же:
ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
[...]
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x182d380] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none(tv, bt709), 1920x1080): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
20190215_141432.mp4: could not find codec parameters
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '20190215_141432.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2019-02-15 12:06:39
Duration: 00:19:49.40, bitrate: 10308 kb/s
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), none(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 10.94 fps, 90k tbr, 90k tbn, 180k tbc (default)
Metadata:
rotate : 180
creation_time : 2019-02-15 12:06:39
handler_name : VideoHandle
Side data:
displaymatrix: rotation of -180.00 degrees
[...]
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
Обратите внимание на то, что я указал pix_fmt, probesize
и analyzeduration
но добрался как ответ
неуказанный формат пикселя. Рассмотрите увеличивание значения для 'analyzeduration' и 'probesize' опций
Btw: Я попробовал pixel_format
также.
Мой финал attemp, до сих пор, должен был использовать untrunc
. Вывод:
Repair: 20190215_141432.mp4
Failed to parse atoms in truncated file
Обновление на (отредактированном) ответе (Fabby):
Я попробовал это
ffmpeg -i 20190215_141432.mp4 -probesize 100M -analyzeduration 100M -map_metadata -1 -c:v libx264 -strict -2 -c:a libmp3lame -b:a 512K new.mkv
(и играемый вокруг со значениями как 1024M
, 2G
, 4G
и размещение параметров (как предложено в здесь), но произвело, по существу:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xc0c4a0] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none(tv, bt709), 1920x1080): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
20190215_141432.mp4: could not find codec parameters
[...]
Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (new.mkv) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[...]
[buffer @ 0xc137e0] Unable to parse option value "-1" as pixel format
Last message repeated 1 times
[buffer @ 0xc137e0] Error setting option pix_fmt to value -1.
[graph 0 input from stream 0:0 @ 0xc133e0] Error applying options to the filter.
Error opening filters!
Я собираюсь похоронить этот вопрос, теперь.
Причины: Это - мертвый simpe для вырезания видео, видео соединения - даже roatate использование видео
ffmpeg/mencoder
или другие инструменты. Вырезание, присоединяясь, поворачивая действия должно (согласно моему пониманию) метаданные перестроения во-первых.Я этот случай, метаданные там и допустимы (такие как продолжительность, формат, время создания...). Так, почему восстанавливает метаданные, в этом случае настолько трудные? Чрезвычайно раздражающий вывод команд, утверждая, что формат пикселя не был бы указан и так далее....
В конце концов. Я думал, восстанавливая это видео, просто нуждается в ценной подсказке или некотором волшебном каноническом инструменте, но в конце концов, моя жизнь не зависит от него.
К сожалению, но с.MP4 файлами Вам нужны и заголовок и в нижний колонтитул файла для создания этого играемым, таким образом, полностью транскодирующий (и не просто копирующий) мог бы сделать это читаемым:
ffmpeg -i 20190215_141432.mp4 -probesize 100M -analyzeduration 100M -map_metadata -1 -c:v libx264 -strict -2 -c:a libmp3lame -b:a 512K 20190215_141432.mkv
Если это не помогает, содержание действительно потеряно, поскольку нижний колонтитул не может быть восстановлен от данных, Вы имеете.