The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогите написать скрипт для склеивания файлов"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Помогите написать скрипт для склеивания файлов"  +/
Сообщение от Сергей (??) on 02-Сен-13, 06:42 
Ситуация такая имеется видеокодер который конвертирует видео с аналога в цифру и ложит на NAS, но вот проблема в том что все видео делится по минутным кусочкам , а нужно склеивать в 24 часовой файл , и вот не могу додуматся как склеивать одним скриптом

root@rtk:/home/video/20130830/12# ls -l
итого 604164
-rw-r--r-- 1 nobody nogroup 34311654 Авг 30 12:27 channel1_25.mp4
-rw-r--r-- 1 nobody nogroup 34569440 Авг 30 12:28 channel1_26.mp4
-rw-r--r-- 1 nobody nogroup 34654596 Авг 30 12:29 channel1_27.mp4
-rw-r--r-- 1 nobody nogroup 34814332 Авг 30 12:30 channel1_28.mp4
-rw-r--r-- 1 nobody nogroup 35466242 Авг 30 12:31 channel1_29.mp4
-rw-r--r-- 1 nobody nogroup 35052561 Авг 30 12:32 channel1_30.mp4
-rw-r--r-- 1 nobody nogroup 34907803 Авг 30 12:33 channel1_31.mp4
-rw-r--r-- 1 nobody nogroup 35160409 Авг 30 12:34 channel1_32.mp4
-rw-r--r-- 1 nobody nogroup 34846051 Авг 30 12:35 channel1_33.mp4
-rw-r--r-- 1 nobody nogroup 34202103 Авг 30 12:36 channel1_34.mp4
-rw-r--r-- 1 nobody nogroup 33373902 Авг 30 12:37 channel1_35.mp4
-rw-r--r-- 1 nobody nogroup 34732184 Авг 30 12:38 channel1_36.mp4
-rw-r--r-- 1 nobody nogroup 33572992 Авг 30 12:39 channel1_37.mp4
-rw-r--r-- 1 nobody nogroup 33607553 Авг 30 12:40 channel1_38.mp4
-rw-r--r-- 1 nobody nogroup 34428398 Авг 30 12:41 channel1_39.mp4
-rw-r--r-- 1 nobody nogroup 33795102 Авг 30 12:42 channel1_40.mp4
-rw-r--r-- 1 nobody nogroup 34420296 Авг 30 12:43 channel1_41.mp4
-rw-r--r-- 1 nobody nogroup 31991861 Авг 30 12:44 channel1_42.mp4

20130830 - это дата дня

12 - это папка (часы)

channel1_25.mp4 - Channel1 - это первая камера _25 - это 25 минута по


Помогите пожайлуста

как вариант я думаю надо как то find'ом находить все файлы и грепить по дате создания файла так будет удобнее

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогите написать скрипт для склеивания файлов"  +1 +/
Сообщение от Макс (??) on 02-Сен-13, 08:50 
и ложит и ложит(((
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Помогите написать скрипт для склеивания файлов"  +/
Сообщение от Andrey Mitrofanov on 02-Сен-13, 11:37 
> Ситуация такая имеется видеокодер который конвертирует видео с аналога в цифру и
> ложит на NAS, но вот проблема в том что все видео
> делится по минутным кусочкам , а нужно склеивать в 24 часовой
> файл , и вот не могу додуматся как склеивать одним скриптом

http://stackoverflow.com/questions/7333232/concatenate-two-m...

+

> как вариант я думаю надо как то find'ом находить все файлы и
> грепить по дате создания файла так будет удобнее

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Помогите написать скрипт для склеивания файлов"  +/
Сообщение от михалыч (ok) on 02-Сен-13, 18:24 
>[оверквотинг удален]
> -rw-r--r-- 1 nobody nogroup 33795102 Авг 30 12:42 channel1_40.mp4
> -rw-r--r-- 1 nobody nogroup 34420296 Авг 30 12:43 channel1_41.mp4
> -rw-r--r-- 1 nobody nogroup 31991861 Авг 30 12:44 channel1_42.mp4
> 20130830 - это дата дня
> 12 - это папка (часы)
> channel1_25.mp4 - Channel1 - это первая камера _25 - это 25 минута
> по
> Помогите пожайлуста
> как вариант я думаю надо как то find'ом находить все файлы и
> грепить по дате создания файла так будет удобнее

#!/bin/sh

DIR=$(date -v -1d "+%Y%m%d")
DAY=$(date -v -1d "+%d")

cd /home/video/${DIR}
# склеиваем минуты в часы
for h in $(ls -d */ | tr -d "/" | tr "\n" " "); do
    cd ${h}
#    mencoder $(ls *.mp4 | tr "\n" " ")-ovc copy -oac copy -of lavf format=mp4 -o ../${h}.mp4
#    mp4box $(ls *.mp4 | awk '{s=s " -cat " $0} END {print s}') ../${h}.mp4
    cd ..
done

# склеиваем часы в день
#mencoder $(ls *.mp4 | tr "\n" " ")-ovc copy -oac copy -of lavf format=mp4 -o ${DAY}.mp4
#mp4box $(ls *.mp4 | awk '{s=s " -cat " $0} END {print s}') ${DAY}.mp4

И по крону раз в сутки.
Вроде как у mp4box есть другой вариант, но я не проверял
mp4box -cat $(ls *.mp4 | tr "\n" "+" | sed -r 's/(.*)(\+)$/\1/') out.mp4

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру