Как предотвратить зарегистрированное видео с помощью ffmpeg, становятся поврежденными

На самом деле у меня есть устройство, которые записывают аудио и видео. когда запись запускается, видеофайл также начал сохраняться в жесткий диск.

Но если устройство уходит, к сожалению, между записью. Видеофайл повреждается и дает ошибку: Этот файл не содержит играемый поток

Я использую Ubuntu система и запись видео использование ffmpeg

Любой может помочь мне..!!!

Я использую веб-камеру для записи видео и микрометра Bluetooth для аудио с помощью ffmpeg. Следующее является командой, которую я использую для хранения аудиозаписи и видеозаписи на другом устройстве (жесткий диск):

ffmpeg -loglevel warning -y  -i /home/prakash/../../output/2013-10-07T22-39-05/right_cam.mp4 -i /home/prakash/../.. output/2013-10-07T22-39-05/left_cam.mp4 -filter_complex '[1:0] pad=108:28:5:2:black [padvidleft]; [0:0] setpts=PTS+0.8786787543577881/TB [right_cam_pts]; [padvidleft][right_cam_pts] overlay=544:0 [mergedvid] ; [1:2] channelsplit [ll][lr]; [ll][lr] amix [leftmix];
               [1:3] channelsplit [rl][rr]; [rl][rr] amix [rightmix];
               [leftmix][rightmix] amix [cam_all];
               [1:4] channelsplit [btl][btr] ; [btl][btr] amix [btmix] ;
               [btmix][cam_all] join [bt_mixcam]' -f mp4 -crf 20 -r 24 -pix_fmt yuv420p -vcodec libx264 -vprofile baseline -map [mergedvid] -map [bt_mixcam] -map 1:2 -map 1:3 -map 1:4 /home/prakash/../../output/combos/combo-2013-10-07T22-39-05_dgrt6546533w471567f880abf287a855c_1088x288.mp4

Если запись запускается, и в середине мы выключаем регистрирующее устройство, зарегистрированное видео и аудио сохраняются на жестком диске, но это не может играть. Когда мы пытаемся играть, эта запись vlc дает ошибку this files contains no playable stream

2
задан 13 March 2014 в 05:54

2 ответа

Существует другое отличное решение, которое я получил. Это не повреждает звуковые файлы и видеофайлы в в любом случае. Можно использовать -f mpegts вместо -f mp4 в ffmpeg

1
ответ дан 27 August 2019 в 22:00

Необходимо попробовать различный выходной формат контейнера, такой как MKV.

Ваш -f mp4 кажется лишним (если это не часть сценария, где выходное имя или часть переменной), но если Вы хотели продолжить использовать эту опцию изменение это к -f matroska и давать Вашему выводу mkv расширение вместо mp4.

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

3
ответ дан 27 August 2019 в 22:00

Другие вопросы по тегам:

Похожие вопросы: