Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: nypd в Jul 23, 2007, 21:21



Титла: Ffmpeg -vhook watermark.so
Публикувано от: nypd в Jul 23, 2007, 21:21
здравейте, пиша тук надявайки се на малко съвет. Опитвам се да watermark video, но все не става. Ето команд-а:

Примерен код

exec("/usr/bin/ffmpeg -i ".$uploaded_vid." -vcodec flv -ar 22050 -ab 32k -ac 1 -aspect 4:3 -s 320x240 -r 25 -f flv -b 256k -croptop 4 -cropbottom 4 -cropleft 8 -cropright 8 -vhook '/usr/lib/vhook/watermark.so -f logo.png -m 1 -t 222222' -an  ".$uploaded_vid.".flv");


Значи опитах vhook без ' .. ' скобите, кометирах ги, сложих другите скоби " .... " коментирани, и све видеото не се конвертира. без -vhook работи идеално.

П.С. пътя на watermarka ми е правилен, но забелязах че на други места го правят с pip.so

Също така, накрая вече се побърках, и logo.png го сложих и във директорията на watermark.so   и в тази в кояято се намира файла, в който е тази команда, както и във директорията в която се качват flv-тата. Но не мисля че в него е проблема, ако командата е правилна трябва да конвертне без него просто.

Какво ще ме посъветвате. Много ще съм  Ви задължен, и дори и да не знаете отговора, мерси че отделихте време да прочетете поста ми с желание да помогнете.


Титла: Ffmpeg -vhook watermark.so
Публикувано от: ivo1204 в Jul 24, 2007, 01:22
Ако искаш да посочиш къде се намира файла " logo.png " , ( то за всеки файл се отнася ) , трябва да дадеш път , например :
/home/usr/doc/logo.png
P.P Пробвах го така , ОК ( е ,не знам как искаш да изглежда точно ...)
/usr/bin/ffmpeg -i at.vob   -vcodec flv -ar 22050 -ab 32k -ac 1 -aspect 4:3 -s 320x240 -r 25 -f flv -b 256k -croptop 4 -cropbottom 4 -cropleft 8 -cropright 8  -vhook '/usr/lib/vhook/watermark.so -f /home/a.png -t 222222'  -an  x.flv





Титла: Ffmpeg -vhook watermark.so
Публикувано от: nypd в Jul 24, 2007, 02:06
и това пробвах задавайки същия път както и за watermark-a


Титла: Ffmpeg -vhook watermark.so
Публикувано от: ivo1204 в Jul 24, 2007, 02:17
Ето това изписа:
FFmpeg version SVN-rUNKNOWN, Copyright © 2000-2006 Fabrice Bellard, et al.
  configuration:  --prefix=/usr --enable-shared --libdir=/usr/lib --enable-a52 --enable-pp --enable-gpl --enable-pthreads --enable-libnut --enable-x11grab
  libavutil version: 49.1.0
  libavcodec version: 51.28.0
  libavformat version: 51.7.0
  built on Mar 13 2007 10:09:07, gcc: 4.1.2 20070302 (prerelease) (4.1.2-1mdv2007.1)

Input #0, mpeg, from 'at.vob':
  Duration: 00:08:07.7, start: 0.500000, bitrate: 346 kb/s
  Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 608x336, 104857 kb/s, 23.98 fps®
  Stream #0.1[0x1c0]: Audio: mp2, 48000 Hz, stereo, 64 kb/s
Output #0, flv, to 'x.flv':
  Stream #0.0: Video: flv, yuv420p, 304x232, q=2-31, 256 kb/s, 25.00 fps©
Stream mapping:
   Stream #0.0 -> #0.0
Press [q] to stop encoding
[mpeg2video @ 0xb7dd1388]Warning MVs not availableate= 263.3kbits/s
[mpeg2video @ 0xb7dd1388]concealing 391 DC, 391 AC, 391 MV errors
frame=12358 q=15.7 Lsize=   15887kB time=494.3 bitrate= 263.3kbits/s
video:15030kB audio:0kB global headers:0kB muxing overhead 5.705719%





Титла: Ffmpeg -vhook watermark.so
Публикувано от: Gaara в Jul 24, 2007, 18:24
Абсолютно. При мен (Дебиан) официалният пакет не е компилиран с поддръжка на watermark, но след като го компилирах от сорс, всичко заспа. Ако не се лъжа си с Gentoo и там не знам как идва пакета, но щом не ти дава грешка при горната команда би трябвало всичко да ти е ОК. Все пак покажи изхода от find /usr/ -name watermark*. Конвертирам по начина, който ти бе описал, т.е.
Примерен код

ffmpeg -i Hir\ Aj\ Kam\ Hir\ Ai\ Go\ MAGNIFICO\ HitCH.avi -vcodec flv -ar 22050 -ab 32k -ac 1 -aspect 4:3 -s 320x240 -r 25 -f flv -b 256k -croptop 4 -cropbottom 4 -cropleft 8 -cropright 8 -vhook '/usr/local/lib/vhook/watermark.so -f 324.png  -m 1 -t 222222'  x.flv

FFmpeg version SVN-r9786, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-libfaad --enable-gpl --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid
  libavutil version: 49.4.1
  libavcodec version: 51.40.4
  libavformat version: 51.12.1
  built on Jul 24 2007 16:11:35, gcc: 4.1.3 20070718 (prerelease) (Debian 4.1.2-14)
[NULL @ 0x84a7ba8]looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 25.00 (25/1)
Input #0, avi, from 'Hir Aj Kam Hir Ai Go MAGNIFICO HitCH.avi':
  Duration: 00:03:14.4, start: 0.000000, bitrate: 933 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 352x238, 25.00 fps(r)
  Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Output #0, flv, to 'x.flv':
  Stream #0.0: Video: flv, yuv420p, 304x232, q=2-31, 256 kb/s, 25.00 fps(c)
  Stream #0.1: Audio: libmp3lame, 22050 Hz, mono, 32 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
[mpeg4 @ 0x84a7ba8]looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag
frame= 4862 fps= 90 q=27.9 Lsize=    7233kB time=194.2 bitrate= 305.1kbits/s    
video:6282kB audio:759kB global headers:0kB muxing overhead 2.732862%
gaara@debian:~/Desktop$

Като се намирам в директорията, в която е видео файла и png-то. Конвертирах го и в mpg (при тестовете ползвах този формат) и резултата можеш да видиш тук.

При мен правата са:
Примерен код

gaara@debian:~/Desktop$ ls -al /usr/local/lib/vhook/watermark.so
-rwxr-xr-x 1 root staff 10048 2007-07-24 16:28 /usr/local/lib/vhook/watermark.so
gaara@debian:~/Desktop$


Като при теб файла би трябвало да е без local.
Лека, ботьо и успех с конвертора :)


Титла: Ffmpeg -vhook watermark.so
Публикувано от: nypd в Jul 24, 2007, 19:10
резултата от find /usr/ -name watermark*.  e:
/usr/lib/vhook/watermark.so





Титла: Ffmpeg -vhook watermark.so
Публикувано от: nypd в Jul 24, 2007, 19:19
това ми дава:

ffmpeg -i Funny.mpeg -vcodec flv -ar 22050 -ab 32k -ac 1 -aspect 4:3 -s 320x240 -r 25 -f flv -b 256k -croptop 4 -cropbottom 4 -cropleft 8 -cropright 8 -vhook '/usr/lib/vhook/watermark.so -f logo.png -m 1 -t 222222' Funny.flv





Титла: Ffmpeg -vhook watermark.so
Публикувано от: nypd в Jul 24, 2007, 19:34
сега ми дава това, а го написах правилно:

Примерен код
FFmpeg version SVN-rUNKNOWN, Copyright © 2000-2007 Fabrice Bellard, et al.
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-static --enable-shared --cc=i686-pc-linux-gnu-gcc --disable-mmx --disable-altivec --disable-debug --disable-v4l --disable-v4l2 --disable-dv1394 --disable-network --disable-opts --enable-libmp3lame --enable-libvorbis --enable-libogg --enable-libogg --enable-gpl --enable-pp --disable-strip
  libavutil version: 49.4.0
  libavcodec version: 51.40.2
  libavformat version: 51.11.0
  built on Jun 17 2007 16:21:22, gcc: 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)
Input #0, mpeg, from 'Funny.mpeg':
  Duration: 00:00:17.3, start: 0.377400, bitrate: 933 kb/s
  Stream #0.0[0x1e0]: Video: mpeg1video, yuv420p, 320x240, 770 kb/s, 24.00 fps®
  Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, mono, 48 kb/s
/usr/lib/vhook/watermark.so: undefined symbol: exit_is_forbidden
Failed to add video hook function: /usr/lib/vhook/watermark.so -f logo.png -m 1 -t 222222






Титла: Ffmpeg -vhook watermark.so
Публикувано от: nypd в Jul 24, 2007, 19:40
еми очевидно проблема е въвo vhooka и watermark.so





Титла: Ffmpeg -vhook watermark.so
Публикувано от: Gaara в Jul 24, 2007, 21:12
Конвертирай png-то в bmp и пробвай с него.





Титла: Ffmpeg -vhook watermark.so
Публикувано от: nypd в Jul 24, 2007, 21:43
и с .bmp не стана


Титла: Ffmpeg -vhook watermark.so
Публикувано от: Gaara в Jul 25, 2007, 16:27
Значи малко изводи:
- watermark.so не ти върши работа, защото разпъва png файла и няма възможност да му задаваш координати
- pip.so, което е от пача на ScreamerBG(pip.patch) така и не успях да го създам. Пробелема е, че се създава правилно във ffmpeg/vhook/pip.c, но makefile-а е с доста по-различен код и ръчно да добавяш pip на 42 ред, пак не става, т.е.
Примерен код

 ALLHOOKS = $(BASEHOOKS) drawtext imlib2 ppm pip

От друга страна има и makefile.patch, но както казах той е неприложим, поради смененият код на Makefile на ffmpeg от svn-а.
- imlib2.so -> твоето решение  :D. Файла се намира в /usr/lib/vhook
Примерен код

gaara@debian:~/Desktop$ ffmpeg -i Hir\ Aj\ Kam\ Hir\ Ai\ Go\ MAGNIFICO\ HitCH.avi -vcodec flv -ar 22050 -ab 32k -ac 1 -aspect 4:3 -s 320x240 -r 25 -f flv -b 256k -croptop 4 -cropbottom 4 -cropleft 8 -cropright 8 -vhook '/usr/lib/vhook/imlib2.so  -x300 -y0 -i mqsto.png'  x.flv

# нарочно отделих командата
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --prefix=/usr --libdir=${prefix}/lib --shlibdir=${prefix}/lib --incdir=${prefix}/include/ffmpeg --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --mandir=${prefix}/share/man --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-pp --enable-libamr-nb --enable-libamr-wb --enable-x11grab --enable-libogg --enable-libgsm --enable-libx264 --enable-liba52 --enable-libtheora --extra-cflags=-Wall -g -fPIC -DPIC --cc=ccache cc --enable-swscaler
  libavutil version: 49.4.1
  libavcodec version: 51.40.4
  libavformat version: 51.12.1
  built on Jul 19 2007 10:55:35, gcc: 4.1.3 20070629 (prerelease) (Debian 4.1.2-13)
[NULL @ 0xb7e10fc8]looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 25.00 (25/1)
Input #0, avi, from 'Hir Aj Kam Hir Ai Go MAGNIFICO HitCH.avi':
  Duration: 00:03:14.4, start: 0.000000, bitrate: 933 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 352x238, 25.00 fps(r)
  Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
File 'x.flv' already exists. Overwrite ? [y/N] y
Output #0, flv, to 'x.flv':
  Stream #0.0: Video: flv, yuv420p, 304x232, q=2-31, 256 kb/s, 25.00 fps(c)
  Stream #0.1: Audio: libmp3lame, 22050 Hz, mono, 32 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
[mpeg4 @ 0xb7e10fc8]looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag
frame= 4862 fps=130 q=25.2 Lsize=    7230kB time=194.2 bitrate= 304.9kbits/s    
video:6279kB audio:759kB global headers:0kB muxing overhead 2.734105%
gaara@debian:~/Desktop$

Ето го и крайният резултат :ok:

П.П. От толкова много компилиране на ffmpeg почнах да се чудя дали са мазохисти джентовци. Баси мъката и чакането за един пакет, а си представям за цялата система, какво ще е  :D





Титла: Ffmpeg -vhook watermark.so
Публикувано от: nypd в Jul 25, 2007, 20:44
При мен и това фейлна.

Благодяря ти Gaara, очевидно проблема е в моите библиотеки. Ще пиша на хоста ми. Все пак разбрахме каде е проблема.