Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Перекодирование .avi разбросанных по папкам  (Прочитано 1815 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 87dv

  • Автор темы
  • Участник
  • *
  • Сообщений: 211
    • Просмотр профиля
Есть куча папок с фото, в которых есть и видео mjpeg, который жрёт много места. Решил всё это дело перекодировать. С кодеком и командой разобрался, хотя есть ещё сомнения: xvid или theora? Theora, на первый взгляд, на глаз ничем не отличается - зато ужимает в половину размера. Ну ладно, не это главный вопрос...
Вопрос в том, что заходить в каждую папку и конвертить вручную - геморрой  долгий. Сварганить бы скрипт. Но я в этом новичёк.
Поиском ничего не нашёл, но может кто-то такое делал? Или подскажет чё

Спасибо
« Последнее редактирование: 11 Октября 2014, 17:52:30 от 87dv »
Asus X54HY (K54LY), Manjaro XFCE x64

Оффлайн SvMidi

  • Активист
  • *
  • Сообщений: 815
    • Просмотр профиля
Re: Перекодирование .avi разбросанных по папкам
« Ответ #1 : 11 Октября 2014, 18:20:42 »
Код: (bash) [Выделить]
#!/usr/bin/env bash
VIDEOPATH=путь к каталогу с подкаталогами где видео файлы
find $VIDEOPATH -name '*.mjpeg' | while read vfile
do
        echo "MJPEG - $vfile"
done


Вместо "echo "MJPEG - $vfile"" подставляется команда перекодирования
Я знаю только то, что ничего не знаю, остальные не знают и этого.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3031
    • Просмотр профиля
Re: Перекодирование .avi разбросанных по папкам
« Ответ #2 : 11 Октября 2014, 18:25:08 »
motion jpeg - это по определению набор сохранённых отдельных кадров в jpg,
т.е. сколько кадров в секунду, столько за секунду будет сохранено jpg.
Лучше из них сразу строить avi с каким желательно кодеком.
Пётр.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net

Оффлайн 87dv

  • Автор темы
  • Участник
  • *
  • Сообщений: 211
    • Просмотр профиля
Re: Перекодирование .avi разбросанных по папкам
« Ответ #4 : 11 Октября 2014, 19:21:37 »
Что не так, а ну гляньте:
Код: (bash) [Выделить]
#!/bin/bash
    find /home/папка -type "f" -iname "*.AVI" | while read FILE
    do
        mencoder "$FILE" -ovc xvid -oac mp3lame -xvidencopts chroma_opt vhq=2 bvhq=1 quant_type=h263 fixed_quant=4 -o "${FILE%.*}.avi"
    done
« Последнее редактирование: 11 Октября 2014, 19:25:29 от 87dv »
Asus X54HY (K54LY), Manjaro XFCE x64

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Перекодирование .avi разбросанных по папкам
« Ответ #5 : 11 Октября 2014, 19:31:41 »
Что не так, а ну гляньте
Если что-то не работает, то запускайте и показывайте выхлоп с ошибками.
И аккуратнее с перезаписью исходного файла, лучше бэкап оставить.
« Последнее редактирование: 11 Октября 2014, 19:34:27 от ArcFi »

Оффлайн 87dv

  • Автор темы
  • Участник
  • *
  • Сообщений: 211
    • Просмотр профиля
Re: Перекодирование .avi разбросанных по папкам
« Ответ #6 : 11 Октября 2014, 19:38:04 »
Выхлоп:
./r2avi.sh
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
success: format: 0  data: 0x0 - 0x0
libavformat version 54.63.104 (external)
Mismatching header version 54.20.3
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.

Exiting...
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
success: format: 0  data: 0x0 - 0x421d622
libavformat version 54.63.104 (external)
Mismatching header version 54.20.3
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO:  [MJPG]  640x480  24bpp  29.970 fps  9206.9 kbps (1123.9 kbyte/s)
[V] filefmt:3  fourcc:0x47504A4D  size:640x480  fps:29.970  ftime:=0.0334
==========================================================================
Opening audio decoder: [alaw] aLaw/uLaw audio decoder
AUDIO: 11025 Hz, 1 ch, s16le, 88.2 kbit/50.00% (ratio: 11025->22050)
Selected audio codec: [ulaw] afm: alaw (uLaw)
==========================================================================
xvid: using library version 1.3.2 (build xvid-1.3.2)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 54.92.100 (external)
Mismatching header version 54.35.0
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
==========================================================================
MP3 audio selected.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x7fa5665835e0]BICUBIC scaler, from yuv422p to yuv420p using MMXEXT
videocodec: XviD (640x480 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=640x480, sampled=640x480
xvid: you must specify one or a valid combination of 'bitrate', 'pass', 'fixed_quant' settings
FATAL: Cannot initialize video driver.
Movie-Aspect is undefined - no prescaling applied.
videocodec: XviD (640x480 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=640x480, sampled=640x480
xvid: you must specify one or a valid combination of 'bitrate', 'pass', 'fixed_quant' settings
FATAL: Cannot initialize video driver.

Exiting...
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
success: format: 0  data: 0x0 - 0x0
libavformat version 54.63.104 (external)
Mismatching header version 54.20.3
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.

Exiting...
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
success: format: 0  data: 0x0 - 0x421d622
libavformat version 54.63.104 (external)
Mismatching header version 54.20.3
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO:  [MJPG]  640x480  24bpp  29.970 fps  9206.9 kbps (1123.9 kbyte/s)
[V] filefmt:3  fourcc:0x47504A4D  size:640x480  fps:29.970  ftime:=0.0334
==========================================================================
Opening audio decoder: [alaw] aLaw/uLaw audio decoder
AUDIO: 11025 Hz, 1 ch, s16le, 88.2 kbit/50.00% (ratio: 11025->22050)
Selected audio codec: [ulaw] afm: alaw (uLaw)
==========================================================================
xvid: using library version 1.3.2 (build xvid-1.3.2)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 54.92.100 (external)
Mismatching header version 54.35.0
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
==========================================================================
MP3 audio selected.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x7f060cafe5e0]BICUBIC scaler, from yuv422p to yuv420p using MMXEXT
videocodec: XviD (640x480 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=640x480, sampled=640x480
xvid: you must specify one or a valid combination of 'bitrate', 'pass', 'fixed_quant' settings
FATAL: Cannot initialize video driver.
Movie-Aspect is undefined - no prescaling applied.
videocodec: XviD (640x480 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=640x480, sampled=640x480
xvid: you must specify one or a valid combination of 'bitrate', 'pass', 'fixed_quant' settings
FATAL: Cannot initialize video driver.

Exiting...
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
success: format: 0  data: 0x0 - 0x0
libavformat version 54.63.104 (external)
Mismatching header version 54.20.3
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.

Exiting...
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
success: format: 0  data: 0x0 - 0x25e62e
libavformat version 54.63.104 (external)
Mismatching header version 54.20.3
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO:  [MJPG]  640x480  24bpp  29.970 fps  9208.4 kbps (1124.1 kbyte/s)
[V] filefmt:3  fourcc:0x47504A4D  size:640x480  fps:29.970  ftime:=0.0334
==========================================================================
Opening audio decoder: [alaw] aLaw/uLaw audio decoder
AUDIO: 11025 Hz, 1 ch, s16le, 88.2 kbit/50.00% (ratio: 11025->22050)
Selected audio codec: [ulaw] afm: alaw (uLaw)
==========================================================================
xvid: using library version 1.3.2 (build xvid-1.3.2)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 54.92.100 (external)
Mismatching header version 54.35.0
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
==========================================================================
MP3 audio selected.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x7f83c66b75e0]BICUBIC scaler, from yuv422p to yuv420p using MMXEXT
videocodec: XviD (640x480 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=640x480, sampled=640x480
xvid: you must specify one or a valid combination of 'bitrate', 'pass', 'fixed_quant' settings
FATAL: Cannot initialize video driver.
Movie-Aspect is undefined - no prescaling applied.
videocodec: XviD (640x480 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=640x480, sampled=640x480
xvid: you must specify one or a valid combination of 'bitrate', 'pass', 'fixed_quant' settings
FATAL: Cannot initialize video driver.

Exiting...
В Терминале этой командой всё норм кодируется

Пользователь решил продолжить мысль [time]11 Октябрь 2014, 19:42:07[/time]:
А если по рецепту SvMidi, то:
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
File not found: ''
Failed to open .
Cannot open file/device.

Exiting...
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
File not found: ''
Failed to open .
Cannot open file/device.

Exiting...
MEncoder 1.1-4.8 (C) 2000-2012 MPlayer Team
File not found: ''
Failed to open .
Cannot open file/device.

Exiting...


Пользователь решил продолжить мысль [time]11 Октябрь 2014, 19:43:39[/time]:
Чёт мне кажется, я маску для названия файлов не так ввожу

Пользователь решил продолжить мысль [time]11 Октябрь 2014, 19:55:30[/time]:
И аккуратнее с перезаписью исходного файла, лучше бэкап оставить.
Как? Вместо -o что-то другое должно быть? Или сюда "${FILE%.*}.avi" что-то дописать?

Пользователь решил продолжить мысль [time]11 Октябрь 2014, 20:31:54[/time]:
О, всё пошло, кажется
Параметры через двоеточие надо было указывать
-ovc xvid -oac mp3lame -xvidencopts chroma_opt:vhq=2:bvhq=1:quant_type=h263:fixed_quant=4

Вопрос остался, как сделать, чтоб оно не перезаписывало оригинал?

Пользователь решил продолжить мысль 11 Октября 2014, 20:35:48:
Цитировать
Вопрос остался, как сделать, чтоб оно не перезаписывало оригинал?

А оно и не перезаписало. Оригинал-то в верхнем регистре, а результат в нижнем :)
Я ещё потестирую, мож ещё вопросы появятся
« Последнее редактирование: 11 Октября 2014, 20:35:48 от 87dv »
Asus X54HY (K54LY), Manjaro XFCE x64

 

Страница сгенерирована за 0.038 секунд. Запросов: 25.