VLC codec and main packetizer errors!

Microsoft Windows specific usage questions
Forum rules
Please post only Windows specific questions in this forum category. If you don't know where to post, please read the different forums' rules. Thanks.
Guest

VLC codec and main packetizer errors!

Postby Guest » 20 Feb 2006 15:03

I took a look at Isidro´s problem:
viewtopic.php?t=12394&start=75

Tested with VLC 0.8.5-svn-20060216-0001 and Logitech QuickCam Fusion.

If i "Open Capture Device" and "Stream Save" its video without any trascoding VLC works fine. However if i select ANY codec it fails miserably with the folowing log:

[00000372] main stream output error: stream chained failed for `transcode{vcodec
="ANY CODEC THAT YOU SELECT",vb=1024,scale=1}'

If i try to "Open a Network Stream" without any codec´s i get the folowing log:

[00000371] main input error: cannot start stream output instance, aborting
[00000276] main playlist: nothing to play
[00000384] main private error: cannot add this stream
[00000387] main packetizer error: cannot create packetizer output (s16l)
[00000384] main private error: cannot add this stream
[00000386] main packetizer error: cannot create packetizer output (I420)

I´m able to conduce any test´s necessary with Graph Edit to help the developers solve this problem.

I just ask a little help with selecting the proper filters for the Graph Edit test.

Regards

Guest

Postby Guest » 23 Feb 2006 12:21

I would be pleased with any help regarding this matter.

Best Regards

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 24 Feb 2006 01:11

Assuming your capture device is working correctly within VLC for both sound and video it would be helpful to know its format for video, audio and the container type. It also would help to know how you want this transcoded or streamed (format and container type). If possible post your command line here.

Have you tried the Wizard?

As far as using GraphEdit, this is a good program for getting the Direct Show Drivers to work and to work with VLC for your device. But VLC is not a Direct Show player so GraphEdit is not going to help once the capture device works.

:lol:

Below are some general rules that are and arn't related to VLC

While I believe that any format should be compatible with any container and all containers should be capable of streaming, that's not how it is in the real world. This is why the Wizard was created.

The key issue is:

1. know your compatible formats and containers.

2. Separate transcoding from streaming when you have problems.

3. Know your source file types and the containers so you can make intelligent decisions for quality with relatively low overhead when transcoding files for streaming.

I can not in this space tell you what is ideal in every situation, that is why there are options. At the same time I can not tell you which ones don't work together as some of these were never finished (they do work but perhaps not as expected), so that all the accepted variations for all the various formats and containers would work together.

Hint: mp3 audio is not accepted with any video format in any container, however mpga is accepted for most mpeg formats including mp4v and DivX. MP4a (AAC) audio is accepted with MP4v in a MP4 or MOV container as this is a standard QuickTime format. But for streaming MOV is the container of choice.

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 27 Feb 2006 13:45

Hello,

One of the command line that causes this situation is

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :sout=#transcode{vcodec=mp4v,vb=256,scale=1,acodec=mp4a,ab=32,channels=2}:duplicate{dst=std{access=udp,mux=ts,url=localhost:1234}}

The output is the following:

VLC media player 0.8.5-svn-20060227-0000 Janus
[00000289] ffmpeg encoder error: cannot open encoder
[00000278] stream_out_transcode private error: cannot find encoder

Remember that exactly the same command line works pretty well with VLC media player 0.8.2 and 0.8.4. Only nightly builds have this problem. So I thing it would be a more effective investigation if you try this command line first because we already know that it works in previous VideoLAN’s versions.

It’s remarkable that if you choose vcodec=DIV3 (instead of mp4v) it works OK in all VideoLAN versions.



Regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 28 Feb 2006 01:21

The only thing I notice about your command line is that your bit rates seem really low for the format you are choosing. The only change I am aware of in the Nightly Builds is that a Samplerate= command has been added for the audio.

:lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 28 Feb 2006 14:13

Thanks for answering.

I tried this command line, setting vb=1024 and ab=192:

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :sout=#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mp4a,ab=192,channels=2}:duplicate{dst=std{access=udp,mux=ts,url=localhost:1234}}

And got this (the same error):

VLC media player 0.8.5-svn-20060227-0000 Janus
[00000342] ffmpeg encoder error: cannot open encoder
[00000286] stream_out_transcode private error: cannot find encoder


Again, the same command line works OK with version 0.8.2.

I think that these output messages are meant to help developers discover what happened when a program executes and do not accomplish its expectations. We have two programs: first is “vlc – 0.8.2” that produces the correct behavior and “vlc - nightly build” that doesn’t. There must be some difference and I hoped Graph Edith would help to find it.

I have produced beautiful web conferences using VLC in optical networks since version 0.8.2 and I would like to keep it working with both new web cams and new VLC’s versions.

I wish some one could help!!!

Would it be the case to post a more specific topic? In this case, how should it be named?
“[00000342] ffmpeg encoder error: cannot open encoder”?


Best regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 28 Feb 2006 22:01

I understand what you are telling me! There have been changes between the versions. I'm posing ways to separate the functions to see where the problem is. But unfortunately you are not answering. So I will try to be more direct.

1. Does the capture device work with VLC (NO transcoding, NO streaming)?

2. What is the format for audio, video and container type used by your capture device? I have been assuming MPEG for sound, video and container. GraphEdit should provide the answers or Media Information within VLC assuming the capture device is working with VLC.

3. When you have problems with streaming separate transcoding from streaming by saving the transcode to a local file without trying to stream the file. Have you done this?

While you say that no format works it is VERY difficult to make any comment without knowing more about the problem.

http://wiki.videolan.org/index.php/Transcode
:lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 01 Mar 2006 13:23

Thanks for answering.

You must have notice that “Guest” and I are posting replies. Guest said that no format works. I disagree with Guest, and said that vcodec=DIV3 works in my last post!

Anyway, I’ll try to answer your questions (may be Guest will also answer it)

1- Yes it does perfectly.
2- I don’t know. I have never needed such information to make capture or streaming from web cams. As far as I can see, web cams usually provide kind of raster formats then transcoding is always necessary. Is it correct?
3- See bellow:

a) Trying to save to file without transcoding (I think that it should not work anyway)

:sout=#duplicate{dst=std{access=file,mux=ts,dst="C:\test.mpeg"}}

Output:

[00000294] main private error: cannot add this stream
[00000296] main packetizer error: cannot create packetizer output (I420)
[00000294] main private error: cannot add this stream
[00000304] main packetizer error: cannot create packetizer output (s16l)

b)Using vcodec=mp4v, and mux=ts
:sout=#transcode{vcodec=mp4v,vb=256,scale=1,acodec=mp4a,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,dst="C:\test.mp4"}}

Output:
[00000366] ffmpeg encoder error: cannot open encoder
[00000356] stream_out_transcode private error: cannot find encoder

c) Using vcodec=DIV3, and mux=ts

:sout=#transcode{vcodec=DIV3,vb=256,scale=1,acodec=mp4a,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,dst="C:\test.div3"}}

Output: works!!!!

I played the file C:\test.div3 and it is OK!!!

The only problem I face now is when I choose vcodec=mp4v. Guest may have discovered other problems.

As Guest is able to use Graph Edith and there is a use case of VLC that works well in previous VLC’s versions, I simply suggest starting investigation by this use case.

Regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 01 Mar 2006 21:24

Thanks for answering.

You must have notice that “Guest” and I are posting replies. Guest said that no format works. I disagree with Guest, and said that vcodec=DIV3 works in my last post!
Sorry about that! I review these before I post a new answer. But after a long session I sometimes become confused as to who said what. :lol:
Anyway, I’ll try to answer your questions (may be Guest will also answer it)

1- Yes it does perfectly.
2- I don’t know. I have never needed such information to make capture or streaming from web cams. As far as I can see, web cams usually provide kind of raster formats then transcoding is always necessary. Is it correct?
3- See bellow:

a) Trying to save to file without transcoding (I think that it should not work anyway)

:sout=#duplicate{dst=std{access=file,mux=ts,dst="C:\test.mpeg"}}

Output:

[00000294] main private error: cannot add this stream
[00000296] main packetizer error: cannot create packetizer output (I420)
[00000294] main private error: cannot add this stream
[00000304] main packetizer error: cannot create packetizer output (s16l).
While you may not need the file or use the file it is the only way to begin to trouble shoot the problem. Trying to save the file without transcoding will not work, it also will not stream. This is why it is best to separate the functions.
b)Using vcodec=mp4v, and mux=ts
:sout=#transcode{vcodec=mp4v,vb=256,scale=1,acodec=mp4a,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,dst="C:\test.mp4"}}

Output:
[00000366] ffmpeg encoder error: cannot open encoder
[00000356] stream_out_transcode private error: cannot find encoder
:sout=#transcode{vcodec=mp4v,vb=256,scale=1,acodec=mp4a,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\Documents and Settings\Owner\My Documents\My Videos\Test.ts"}}

Does work in VLC but doesn't work with another player that supports the MPEG-TS format.

:sout=#transcode{vcodec=mp4v,vb=256,scale=1,acodec=mp4a,ab=64,channels=2}:duplicate{dst=std{access=file,mux=mov,url="C:\Documents and Settings\Owner\My Documents\My Videos\Test.mov"}}

Will work in VLC and QuickTime and would be a better choice for streaming this format.

The only problem in these examples is bit rate. As the bit rate is very low for this format the end result will be very blocky.
c) Using vcodec=DIV3, and mux=ts

:sout=#transcode{vcodec=DIV3,vb=256,scale=1,acodec=mp4a,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,dst="C:\test.div3"}}

Output: works!!!!

I played the file C:\test.div3 and it is OK!!!

The only problem I face now is when I choose vcodec=mp4v. Guest may have discovered other problems.

As Guest is able to use Graph Edith and there is a use case of VLC that works well in previous VLC’s versions, I simply suggest starting investigation by this use case.
:sout=#transcode{vcodec=DIV3,vb=256,scale=1,acodec=mpga,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\Documents and Settings\Owner\My Documents\My Videos\Test.ts"}}

This example will play with VLC. But it won't play with another player that supports MPEG-TS

:sout=#transcode{vcodec=mp1v,vb=256,scale=1,acodec=mpga,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\Documents and Settings\Owner\My Documents\My Videos\Test.ts"}}

This example works and will play in VLC and another player that supports the MPEG-TS format. However, The end result will be very blocky due to low bit rates.

In all the examples I verified my statements using VLC and another player that works with the MPEG-TS container. While this represent only a small portion of what VLC will do, I took what you wanted to do and put it in correct form, both for transcoding and for streaming. I still believe the bit rate is to low, it does work.

:lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 02 Mar 2006 03:59

Thanks for answering. May be now we will converge.

Following your suggestion:

:sout=#transcode{vcodec=mp4v,vb=256,scale=1,acodec=mp4a,ab=64,channels=2}:duplicate{dst=std{access=file,mux=mov,url="C:\Documents and Settings\Owner\My Documents\My Videos\Test.mov"}}

I tried this:

:sout=#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mp4a,ab=192,channels=2}:duplicate{dst=std{access=file,mux=mov,dst="C:\test.mov"}}

And I got this output:

[00000397] ffmpeg encoder error: cannot open encoder
[00000387] stream_out_transcode private error: cannot find encoder

Again – this works with 0.8.2 / 0.8.4.a versions.


Your suggestion is very good for recording but mot for streaming, according to VLC’s documentation (http://www.videolan.org/streaming/features.html).

MOV (Quick Time) muxing can only be done when you write to a file. It would be great if this kind of muxing could be used to stream too!!
After testing all possibilities for streaming provided in the above-mentioned documentation I found that mp4/ts is the best choice if you have to stream via udp, taking into account things like quality, bandwidth and cpu occupation.

But let’s divide the problem into parts. The first one is discovering why nightly build is able to capture from web cam but cannot write to a file due the “cannot find encoder” problem. It seems like a binding problem, isn’t it?

Regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 02 Mar 2006 05:01

Now wait a minute! I took the time to prove each of these and I'm using a nightly build. While I don't remember this being any different in 0.8.2 or 0.8.4 I have found that if you can't transcode you can't stream.

Unlike the documentation that I don't believe has changed since 0.7.1 I find most times you can stream the file as long as you don't use the Wizard.

I gave you 2 compatible methods and 4 methods that worked. You commented on 1 and said it didn't work. I got a file to stream for a user in the last week or so using mp4 of which the documentation says doesn't work.

But if you really want to go by the book, this is what you can or can't do:

http://www.videolan.org/streaming/features.html
:lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 02 Mar 2006 08:20

DJ,

It’s not the case of go by the book or not. It happens that if you are not a VLC developer you have to trust documentation.

So let’s forget about documentation and wizard. I will try a command line exactly the way you suggest. Here it is:

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mp4a,ab=192,channels=2}:duplicate{dst=std{access=file,mux=mov,url="C:\test.mov"}}

And see what VLC outputs in return:

VLC media player 0.8.5-svn-20060227-0000 Janus
[00000334] ffmpeg encoder error: cannot open encoder
[00000286] stream_out_transcode private error: cannot find encoder

You can check the version I’m using by the output. I hope the command line it is 100% according to what you suggested!!!

So I just want to discover why the error persists.

Best regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 02 Mar 2006 09:22

OK! I would think this would work. I'm using 01/15/06 version of Nightly Builds and at the moment do not want to move forward for some personal reasons.

However, I would also try the compatible MPEG-TS set I gave you. Lets see where this one goes. It is more by the book. :lol:

You could also try this one so I can see if it is the format or the container that it's not liking.

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mp4a,ab=192,channels=2}:duplicate{dst=std{access=file,mux=mp4,url="C:\test.mp4"}}

By the way once you or we :roll: get this to work you will probably need to make a trade off for quality (Bit Rate reduction) to get it to stream depending on your connection or network. Probably not a problem on an internal network. The easy one is mp4a is near CD quality at 128 and when doing DVDs mp4v still looks real good at 768

I'm sure that a cam could be reduced even more without reducing the quality. Its just that it was so low before! :lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 02 Mar 2006 10:53

DJ,

As you ask, I tried:

a)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mp4a,ab=192,channels=2}:duplicate{dst=std{access=file,mux=mp4,url="C:\test.mp4"}}

and got:

VLC media player 0.8.5-svn-20060227-0000 Janus
[00000342] ffmpeg encoder error: cannot open encoder
[00000286] stream_out_transcode private error: cannot find encoder

b)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=mp1v,vb=256,scale=1,acodec=mpga,ab=64,channels=2}:duplicate{dst=std{access=file,mux=mp4,url="C:\test.ts"}}

and got:

VLC media player 0.8.5-svn-20060227-0000 Janus
[00000334] ffmpeg encoder error: cannot open encoder
[00000286] stream_out_transcode private error: cannot find encoder
[00000352] ffmpeg encoder error: MPEG audio doesn't support frequency=96000
[00000352] twolame encoder error: MPEG audio doesn't support frequency=96000

c) the same as a), but using the 0.8.2 version. Everything works fine and I could play test.mp4 with QuickTime, RealPlayer and VLC (both o.8.2 and 0.8.5-svn-20060227-0000 versions).

Thanks for the quality tradeoffs hints.

Regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 02 Mar 2006 21:30

Considering you can get this to work in 0.8.2 but not in 0.8.5 or 4 and yet I can do the transcodes in 0.8.5 suggests that there is something that has changed about the way the pins connect in the Direct Show driver or it is a format problem for the newer ffmpeg module not recognizing the output format type of your capture device. Yet you say the device works normally???

Have you tried playing with the one you found that did work? Also look at messages to see how it's connecting?

:sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=mpga,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\Documents and Settings\Owner\My Documents\My Videos\Test.ts"}}

you could also try:

:sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=mp3,ab=128,channels=2}:duplicate{dst=std{access=file,mux=asf,url="C:\Documents and Settings\Owner\My Documents\My Videos\Test.asf"}}

This should make a compatible WMP file or any player that uses Direct Show. I do kind of hate this one but it should work.

:lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 03 Mar 2006 03:08

Excuse me; it works with version 0.8.4a too. The problem only happens with version 0.8.5.

As you ask, I tried:

a)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=mpga,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

and got this:

VLC media player 0.8.5-svn-20060227-0000 Janus
[00000333] ffmpeg encoder error: MPEG audio doesn't support frequency=96000
[00000333] twolame encoder error: MPEG audio doesn't support frequency=96000
[00000286] stream_out_transcode private error: cannot find encoder
[00000286] stream_out_transcode private error: cannot create audio chain
[00000305] main packetizer error: cannot create packetizer output (s16l)


b)

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=mp3,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

and got this:


VLC media player 0.8.5-svn-20060227-0000 Janus
[00000348] ffmpeg encoder error: MPEG audio doesn't support frequency=96000
[00000286] stream_out_transcode private error: cannot find encoder
[00000286] stream_out_transcode private error: cannot create audio chain
[00000305] main packetizer error: cannot create packetizer output (s16l)


Both your suggestions work with versions 0.8.2 and 0.8.4a and produces a file that I could play with vlc but not woth QT or Real.

I would go on using one of these versions if they could work with newer web cams.

Regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 03 Mar 2006 05:52

OK! That clarifies things a bit there are some new commands in 0.8.5

Try this:

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=mpga,samplerate=48000,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

and or this:

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=mp3,samplerate=44100,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

The samplerate can be varied probably down to 22050 but for sure not higher than 48000

From the look of the error either one of these will also probably work:

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

This passes the audio with no transcode.

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=s16l,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

This passes the audio as a raw audio transcode.

:lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 03 Mar 2006 14:11

DJ,

A tried:

a)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=mpga,samplerate=48000,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

It works!!!!

b)

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=mp3,samplerate=44100,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

It works!!!!

c)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

and got: (observe I have downloaded a new version)
VLC media player 0.8.5-svn-20060303-0001 Janus
[00000295] main private error: cannot add this stream
[00000305] main packetizer error: cannot create packetizer output (s16l)

d)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=768,scale=1,acodec=s16l,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

and got:
VLC media player 0.8.5-svn-20060303-0001 Janus
[00000295] main private error: cannot add this stream
[00000305] main packetizer error: cannot create packetizer output (s16l)

I have also tried variations of your suggestions using vcodec= mp1v/mp4v (just for you to know) and got
VLC media player 0.8.5-svn-20060303-0001 Janus
[00000333] ffmpeg encoder error: cannot open encoder
[00000286] stream_out_transcode private error: cannot find encoder

I’m glad we are making progress.

I did not know about samplerate to be a required parameter and it makes things work. May be a default value could be applicable.

I’m still very interested in using vcodec=mp4v and acodec=mp4a over mux=MP4, even if more bandwidth is necessary (I use VLC in optical networks usually transmitting DVD over 8Mbps), mostly now you told me it is possible to stream using this mux. This opens a completely new set of possibilities of using VLC considering inter-working with QT!!! And recording sessions!!!

Let me know if you need more tests,

Observation: If you live in Hawaii, as I think you do, we are 11 hours different. When it’s 22:00 in Brazil it’s 09:00 of the next day in Hawaii.

Regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 03 Mar 2006 20:09

I thought it was worth a try on C & D but the problem is that we don't really what the source is. While I have suggested using Graph Edit to find out, you have never responded with an answer. So I'm doing allot of guessing. I do tend to believe that all the options work if you to pick standard combinations and we were transcoding a file and not using your capture device.

Why don't you play with this one a bit and see if you can get it to stream. But first I would try to optimize the transcode to get it smaller and still have it look good.

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=512,scale=1,acodec=mpga,samplerate=22050,ab=96,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

There is also another one you could try. This will put it in standard form so that WMP should work. This is native to WMP so no codecs are required.

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=WMV2,vb=512,scale=1,acodec=mp3,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=file,mux=asf,url="C:\test.asf"}}

Assuming it works you can optimize this one for best picture too.

:lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 04 Mar 2006 14:33

OK,

Now, you may ask me to use Graph Edith. I have got I friend who works with me and has already downloaded it and he is ready to test. Just tell us what to do.

Following your suggestions:

a)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=512,scale=1,acodec=mpga,samplerate=22050,ab=96,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

Works!



b)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=WMV2,vb=512,scale=1,acodec=mp3,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=file,mux=asf,url="C:\test.asf"}}

Works too!

Option b) is also interesting: test.asf could be played by VLC, Real and QT!

A have also test these streams:

c)

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=WMV2,vb=512,scale=1,acodec=mp3,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=http,mux=asf,url="localhost:1234/test.asf"}}

It works when played by VLC and WMP though WMP stops from time to time for buffering.

d)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=mp4v,vb=512,scale=1,acodec=mp3,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=rtp,mux=asf,url="localhost:1234/test.asf"}}

And got:
VLC media player 0.8.5-svn-20060303-0001 Janus
[00000291] stream_out_standard private error: for now udp and rtp are only valid with TS
[00000335] ffmpeg encoder error: cannot open encoder
[00000286] stream_out_transcode private error: cannot find encoder

If I could choose the first mux besides TS to be valid with udp and rtp I’d choose MP4.

Now it seems that only MPEG codecs are missing, to put 0.8.5 as functional as 0.8.2 and 0.8.4.a.

By the way, what you mean by C & D?

Best Regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 04 Mar 2006 21:33

OK,

Now, you may ask me to use Graph Edith. I have got I friend who works with me and has already downloaded it and he is ready to test. Just tell us what to do.
Using GraphEdit, the most difficult thing to do is finding the driver for your capture device. Once you have, you can right click on the output pin and ask it to render. What we are interested in is the codecs it is calling for Audio and Video.
Following your suggestions:

a)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=DIV3,vb=512,scale=1,acodec=mpga,samplerate=22050,ab=96,channels=2}:duplicate{dst=std{access=file,mux=ts,url="C:\test.ts"}}

Works!

b)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=WMV2,vb=512,scale=1,acodec=mp3,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=file,mux=asf,url="C:\test.asf"}}

Works too!

Option b) is also interesting: test.asf could be played by VLC, Real and QT!
This is encouraging! :lol: I'm a bit surprised that QT will recognize this. Have you installed a third party package?
A have also test these streams:

c)

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=WMV2,vb=512,scale=1,acodec=mp3,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=http,mux=asf,url="localhost:1234/test.asf"}}

It works when played by VLC and WMP though WMP stops from time to time for buffering.

d)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=mp4v,vb=512,scale=1,acodec=mp3,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=rtp,mux=asf,url="localhost:1234/test.asf"}}

And got:
VLC media player 0.8.5-svn-20060303-0001 Janus
[00000291] stream_out_standard private error: for now udp and rtp are only valid with TS
[00000335] ffmpeg encoder error: cannot open encoder
[00000286] stream_out_transcode private error: cannot find encoder
The buffering problem is the speed of your connection. Try optmizing the file some more trading quality for size durring transcode and then use those numbers for streaming.

The error messages you got seem to indicate that the form wants to be in http: or this:

d)
vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=mp4v,vb=512,scale=1,acodec=mp4a,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=rtp,mux=ts,url="localhost:1234/test.ts"}}

Note: I changed the audio just to be more compatable with the video you can try it both ways. The other change was to the MPEG-TS container to accommodate the error.

The MPEG-TS container has some draw backs in that the overhead is a bit higher than other containers and it does not have much compatibility to other programs without third party support. This is why I have been suggesting other formats that are more compatible. Please don't misunderstand me, there is nothing wrong with the MPEG-TS container and I do expect it will become native to many programs in the future.
If I could choose the first mux besides TS to be valid with udp and rtp I’d choose MP4.

Now it seems that only MPEG codecs are missing, to put 0.8.5 as functional as 0.8.2 and 0.8.4.a.

By the way, what you mean by C & D?
I was referring to your earlier examples.

I seem to prefer the mpeg series too. The one I wish would work is mp4v or h.264 and mp4a in a mov container. Yes! it does seem that the later versions of VLC are getting more pickey. But there has always been a problem as to what is compatable for what method of streaming. I can only hope that the developers begin to resolve some of the problems.

:lol:

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 05 Mar 2006 00:44

Monday, I’ll ask my friend to test with Graph Edith.

About my QT, it’s the standard package.

About your suggestion:

vlc dshow:// :dshow-vdev="Logitech QuickCam for Notebooks Pro" :dshow-adev="Logitech Mic (Notebooks Pro)" :dshow-size="320x240" :sout=#transcode{vcodec=mp4v,vb=512,scale=1,acodec=mp4a,samplerate=44100,ab=96,channels=2}:duplicate{dst=std{access=rtp,mux=ts,url="localhost:1234/test.ts"}}

I guess we will have to wait till we solve the mpeg problem:

VLC media player 0.8.5-svn-20060303-0001 Janus
[00000352] ffmpeg encoder error: cannot open encoder
[00000286] stream_out_transcode private error: cannot find encoder

About mpeg, it’s quite a pattern. I have streamed live captures from a Sony PD170 Digital Camera (fire wire) using vcodec=mp4v,vb=1024/2048,scale=1,acodec=mp4a … access=udp/rtp mux=ts… and the results are amazing!

H264 is also good (may be even better) but it requires more from your computer.

I’ll let you know about Graph Edith results on Monday.

Thank you very much.

Isidro.
Isidro Lopes
CPqD
Brazil.

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 06 Mar 2006 14:43

My friend has executed the test with Graph Edit and wrote me the following:


I inserted the ‘Logitech QuickCam for Notebooks Pro’ filter and right-clicked its output pin and selected ‘Render Pin’. No new filters where added remaining just the camera and “Video Renderer” filters. Clicked ‘Play the graph’ and ended with a window with the captured video. ‘Capture’ pin properties for the camera gives us the following info:
Video Standard: None
Frame Rate: 30.000
Colorspace/Compression: I420
Output Size: 320x240

With a little research found that I420 states for ‘Logitech Video (I420)’ and it has a filter in GraphEdit. Added this filter and connected the cameras ‘Capture pin’ to it. GraphEdit added automatically the ‘AVI Decompressor’ filter, connected the Video Renderer filter to the latter filter added and clicked ‘Play the Graph’, all ended fine with the capture video being shown.


Is it what you expected?

Best regards,

Isidro.
Isidro Lopes
CPqD
Brazil.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 06 Mar 2006 20:43

Well no it was not what I expected. It appears that the manufacture is assigning a color format, a frame rate and frame size in raw video, dumping it in a avi container and shipping it out to be rendered. Is it doing the same thing for audio?

There is a dll that came with some versions of GraphEdit called "proppage.dll" and it must be registered for use. But it allows you to right click on the filter and open it. Then you can see the input and output connections specification. This may be helpful to confirm my suspicions. This is more than cheap and dirty way of accomplishing this task and is probably why you are having problems transcoding and streaming. Very doubtful that we will be able to get this into anything other than a compatible Microsoft form to transcode or stream. Why it did it in another version kinda mystifies me. This would really be a question for a developer. It also explains why you can't just select a container and get a transcode as not every container will accept raw video or audio.

:P :P

isidro
Blank Cone
Blank Cone
Posts: 31
Joined: 25 Jul 2005 16:16
Location: Brazil/Campinas

Postby isidro » 08 Mar 2006 13:19

DJ,

This is what my friend found:

<
After the regsvr32 propppage.dll a new tab appeared in the video renderer filter. It showed the folowing information:

Major Type: Video
SubType: I420
Format: I420 320x240, 12 bits
rcSrc=[0,0,0,0]
rcDst=[0,0,00]”
>

It seems a raster format definition for me. He also told me that it is possible to work with RGB 320x240 24 bits using this web cam.

Is that you expected?

Best regards,

Isidro.
Isidro Lopes
CPqD
Brazil.


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 25 guests