tweakmy / ardesia

Automatically exported from code.google.com/p/ardesia
0 stars 0 forks source link

Vlc is not able to include the audio in the screencast under Windows #19

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Open Ardesia in Windows7
2. Start to record
3. Open the video

What is the expected output? What do you see instead?
I expect the audio but it doesn't work
In windows you can attach with vlc an input slave to the master only of the 
same type.

Seems that it is possible use external tool that emulate a new directshow 
device that emulate the screen one of this is UscreenCapture as you can read in 
this post
http://forum.videolan.org/viewtopic.php?f=4&t=58200

in this way you can grab the audio and video without use a slave device
passing these option to vlc:

dshow:// :dshow-vdev="UScreenCapture" :dshow-adev ...

http://www.splitmedialabs.com/vh-video-sdk/vh-screen-capture

Anyway I have not found a way or a tool to make a cross plattform screencast 
with audio usable on Windows

If you have got some idea or some suggestions, please help me

Original issue reported on code.google.com by al...@paranoici.org on 21 Dec 2010 at 12:33

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Rationale
We can try to use different tool or library to solve the bug 

The requirements 

- cross plattform screencast 
- realtime recording of the desktop
- realtime recording audio from mic
- the audio and video are interleaved and synch in a container 
- free software
- royalty free formats
- easy to stream
- easy to share 

Seems that the only one candidate format
can be ogg/theora

Seems that the only one library/tool that we can use for the
screencast are
- vlc
- ffmpeg

The ffmpeg has a native X11 grab support and
a patch to grab the desktop video on windows;
read this discussion on this topic and related links 
http://www.elpauer.org/?p=261.
No info about the audio support and audio/video synch.

Anyway, we must see if the ffmpeg cross platform screencast is feasible.
Please contact the developers staff or pot comment to help in this or other 
direction to achieve the goal.

Seems that choosing vlc the only way  to fix the problem is create a directshow 
video device for the screencast

Original comment by al...@paranoici.org on 10 Jan 2011 at 6:43

GoogleCodeExporter commented 9 years ago
In the future Theora could be replaced with the webm format 
http://it.wikipedia.org/wiki/WebM. So will be nice to have a cross plattform 
grabber a forwarder and a streamer for this format. HTML5 will support WebM and 
then will become easy embed the video in the web.

Original comment by al...@paranoici.org on 12 Jan 2011 at 1:20

GoogleCodeExporter commented 9 years ago
GUADEC is first event worldwide streamed in WebM by Flumotion an open streaming 
video server that supports WebM http://www.flumotion.net/

Original comment by al...@paranoici.org on 12 Jan 2011 at 1:30

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
FFmpeg is able to create webm screencast

Pass 1:
ffmpeg -i output.mkv -an -vcodec libvpx -b 1000k -pass 1 our-final-product.webm

Pass 2:
ffmpeg -i output.mkv -acodec libvorbis -ab 128k -ac 2 -vcodec libvpx -b 1000k 
-threads 2 -pass 2 our-final-product.webm

Is it possible to do it in only one pass

Original comment by al...@paranoici.org on 24 Aug 2011 at 3:01

GoogleCodeExporter commented 9 years ago
The info about the webm screencast are taken from 
http://verb3k.wordpress.com/2010/01/26/how-to-do-proper-screencasts-on-linux/

Original comment by al...@paranoici.org on 5 Sep 2011 at 10:00

GoogleCodeExporter commented 9 years ago
The issue is changed in medium bacause we are waiting for a serious refactoring 
of the screencast code; this issue will postponed after the Ardesia 1.0 
milestone

Original comment by pilolli....@gmail.com on 7 Sep 2011 at 12:58

GoogleCodeExporter commented 9 years ago
Sorry to butt in here, but re: 
> Seems that choosing vlc the only way  to fix the problem is create a 
directshow video device for the screencast

I have recently created a device you can use: 
https://github.com/rdp/on-screen-capture-recorder-to-video-windows-free

http://betterlogic.com/roger/2010/07/how-to-use-vlc-as-a-free-open-source-altern
ative-to-playon-tv

cheers!
-r

Anyway enjoy.

Original comment by rogerpack2005 on 16 Sep 2011 at 11:58

GoogleCodeExporter commented 9 years ago
Thanks a lot; I will try this as soon as possible and then I'll see if and how 
integrate it in the Ardesia code

Original comment by al...@paranoici.org on 18 Sep 2011 at 4:47

GoogleCodeExporter commented 9 years ago
@rogerpack2005 and to all the hackers

I have tested your work and I think that your code is very interesting, I have 
tried it alone and with ffplay and ffpeg successfully but without audio.
Then I have tried to acquire the stream by your "screen-capture-recorder" with 
vlc. 

The command line used is:
vlc -vvv -I dummy --dummy-quiet dshow:// :dshow-vdev="screen-capture-recorder" 
:dshow-adev --sout  
"#transcode{venc=theora,vcodec=theo,vb=512,scale=0.7,acodec=vorb,ab=128,channels
=2,samplerate=44100,audio-sync}:standard{access=file,mux=ogg,dst=test.ogv}" 

I don't know why but vlc crash after a while when attempt to access to the 
device. The strange think is that from the graphic interface I am able to use 
your device and the other one is that the used command line is the same that I 
use with ardesia a part of the beginning part (that say to acquire from the 
direct show devices). 

I have tested the same command line with the webcam video device erasing the 
screen capture flag (="screen-capture-recorder"); in this way I have 
successfully produced the webcam video with audio; VLC crashs when I open it 
but ffmplay visualize this correctly (but this is an other history, I think). 
I'm using vlc 1.1.11 (32 bit) on a windows 7 home 64 bit.

Coming back to your virtual device; seems that or VLC is bugged or that your 
code is not compliant with VLC.

Please if you are reading this post help me to solve the problem...

Original comment by al...@paranoici.org on 20 Sep 2011 at 9:55

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I think I've had some other reports of it crashing when transcoding I'll have 
to look into that.

Original comment by rogerdp...@gmail.com on 20 Sep 2011 at 2:12

GoogleCodeExporter commented 9 years ago
also note that virtual audio capturer can only be used in vista+ XP users will 
have to manually select "waveout mix" as their selected sound card record from 
device.

Original comment by rogerdp...@gmail.com on 20 Sep 2011 at 4:51

GoogleCodeExporter commented 9 years ago
I'm using windows 7

Original comment by al...@paranoici.org on 21 Sep 2011 at 5:02

GoogleCodeExporter commented 9 years ago
ok I was able to reproduce it (required XP for me) but think I have fixed it.  
Give it another shot.  However I noticed that with some resolution (not 
divisible by 8, maybe a few more?) that VLC records things with slanted messed 
up video (ffmpeg did record all right though) [1].  Oh and having a "record" 
button might be nice too.

Cheers!
-r
[1] http://forum.videolan.org/viewtopic.php?f=14&t=94127

Original comment by rogerdp...@gmail.com on 21 Sep 2011 at 10:47

GoogleCodeExporter commented 9 years ago
This is a workaround in order to make a screencast on windows using free 
software
in a scriptable way

First of all you need:
- a virtual audio capturer
- a screen capture recorder

Now the screen recorder include the audio support also. Download and run the 
setup from 
http://sourceforge.net/projects/screencapturer/files/setup%20Screen%20Capturer%2
0Recorder%20v0.3.1.exe/download

This will create two virtual directshow devices.

With this command you can chack if the twice program are working well
ffplay -f dshow -i 
audio="virtual-audio-capturer":video="screen-capture-recorder"

In this case you can start todo your screencast:
ffmpeg.exe -f dshow -i 
audio="virtual-audio-capturer":video="screen-capture-recorder" test.ogv

Original comment by al...@paranoici.org on 27 Sep 2011 at 7:39

GoogleCodeExporter commented 9 years ago
In ffmpeg for windows is available an ffmpeg device for screencast grabbing
ffmpeg -r 15 -f vfwcap -i 0 test.ogv

But the audio does not work

Original comment by pilolli....@gmail.com on 4 Nov 2011 at 3:50

GoogleCodeExporter commented 9 years ago
An other interesting program to make a screencast is the Petri Tuonenen' 
jcaster available on http://code.google.com/p/jcaster/

Are there someone available to hack the code to make a script usable in Ardesia?
Is it a better choice the rogerdpack driver?

Original comment by al...@paranoici.org on 12 Nov 2011 at 9:53