Linux でビデオ録画
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGある程度リアルタイムで圧縮
多少品質が落ちても構わない
といったものを bttv を使ってやってみたのですが、
なかなか理想の形にできません。
xawtv 付属の streamer: とりあえず録画可能。使える CODEC が限られて
いるのでサイズがでかくなる。
avifile & vcr: Win32 の CODEC を利用したもの。一見ちゃんと動いて
いるようだったが、できたファイルが読めない。
avifile & vcr だと DivX とか使えるので期待してたのですが、うちでは
ちゃんと動きませんでした。こうすればちゃんと動くだの、他にいいツール
があるだの、リアルタイムで圧縮するよりあとから圧縮した方がいいだの
ご意見よろしくお願いいたします。
0285名無しさん@XEmacs
02/12/04 05:50ID:XTPR6vY9gcc3でvcrのコンパイル通らなかったんで試せないんだけど,
そこ弄るなら
+++ capproc.cc2002-12-03 21:49:25.000000000 +0900
@@ -141,7 +141,7 @@
for (int i = 0; i < c_lines; i++)
{
- memcpy(tmpframe + i*c_bpl, z + (o_y_end -i -1)*o_bpl + o_x_off, c_bpl);
+ memcpy(tmpframe + i*c_bpl, z + (a.window.y +i)*o_bpl + o_x_off, c_bpl);
}
}
ch.data=tmpframe;
じゃない?
ここで良いのかは知らんけど(たぶん良いのだとは思うけど).
左右逆ならそれも反転させなきゃいけないけど(わら
0286login:Penguin
02/12/04 10:36ID:ksysRNSWAHHHHHHHHHHHHHHHHHHHHHH
ジャスト、ビンゴ!
サンクス、見事反転が反転してキャプレました。
(正常に取れたって事です、ええ)
いやぁ、perlしか解かんないのにc++のソス見たが難しいです、はい
0287277
02/12/04 22:19ID:qS4KHEzTわたしもうまくいきました!本当に感謝です。ありがとー!
0288login:Penguin
02/12/04 23:09ID:V9uBia600289login:Penguin
02/12/05 00:20ID:YwGu0cs3神。
0290login:Penguin
02/12/05 01:48ID:WJCNqXZY0291290
02/12/05 01:56ID:WJCNqXZY-tv :chanlist=japan-bcast:channel=1 等を追加すればOK
0292login:Penguin
02/12/07 01:40ID:2816MrLSごめんなさい285の間違いです。
あらためてサンクス
せっかくキャプれる用になったので、今度はメールから予約を出来るようにガンバルつもり。
録画までの流れとしては
1)メール送信→
# メールの内容
-------------------
start:19-30
ch:8
end:30
aikotoba:thx285
-------------------
2)メール受信→
メールの内容をゴニョゴニョして「~/vcr/${start}」のファイルを作成
内容は
#!/bin/sh
/usr/local/bin/vcr -t 30m -p 8 ~/vcr/file/${start}_${date}.avi
3)cronにperlで書いた「~/vcr/今の時間」ファイルがあったらsystemで実行を追加しておく
こんな感じでウマーになる?
まぁ、sageつつやっていきます。
最後までやり遂げられる自身が無いのでアゲないでね(わら
0293login:Penguin
02/12/13 09:32ID:tuh058En見つからん。「漏れはコレでうまくいってるぜっ」って設定が
あったら、是非晒してください。
0294login:Penguin
02/12/24 10:46ID:Joo/wvmbわたしもエラーでうまくいかん。streamerでとったaviを変換しても
だめだった。RealOne Alpha版は起動しないし。だめぽ。
0295login:Penguin
02/12/25 01:11ID:wJ70NEdVhttp://www.kuroutoshikou.com/products/tvcuner/itvc15.html
まだ自分は購入を考えているだけの段階です。
ハードウェアエンコのくせにあの安さは貧乏な私には目から鱗なのですが
とりあえず自分なりに調べた内容は…
ここhttp://www.shspvr.com/news.htmlに「iTVC15 Linux Drivers」なるものがあって、そのドライバっぽい?
手元にあったRedHat 8.0でコンパイルしたら問題なくmakeはできたんだけど動くのか実物がないから実証不能(当然か)
player6ってのを実行すると/dev/P2Enc0をDeviceOpenしようとして失敗。
なんとも怪しい動きなので動かしている人がいたら是非お聞きしたい。
0296login:Penguin
02/12/29 15:24ID:4mKLVQpS「マクロブロックの近隣からどこのブロックをコピーしてくるかを
指示するベクトルを指している」が正解と思われ。
0297login:Penguin
02/12/29 18:43ID:gHwARjsc持っていますが何か?
アーカイブ落としたらConexant純正じゃないですか。
こういうのは再配布OKじゃないはずですが
0298297
03/01/02 13:38ID:FtlSXv39GCC3.2+Kernel2.4.18な環境のため、Driverからコンパイルする必要がありますた。
結果
Player6を動かしたところ、
Board上にI2CDevice 0x44がねぇぞゴラァと言われて終了。
もう少しいじってみます。
環境
RedHat Linux 8.0
Kernel2.4.18-15smp
GCC3.2
CPU AthlonMP1900+ x2
MB Tyan ThunderK7X(760MPX)
Mem ECC Reg 512MB
下から2番目の32bitPCIスロットにiTVC15-STVPCIを刺して運用
0299295
03/01/03 20:30ID:2qjXLe4dご連絡ありがとうございます。
いろいろ目をこらして読んでみましたが、
player6のまえにloadっていうスクリプトを
実行しておく必要があるようです。
loadを実行すると、/dev/*にI2Cとかがいろいろ作られるようです。
中にはLinux関係のヘッダファイルを自前で用意しているようです。
ので、カーネルのバージョンをあわせるかなにかしないとダメかも・・?
友人からピクセラ製のiTVC15なボード(例の玄人ではない)を借りて調査中です。
0300295
03/01/03 22:59ID:2qjXLe4d>>299にて先走ったようです。失礼いたしました。
カーネルのバージョンは特に関係なさそうです・・・もっと調べねば・・・
ピクセラ製のiTVC15なボード(PIX-MPTV/P2W)
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)
この環境で、解凍後、"make clean && make" にて完了(特に気になるエラー無し)
test下にて
./player6 -l conf.ini -mRECORD -record "rec"
と遣ったところ、こちらでは以下のようなエラーが発生しました。
ERROR -1025: Device ioctl(910) failed (cmd=1002).
ERROR -1025: ERR[-1025]: I2C Write device 0x11 not found (Reg=0x2,Data=0x29)!!!
ERROR -1025: (5)I2C: W ChipID=11 Addr=2 Mode=0 Data=29
(snip)
ERROR -1025: Unable to program I2C using CS53L32A.txt: CS53L32A_Defaults
ERROR -1025: Device ioctl(910) failed (cmd=1002).
ERROR -1025: ERR[-1025]: I2C Write device 0x11 not found (Reg=0x1,Data=0x1)!!!
ERROR -1025: (5)I2C: W ChipID=11 Addr=1 Mode=0 Data=1
ERROR -1025: Unable to program I2C using CS53L32A.txt: CS53L32A_AudioJack
Beginning player loop...
ERROR -1011: : VSync lock Failed, Aborting the Session (Status=3F3)
Shutting down player session...(Err=-1011)
(snip)
> Board上にI2CDevice 0x44がねぇぞゴラァと言われて終了。
こちらでは、0x11 っということになりますかね?
7114.txt 7115.txt CS53L32A.txt とかなにやら置いてありますが、これ怪しい。
0301297
03/01/03 23:16ID:VGX2+cKFChipID 44つーのはSAA7121らしく、こいつはビデオエンコーダと言って
デジタルなビデオ信号をアナログのビデオ信号に変換する奴(DACという奴です)
なんですが、件のiTVC15-STVPCIには乗っていないのでそれで動かないぽ。
で、それが乗っているPixelaのPIX-MPTV/P2WでCS53L32A(AudioADC)でエラーでつか・・・
その辺のデバイス構成をハードコーディングしているっぽ
0302login:Penguin
03/01/04 01:57ID:COkJ8YG3初めてカキコします。
C言語でプログラムしていまして、
bttvを使っています。
一応1フレーム640×480のRGB値をキャプチャできるとこまでは
つくったんですけど、
これをリアルタイム保存するために
どうすればいいですか?
できればmpegで保存したいです。
ソフトウェアではどうすればいいですか?
いいライブラリ知りませんか?
0303PIX-MPTV/P2W by 295
03/01/04 02:23ID:JgarMJvt> で、PIX-MPTV/P2Wでも駄目ですか。
あと一歩で動きそうな?雰囲気です。
設定ファイル
[tv]
ScanList=Scan.lst
Scan=0
Input=Air
[General]
BitRate=8M
PeakRate=16M
CBR=0
vTuner
vNTSC
Mode=record
File=test.mpg
FwDownload=3 # これでファームウェアをげっとする?
Loop=0
StreamType=MPEG2TS
でやると、
ERROR -1011: : VSync lock Failed, Aborting the Session (Status=3F3)
ってエラーが出ます。VSyncCheckって関数でエラーを返しているようですが、まだよくわかってません。
ほかにはエラーはなさげです。
> なんですが、件のiTVC15-STVPCIには乗っていないのでそれで動かないぽ。
玄人のやつはやっぱり特殊なのかな(T-T)
0304login:Penguin
03/01/04 09:58ID:rDUZUDhP俺はプログラマじゃないんで詳しいことはわからないけど、ffmpegとか
avifileとかあたりのぞいてみると嬉しいかもよ。
そいやMAlibなんてのもあったなあ。あれどうなったんだろう。
0305saa7133mitai
03/01/04 18:57ID:8iDhsCpdの書き込みをされた方。 その後、いかがですか。うまくいきましたか?
私もエイヤと同じボードを買ったので、Linux, FreeBSD でみたいと
思っています。ただいま、2.4.20 のカーネルをコンパイル中。
はじめてなもんで、ここでつまづいています。このあと、V4Lのパッチ、
SAA7134のパッチのインストールですが、いつになるやら。。
0306login:Penguin
03/01/05 17:35ID:JNuAvC8hこれハックして英雄になって下さい。
NEC HDDレコーダー PK-AX10【3】
http://hobby.2ch.net/test/read.cgi/av/1040479449/
0307login:Penguin
03/01/06 00:23ID:Tuc9bQPfCPUは何でつか?
最近の速いCPUならMPEGに出来るかも知れないけど、実際vcrとかで可能か確かめて
からにしてはいかがでしょ。
if(可能そう)
avifileを見る
else
motion-jpegでガマン。rtjpegってエンコーダが速いよ。
0308login:Penguin
03/01/06 01:52ID:iy8N0st7Athlon 2200+ (1.80GHz clock speed)× 2を使ってますから.
まずvcrとは何かから調べてみます.
0309login:Penguin
03/01/06 10:49ID:p0IOpkAYのようにvcrをインストールしようとしましたが,
rpm 作れず...
なんか簡単な方法を...
0310login:Penguin
03/01/06 10:52ID:p0IOpkAYrpm -bb vcr.spec
を実行したら
-bb: unknown option
rpm のバージョンが問題か!?
0311login:Penguin
03/01/06 17:16ID:6NlSJeEY録画に成功してる人いますか?
こちらの環境 (モバアス1800+, SiS740, 2.4.20-xfs + saa7134)だと、
・xawtv-3.81 → 画面が色とりどりのノイズ状になってしまう。静止画キャプチャはできる
・nvrec-20021215 → フレームバッファのタイムアウトが連発して録画不能。
Experimentalな要素満載って話もありますが(w、 とりあえず最低限動いてるぜっていう
例がありましたら教えてください。
# なんかMLのほうは人がいなさそうなので...
0312login:Penguin
03/01/06 22:44ID:d4DCyVZYmpegっていうのが mpeg1であれば、ffmpegに添付(?)の libavcodecか
libfameを使うのが良いのではないでしょうか。
# 映像だけでなく、音の multiplexとかも必要であれば
# libavcodecのほうが良さそうです。
# でも multiplexのサンプルが無くて挫折中です(泣
0313312
03/01/06 22:53ID:d4DCyVZY>>305さん
「【BT878】Linuxでのキャプチャを語るスレ」の 41です。
とりあえず xawtvでは動作しますた。
で、自作の v4lアプリだと 311さんご指摘の nvrec-20021215と
同様の問題が発生してうまくキャプチャできません。
# おそらく v4l & mmapを使用した転送に失敗しているのでは
# なかろうかと見当をつけているんですが、v4l2に変えるのも
# /dev/videoを読む方法に変更するのもかったるいので
# ほったらかしにしてます。(BT878なら動くのになぁ・・・)
0314login:Penguin
03/01/07 07:20ID:A0niU3V4libfame?
使用説明のサイトってありますかね?
調べてみます.
0315login:Penguin
03/01/07 07:36ID:ygBI5yhQ仕様公開しやがれコンチキショー
0316312
03/01/07 22:44ID:v8itZhSSFAME公式サイトに recmpegというサンプルがあります。
結構シンプルなものなのでわかりやすいと思います。
ttp://fame.sourceforge.net/
# すでに見つけてしまったかもしれませんが・・・
0317login:Penguin
03/01/07 23:18ID:A0niU3V4ありがとうございます.
みてみます.
0318317
03/01/08 17:15ID:2BorXPj9一応recmpegインストールしたんすけど、
結局yuvで出力してからみたいですね。。。<- 調査不足??
関数としてRGB値をどうやって
引数にいれて出力するかわかりませぬ。
0319海外もの
03/01/08 17:30ID:z1E84qN/コマンドは、
mencoder -tv on:driver=v4l:width=400:height=300:norm=NTSC \
:forcdaudio:chanlist=us-cable:channel=99 -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate=350
-fps 29.97 -oac mp3lame -lameopts cbr:br=64
-vop pp=lb,crop=384:288:8:4 -o output.avi -endpos 10
てな感じで10秒間だけ録画しています。
で、走らせて次のように表示されるんですが、
MP3 audio selected
Building audio filter chain for 44100Hz/1ch/16bit -> 44100Hz/1ch/16bit...
Writing AVI header...
Forcing audio preload to 0, max pts correction to 0
Pos: 10.0s 300f ( 0%) 29fps Trem: 0min 0mb A-V:0.000 [374:63]
CBR audio: 8000 bytes/sec, 209 bytes/block
Writing AVI index...
Fixup AVI header...
Video stream: 374.820 kbit/s (46852 bps) size: 468995 bytes 10.010 secs 300 frames
Audio stream: 64.000 kbit/s (7999 bps) size: 79830 bytes 9.979 secs
真中らへんの0%というのは正しいのでしょうか?
環境はDebian Woodyです。mplayerでテレビは見えています。音も出ています。
0320312
03/01/08 20:50ID:yEpZMntkというか、RGBでキャプチャしなければいけない理由ってありますか?
放送自体が YUVなハズ(ですよね?)なので、V4L->RGB->MPEGよりも
V4L->YUV->MPEGのほうが変換も少なくて良いのではないかと思ったりします。
# 勘違いならスマソ
0321名無しさん@Emacs
03/01/08 21:10ID:5qZM0Y/Qcapture device に音が来てるかチェックしたらいいかも。
0322IP記録実験
03/01/08 21:10ID:DJ5zDJa+http://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0323login:Penguin
03/01/09 02:40ID:jLaWmJEi0324login:Penguin
03/01/09 03:22ID:ISsnTmLL0325login:Penguin
03/01/09 04:13ID:QCoHsjPG0326海外もの
03/01/09 07:45ID:Yq44YS4Oおそらくmencoder自体はちゃんと機能していると思うんで、
321さんの言うようなことをチェックしたらいいと思うんですが、
kmixとかのミキサーでラインインや関係のありそうな所は全て
ボリュームアップしているのですが、結果は同じなんですよね。
他にcapture deviceに音が来ているかどうかチェックする方法あるのでしょうか?
0327海外もの
03/01/09 08:47ID:Yq44YS4Oやっぱりミキサーで録音できるようにしていませんでした。
kmixerを使っているんですが、ラインを録音できるようにして
IGainのボリュームを上げたら、音も録音できるようになりました。
0328login:Penguin
03/01/09 11:46ID:brrbmw4B一応v4l->RGB->MPEGってやりたいつもりです.
YUVでキャプチャしようとも一度は考えましたが,
RGBの方が慣れ親しんでいるので.
#わがままでごめんなさい
0329312
03/01/09 22:49ID:Y8/Lfx0T>一応v4l->RGB->MPEGってやりたいつもりです.
であれば RGB->YUV変換をカマすという手があります。
たしか ffmpeg(libavcodec)に RGB->YUV変換の
ライブラリがあったと記憶しているので
v4l->RGB->YUV420->MPEG(recmpeg)
と変換できるハズです。
# それなら libfameでなく libavcodecの mpeg変換を
# 使用するのが良いと思いますが...
0330login:Penguin
03/01/10 02:02ID:DszMpP44mencoderってman見ても良くわかりません。
オプションの解説して頂けると助かるのですが。。
0331login:Penguin
03/01/10 06:51ID:lqiY/P02な環境でvcrで録画しようとすると
Invalid codec name given!
Available codecs:
"Uncompressed RGB" 3
"Uncompressed YUY2" 3
"Uncompressed YV12" 3
"FFMPEG OpenDivX" 3
と出るんですよね。
.vcrrcにはcodec = DivX ;-) low-motion と書いています。で、
codec = FFMPEG OpenDivX とか
codec = OpenDivX とかやっても同じエラーが出てしまうんです。
どなたか同じ境遇にあった方いますか?
過去ログに目を通しましたが同じような方いなかったです。
vcr1.0.8を試しましたが、コンパイルできなかったです。
0332328
03/01/10 10:43ID:30HLxGjNlibavcodecですか?
いろいろ手間ですねぇ。。。
がんばってみます。
0333login:Penguin
03/01/10 23:03ID:ik7mWv55vcr-1.0.9 は DivX ;-) high-motion のみで しかも bitrate 指定効かない。だめ杉。
vcr-1.0.8 が make できる環境にもっていくか、nvrec でしょうね。
0334328
03/01/11 15:40ID:IBov+qvj結構教えてばっかりですいません。
いつもありがとうございます。
libavcodecでどうやってエンコードするんでしょうか?
0335329
03/01/12 11:42ID:zhQ+YCDx中に apiexsample.cというサンプルコードが入ってますから
参照してみてください。
# 0.4.6になってちょっと引数が変わったりして鬱
# あと、誰か multiplexのサンプルコード書いてくれないかなぁ・・・
0336login:Penguin
03/01/12 15:15ID:sIX1dA32すでに落としました。
参考にしてみます。
0337328
03/01/12 16:10ID:sIX1dA32apiexsample.cの
video_encode_exampleっていう関数ですよね?
c->width, c->heightを画像サイズに変更?
/* encode 1 second of video */ 以下を変更すればいいと思ったのですが,
どれがRGBのdataをどこに?
picture->dataが何を指しているかさっぱりです.
#コンパイルするにもgcc aviexsample.c -lm で駄目みたいっすね(汗
0338login:Penguin
03/01/12 16:58ID:kvaEgL8vnvrecって録画すると音声と画像がずれるのですが…ウチだけでしょうか?
0339login:Penguin
03/01/13 00:24ID:V6pOdtMhbttvもしくはbttv2をmodprobeして一応映像も音声もしっかりとれるんですが、しばらく(2、3分前後)たつと
ハングするんですが、これって何が原因だと思われますか?
とりあえずi2cやvideodev(videodevX)はモジュールで組みこんでも大丈夫ですが、bttvを組みこんだ途端こんな現象になるんですが…
0340login:Penguin
03/01/13 01:53ID:j9l+cA1Lなんか解決策ない?
Jan 14 04:38:23 prism kernel: bttv0: PLL: switching off
Jan 14 04:38:48 prism kernel: bttv0: irq: OCERR risc_count=0fad7810
Jan 14 04:38:48 prism kernel: bttv0: irq: SCERR risc_count=0fad7810
Jan 14 04:38:48 prism kernel: bttv0: irq: SCERR risc_count=0fad7810
Jan 14 04:38:49 prism kernel: VM: killing process sshd
Jan 14 04:38:49 prism kernel: bttv0: irq: OCERR risc_count=0fad7810
Jan 14 04:38:49 prism kernel: bttv0: irq: SCERR risc_count=0fad7810
Jan 14 04:38:49 prism kernel: bttv0: aiee: error loops
Jan 14 04:38:49 prism kernel: bttv0: irq: SCERR risc_count=05d64014
Jan 14 04:38:49 prism kernel: bttv0: aiee: error loops
Jan 14 04:38:49 prism kernel: bttv0: resetting chip
0341328
03/01/13 13:28ID:rt/a96c9libavcodecのapiexsample.cにおいて,
picture->data がYUVのポインタで,
fwriteでoutbufとして出力してるのかなぁ...
outbuf_size = 100000; ってのは適当な大きさなのか?
/* encode 1 second of video */
以下のfor文のiはなぜ25までなのか...
# /* add sequence end code to have a real mpeg file */
#ということはいつのまにかmpegファイルをつくってるみたい??
どういうことかわかりませんか??
0342328
03/01/13 13:59ID:rt/a96c9apiexsample.cのvideo_encode_example関数で
よ?くみると,
RGB値を代入していないですね.
書き込みしかやってないような...
0343329
03/01/13 14:10ID:cvvoW/Sc>c->width, c->heightを画像サイズに変更?
はい。エンコード後の画像サイズになります。
>/* encode 1 second of video */ 以下を変更すればいいと思ったのですが,
>どれがRGBのdataをどこに?
>picture->dataが何を指しているかさっぱりです.
コレ、YUVなんです。RGBを MPEG1に変換するには img_convert()を使って
V4L->RGB->YUV->MPEGとしなければダメじゃないかと思います。
>#コンパイルするにもgcc aviexsample.c -lm で駄目みたいっすね(汗
gcc apiexsample.c -lm -lavcodecじゃダメ?
というか、 make apiexsampleで OKだったような記憶が...
0344329
03/01/13 14:11ID:cvvoW/Sc>picture->data がYUVのポインタで,
>writeでoutbufとして出力してるのかなぁ...
コレ正解
>outbuf_size = 100000; ってのは適当な大きさなのか?
うーん。私もちょっとわかりません。
まぁ、outbuf_sizeを avcodec_encode_video()に渡しているんだから
内部でよろしくやってくれていると信じてます(w
>/* encode 1 second of video */
>以下のfor文のiはなぜ25までなのか...
これ、PALを想定しているんでしょう。
NTSCなら c->frame_rate = 25 * FRAME_RATE_BASE も 29.97に
変える必要があります。
># /* add sequence end code to have a real mpeg file */
>#ということはいつのまにかmpegファイルをつくってるみたい??
>どういうことかわかりませんか??
ここで作成しているのは、あくまで MPEG1 Videoのデータであって、
MPEG1のストリームとして使うためのシーケンスコードを
ムリヤリくっつけているという意味に理解してます。
# うまく説明できません。識者の解説求む
0345328
03/01/13 21:13ID:rt/a96c9>gcc apiexsample.c -lm -lavcodecじゃダメ?
>というか、 make apiexsampleで OKだったような記憶が...
makeの方ならできました.
>>/* encode 1 second of video */
>>以下のfor文のiはなぜ25までなのか...
>これ、PALを想定しているんでしょう。
>NTSCなら c->frame_rate = 25 * FRAME_RATE_BASE も 29.97に
>変える必要があります。
c->frame_rate = 29.97ってことですか?
ならfor文のiについては??
>コレ、YUVなんです。RGBを MPEG1に変換するには img_convert()を使って
>V4L->RGB->YUV->MPEGとしなければダメじゃないかと思います。
img_convert()のどの引数にどれをいれればいいんですか?
RGB値とか.
0346329
03/01/13 22:55ID:cvvoW/Sc>>NTSCなら c->frame_rate = 25 * FRAME_RATE_BASE も 29.97に
>>変える必要があります。
>c->frame_rate = 29.97ってことですか?
>ならfor文のiについては??
これ、あくまでサンプルソースなのです。
サンプルソースが何をしたいのか、あなたが何をしたいのかによって
ここは変更されるべきであり、場合によっては存在する必要すら
ないかもしれません。
# 1秒間の MPEGを作成とすることを目的とするならば、
# i = 30とすることにより、ほぼ 1秒の MPEGファイルが作成できます。
>>コレ、YUVなんです。RGBを MPEG1に変換するには img_convert()を使って
>>V4L->RGB->YUV->MPEGとしなければダメじゃないかと思います。
>img_convert()のどの引数にどれをいれればいいんですか?
>RGB値とか.
apiexsample.cが格納されていたのと同じフォルダに
img_convert.cがあります。
それを参考にしていただければ良いのではないかと思われます。
# img_convert()を直接使ったことがないので、
# あいまいな回答です。スマソ
0347禿遅レス
03/01/14 19:35ID:VYqoZmDtat HH:MM mm.dd.yy
0348328
03/01/14 22:10ID:vpkrREmgffmpegのlibavcodec/imgcomvert.cにおいて,
おそらくimg_comvert()の引数は,
AVPicture *dstの
dst->data[0]: Y
dst->data[1]: U
dst->data[2]: V
AVPicture *srcの
src->data[0]がrgbの並び
つまりrgbrgbrgb....
そしてwidth, heightかなぁ...
もしそうならimg_comvert()使わずにはじめから
rgb24_to_yuv420pに代入した方が早そう.
これでyuvのデータに変換ですかな!?
#少し前進?
0349329
03/01/14 22:26ID:Qsvavs52たぶん img_convert()の使い方は正解ではないかと思います。
実験していただけるとありがたいです。
>もしそうならimg_comvert()使わずにはじめから
>rgb24_to_yuv420pに代入した方が早そう.
たしかに rgb24_to_yuv420p()を呼ぶという手もあるのですが、
static宣言されているので、直接呼ぶためには ライブラリを
改変するか、コピペする必要があります。
# GPL的に見て・・・・良いのかなぁ?
# やっぱり V4Lで YUV420Pを直接取り出すってのはダメ?
0350山崎渉
03/01/15 11:20ID:m6zO97qQ0351login:Penguin
03/01/15 23:10ID:C2YCuCOf0352328
03/01/15 23:31ID:C2YCuCOf>たしかに rgb24_to_yuv420p()を呼ぶという手もあるのですが、
>static宣言されているので、直接呼ぶためには ライブラリを
>改変するか、コピペする必要があります。
そうですね。
コピペしようと思ってます。
># GPL的に見て・・・・良いのかなぁ?
># やっぱり V4Lで YUV420Pを直接取り出すってのはダメ?
やはりRGB値で。
商用ではないのでいいと思いますけど。。。(汗
0353login:Penguin
03/01/17 09:14ID:E4e+G16x0354328
03/01/17 19:37ID:ahfrsJ1Ergbのデータが640×480の場合
YUVの各値の配列をどのくらい確保すればいいですか??
0355328
03/01/17 21:34ID:ahfrsJ1EY[640×480]
U[640×480 / 4]
V[640×480 / 4]
みたいですね。
このyuvを例のapiexsample.cを参考に書けばいいのかな!?
しかしこれをどうやってリアルタイム処理するのかが問題。
1フレームずつmpeg変換は偽mpegできてしまう。
むむむ。
0356login:Penguin
03/01/17 22:41ID:GgnZWMGWできるそーな
http://www.watch.impress.co.jp/av/docs/20030117/sharp.htm
0357328
03/01/18 00:46ID:itk1ctN9YUVの配列については >355の容量であってます。 (YUV420Pの場合)
で、apiexsample.cを参考にした mpeg変換ですが・・・いっそサンプル書きましょうか?
# saa7134だとうまく動かないヤツですが (笑
0358login:Penguin
03/01/18 17:53ID:shU5Br7Vこれを100%近く使ってくれるようにする方法ってないの?
dvix+mp3でやってると音がずれていくのがましになればなと思って。
0359login:Penguin
03/01/18 20:35ID:XeNpcIRR0360login:Penguin
03/01/18 20:42ID:PtrC5hhfバージョンはいっち新しいやつね。
0361login:Penguin
03/01/18 22:50ID:5pCh98AkCPUはDuron1.0GHzで、menconderは0.90rc2-2.95.4です。
mencoder -tv on:driver=v4l:width=400:height=300:norm=NTSC \
-tv forceaudio:chanlist=japan-bcast:channel=1 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350 -fps 29.97 \
-oac mp3lame -lameopts cbr:br=64 -vop pp=lb,crop=384:288:8:4 \
-o video.avi -endpos 30:00
で録画すると音が遅れます。おかしいとこありますか。
0362login:Penguin
03/01/18 23:08ID:dei97rT9HDの速度がCPUの能力に比べて遅いのでは?
音がずれるのは別な原因だと思います。
(mencoderが画像のフレーム落ちとかをちゃんと扱えていなくて
タイムスタンプがおかしくなっていってるとか…)
0363名無しさん@Emacs
03/01/19 06:25ID:W16lmswGうちでも同じ環境でずれちゃう。
でも、mpeg1video を使うと大丈夫だったので、
そうしてます。
br=32 とかでも大丈夫な感じでした。なにが悪いのかな。
0364328
03/01/19 17:34ID:r1PtyBiw>YUVの配列については >355の容量であってます。 (YUV420Pの場合)
>で、apiexsample.cを参考にした mpeg変換ですが・・・いっそサンプル書きましょうか?
ぜひお願いします.
RGB->YUV->MPEGまで..(笑
MPEGまでやってくれたらかなり感激です.
#YUVはmallocかなんかで動的確保で.
0365login:Penguin
03/01/19 19:02ID:Z9Vvhg9fこのシャープのLinux搭載AVサーバって、ソース公開してくれるのかね?
0366login:Penguin
03/01/19 19:39ID:mdbBfrx9無理じゃない?
GPLの派生物なら別だが。
ホームサーバが欲しいなら、PCで我慢でしょ。
http://www.parkcity.ne.jp/~takezawa/scripts/videoserver.html
http://gussh.hp.infoseek.co.jp/toda/
とかで。
0368login:Penguin
03/01/20 02:44ID:gWJ8k3kTmencoderってオプションが沢山あるんすね。
どっか参考になるサイトとか教えてください。
0369328
03/01/20 16:42ID:s+O3NnPO了解しますた。
じゃ、明日にでもサンプル書いてアップします。
# 購入したプラズマテレビを眺めてたら、なにもせずに土日がすぎさってしまった(笑
0370328
03/01/20 17:05ID:WO+UvGsXありがとうございます。
リアルタイムでできるんかなぁ。。。
参考になるかわかりませんが、
RGB値はNTSCでV4Lでキャプチャ
理想はキャプチャしてる間リアルタイムmpegエンコードです。
結構チェックしてますので、
よろしくお願いします。
0372328
03/01/20 20:47ID:WO+UvGsXfpsは一応計算しています.
画像処理したりすると30fpsとれません.
それも考慮を...m(_ _)m
0373328
03/01/21 19:01ID:SCjG291J一応自分でサンプル見てつくったんですけど,
動いてしまいました.
yuvの値をfwriteしただけなのに...
やはりRGBに比べて画質が落ちますね.
今後はこれを改良したいですね.
0374bloom
03/01/21 19:05ID:4LwwqWUr0375329
03/01/21 21:21ID:ln6x37kr# 328じゃなくて 329です。 わかりにくくて スマソ
>>328さん
あ、無事動きましたか。おめでとうございます。
>やはりRGBに比べて画質が落ちますね.
こればっかりは仕方ないかと・。
でも、PCIの帯域を考えたりすると YUVのほうが
高解像度には向いているんではないかと思います。
と書いていて気づいたのですが、もしかして V4L->RGB->YUV->MPEGって
処理の流れだとすると、単に RGB->YUV変換で画質が悪化しているだけかも
当方だと、YUV420の MPEG1(720x480) 4Mbpsで結構イイ感じなんですが・・・
# RGBで成功されているようなんで、せっかくだから YUVのサンプルにします。
# もう少しまっててくださいな。 (え?誰も待ってないって?)
0376328
03/01/21 23:34ID:SCjG291J>でも、PCIの帯域を考えたりすると YUVのほうが
>高解像度には向いているんではないかと思います。
それはどこで何に代入するんですかー?
もちRGB->YUVで劣化しています.
YUV420ってRGBに対して情報量が減りますからね.
YUVをそのままMPEGにしていますが,
本来はP, I, Bピクチャとかなんとかで
なんとか予測ってやってましたよね?
今回やってないような...
画質がきれいな保存方法ってなんかありますか?
0377login:Penguin
03/01/23 10:40ID:w/2+CfXZ最終保存だとあれだけど。
YUV1:1:1で可逆圧縮が情報量がそのままで小さくなるのは原理。
0378328
03/01/23 12:10ID:Y42YrbwT>huffyuvと同じことやれば?
それってMPEG1に変換できるんですか??
MPEG1より高画質に
MPEG保存(例えばMPEG4とか)ができるライブラリ知りませんかー
0379login:Penguin
03/01/23 12:13ID:ypwnQrbUnvrecだとちゃんと録画できるんだけど。
何がいけないんだろう。
0380379
03/01/23 13:41ID:ypwnQrbUmga_vid.oがRAMサイズを誤認識してて、再生に失敗してただけで、
録画はできてました。
やっぱり音は遅れてましたが。
ウチの環境でまともに録画できるのはnvrecしかないか。
0381T.Y
03/01/24 03:19ID:fqI+UWVAビデオの編集ソフトだけどv4lの入力が対応しています。
0382斉藤守
03/01/24 03:29ID:WRzs92f1ここは、完全に狂ってる。
授業料は一年分一括前払いなので、
金が入れば、生徒は要らない
金を振り込んだら、何とかその生徒を辞めさせようと
講師どもが、あの手、この手でイヤガラセをしてきますね。
セクハラはもちろん、脈絡の無い罵倒は日常茶飯だね。
酒臭い講師もいるし・・・ 人生の最果て中央高等学院
学歴詐称、経歴詐称、合格実績詐称、デタラメ授業、
http://www.chuo-school.ac/
http://chs-f.com/index.html 中央高等学院福岡校
0383login:Penguin
03/01/26 12:31ID:yAV18BtI0384login:Penguin
03/01/27 00:11ID:tonKYpBd何か設定が悪いのかな?
画面はちゃんと録画できてるんですよね。
0385login:Penguin
03/01/29 21:28ID:7kcGeuysうちでも途中から音が遅れるようになってしまう。挙動を見ていたら、
録画が進むにつれ物理メモリを消費して、喰い潰したところで
dropping audio frame と出る。 -oac copy や -oac pcm なら殆ど
物理メモリの消費は増えないので大丈夫っぽい。バグってるのかな
■ このスレッドは過去ログ倉庫に格納されています