Does vlc stream mp4?

About encoding, codec settings, muxers and filter usage
ellcon123
New Cone
New Cone
Posts: 3
Joined: 16 Mar 2006 02:44

Does vlc stream mp4?

Postby ellcon123 » 16 Mar 2006 02:56

Is vlc capable of streaming mp4/h264 files? I am unable to receive video on the client, only sound. If I open a file and stream the output to udp/rtp/http then the server side is pushing data through the network interface. On the client side I am receiving the stream but only audio is played, no video. Stream info says that avc1 video and mp4a audio is present.

Playing mp4 file is ok but playing while trying to stream is jerky. The video is created using x264 and have tried raw and muxed mp4 files. Have also tried 0.8.4a and the latest nightlies with the same result. Am using an Athlon64 3000 with XP SP2. Xvid/Divx avi's stream without problems.

Any ideas?

ellcon123
New Cone
New Cone
Posts: 3
Joined: 16 Mar 2006 02:44

mp4 streaming help?

Postby ellcon123 » 19 Mar 2006 21:58

If it helps here is the message log.

main debug: adding playlist item `E:\MotoGP-800.mp4' ( E:\MotoGP-800.mp4 )
main debug: creating new input thread
main debug: waiting for thread completion
main debug: thread 4436 (input) created at priority 1 (input/input.c:260)
main debug: stream=`duplicate'
main debug: looking for sout stream module: 1 candidate
stream_out_duplicate debug: creating 'duplicate'
stream_out_duplicate debug: * adding `display'
main debug: stream=`display'
main debug: looking for sout stream module: 1 candidate
main debug: using sout stream module "stream_out_display"
stream_out_duplicate debug: * adding `std{access=udp,mux=ts,dst=10.8.96.135:1234}'
main debug: stream=`std'
main debug: looking for sout stream module: 1 candidate
main debug: set sout option: sout-standard-access to udp
main debug: set sout option: sout-standard-mux to ts
main debug: set sout option: sout-standard-dst to 10.8.96.135:1234
stream_out_standard debug: creating `udp/ts://10.8.96.135:1234'
stream_out_standard debug: extention is 135:1234
stream_out_standard debug: extention -> mux=(null)
stream_out_standard debug: using `udp/ts://10.8.96.135:1234'
main debug: looking for sout access module: 1 candidate
main debug: net: connecting to 10.8.96.135 port 1234
main debug: thread 4124 (sout write thread) created at priority 15 (udp.c:268)
access_output_udp debug: udp access output opened(10.8.96.135:1234)
main debug: using sout access module "access_output_udp"
stream_out_standard debug: access opened
main debug: looking for sout mux module: 1 candidate
mux_ts debug: shaping=200000 pcr=70000 dts_delay=400000
main debug: using sout mux module "mux_ts"
main debug: muxer support adding stream at any time
stream_out_standard debug: mux opened
main debug: using sout stream module "stream_out_standard"
main debug: using sout stream module "stream_out_duplicate"
main warning: drive letter E: found in source
main debug: `E:\MotoGP-800.mp4' gives access `' demux `' path `E:\MotoGP-800.mp4'
main debug: creating demux: access='' demux='' path='E:\MotoGP-800.mp4'
main debug: looking for access_demux module: 1 candidate
main debug: creating access '' path='E:\MotoGP-800.mp4'
main debug: looking for access2 module: 5 candidates
vcd debug: trying .cue file: E:\MotoGP-800.cue
access_file debug: opening file `E:\MotoGP-800.mp4'
main debug: using access2 module "access_file"
main debug: pre buffering
main debug: received first data for our buffer
main debug: prebuffering done 1408981 bytes in 0s - 430255 kbytes/s
main debug: creating demux: access='' demux='' path='E:\MotoGP-800.mp4'
main debug: looking for demux2 module: 43 candidates
mp4 debug: found Box: ftyp size 24
mp4 debug: found Box: mdat size 12048417
mp4 debug: skip box: "mdat"
mp4 debug: found Box: free size 51
mp4 debug: skip box: "free"
mp4 debug: found Box: moov size 37843
mp4 debug: found Box: mvhd size 108
mp4 debug: read box: "mvhd" creation 732307d-09h:52m:48s modification 732307d-09h:52m:48s time scale 600 duration 694977d-48h:00m:01s rate 1.000000 volume 1.000000 next track id 2
mp4 debug: found Box: iods size 21
mp4 warning: unknown box type iods (uncompletetly loaded)
mp4 debug: found Box: trak size 37706
mp4 debug: found Box: tkhd size 92
mp4 debug: read box: "tkhd" creation 732307d-09h:52m:48s modification 732307d-09h:58m:27s duration 694977d-08h:00m:00s track ID 1 layer 0 volume 0.000000 width 720.000000 height 576.000000
mp4 debug: found Box: mdia size 37606
mp4 debug: found Box: mdhd size 32
mp4 debug: read box: "mdhd" creation 732307d-09h:52m:48s modification 732307d-09h:58m:27s time scale 25 duration 694977d-48h:50m:00s language und
mp4 debug: found Box: hdlr size 55
mp4 debug: read box: "hdlr" handler type vide name GPAC ISO Video Handler
mp4 debug: found Box: minf size 37511
mp4 debug: found Box: vmhd size 20
mp4 debug: read box: "vmhd" graphics-mode 0 opcolor (0, 0, 0)
mp4 debug: found Box: dinf size 36
mp4 debug: found Box: dref size 28
mp4 debug: found Box: url size 12
mp4 debug: read box: "url" url: (null)
mp4 debug: out of bound child
mp4 debug: read box: "dref" entry-count 1
mp4 debug: out of bound child
mp4 debug: found Box: stbl size 37447
mp4 debug: found Box: stsd size 175
mp4 debug: found Box: avc1 size 159
mp4 debug: found Box: avcC size 53
mp4 debug: read box: "avcC" version=1 profile=0x4d level=0x33 length size=4 sps=1 pps=1
mp4 debug: - sps[0] length=30
mp4 debug: - pps[0] length=4
mp4 debug: found Box: btrt size 20
mp4 warning: unknown box type btrt (uncompletetly loaded)
mp4 debug: out of bound child
mp4 debug: read box: "vide" in stsd 720x576 depth 24
mp4 debug: out of bound child
mp4 debug: read box: "stsd" entry-count 1
mp4 debug: found Box: stts size 24
mp4 debug: read box: "stts" entry-count 1
mp4 debug: found Box: ctts size 23888
mp4 debug: read box: "ctts" entry-count 2984
mp4 debug: found Box: stss size 76
mp4 debug: read box: "stss" entry-count 15
mp4 debug: found Box: stsc size 40
mp4 debug: read box: "stsc" entry-count 2
mp4 debug: found Box: stsz size 12020
mp4 debug: read box: "stsz" sample-size 0 sample-count 3000
mp4 debug: found Box: stco size 1216
mp4 debug: read box: "co64" entry-count 300
mp4 debug: out of bound child
mp4 debug: out of bound child
mp4 debug: out of bound child
mp4 debug: out of bound child
mp4 debug: out of bound child
mp4 debug: out of bound child
mp4 debug: dumping root Box "root"
mp4 debug: | + ftyp size 24
mp4 debug: | + mdat size 12048417
mp4 debug: | + free size 51
mp4 debug: | + moov size 37843
mp4 debug: | | + mvhd size 108
mp4 debug: | | + iods size 21
mp4 debug: | | + trak size 37706
mp4 debug: | | | + tkhd size 92
mp4 debug: | | | + mdia size 37606
mp4 debug: | | | | + mdhd size 32
mp4 debug: | | | | + hdlr size 55
mp4 debug: | | | | + minf size 37511
mp4 debug: | | | | | + vmhd size 20
mp4 debug: | | | | | + dinf size 36
mp4 debug: | | | | | | + dref size 28
mp4 debug: | | | | | | | + url size 12
mp4 debug: | | | | | + stbl size 37447
mp4 debug: | | | | | | + stsd size 175
mp4 debug: | | | | | | | + avc1 size 159
mp4 debug: | | | | | | | | + avcC size 53
mp4 debug: | | | | | | | | + btrt size 20
mp4 debug: | | | | | | + stts size 24
mp4 debug: | | | | | | + ctts size 23888
mp4 debug: | | | | | | + stss size 76
mp4 debug: | | | | | | + stsc size 40
mp4 debug: | | | | | | + stsz size 12020
mp4 debug: | | | | | | + stco size 1216
mp4 debug: unrecognized major file specification (avc1).
mp4 debug: find 1 tracks
mp4 debug: track[Id 0x1] read 300 chunk
mp4 warning: CTTS table
mp4 debug: track[Id 0x1] read 3000 samples length:120s
main debug: selecting program id=0
mp4 debug: adding track[Id 0x1] video (enable) language undef
main debug: using demux2 module "mp4"
mp4 warning: DEMUX_GET_FPS unimplemented !!
main debug: looking for a subtitle file in E:\
main debug: looking for packetizer module: 17 candidates
packetizer_h264 debug: found NAL_SPS
packetizer_h264 debug: found NAL_PPS
packetizer_h264 debug: avcC length size=4 sps=1 pps=1
main debug: using packetizer module "packetizer_h264"
main debug: stream out mode -> no decoder thread
main debug: starting in synch mode
main debug: `E:\MotoGP-800.mp4' successfully opened
mp4 debug: track[Id 0x1] using Sync Sample Box (stss)
mp4 debug: stts gives 0 --> 0 (sample number)
main debug: adding a new input
stream_out_duplicate debug: duplicated a new stream codec=h264 (es=0 group=0)
main debug: looking for decoder module: 26 candidates
ffmpeg debug: libavcodec already initialized
ffmpeg debug: postprocessing disabled
ffmpeg debug: ffmpeg codec (h264) started
main debug: using decoder module "ffmpeg"
main debug: thread 4684 (decoder) created at priority 0 (input/decoder.c:159)
stream_out_duplicate debug: - added for output 0
main debug: adding a new input
mux_ts debug: adding input codec=h264 pid=68
mux_ts debug: new PCR PID is 68
stream_out_duplicate debug: - added for output 1
main warning: late buffer for mux input (3746)
mux_ts debug: adjusting rate at 0/340077 (50/0)
main debug: no usable vout present, spawning one
main debug: new aspect-ratio 16:9, sample aspect-ratio 64:45
main debug: window size: 1024x576
main debug: cropping picture 720x576 to 0,0,720x576
main debug: window size: 1024x576
main debug: looking for video output module: 5 candidates
vout_directx debug: creating DirectXEventThread
main debug: waiting for thread completion
vout_directx debug: DirectXCreateWindow
main debug: Registering subpicture channel, ID: 2
main debug: Registering subpicture channel, ID: 3
main debug: Registering subpicture channel, ID: 4
main debug: Registering subpicture channel, ID: 5
vout_directx debug: Created video sub-window
main debug: thread 4828 (DirectX Events Thread) created at priority 0 (directx.c:263)
vout_directx debug: DirectXEventThread running
vout_directx debug: DirectXInitDDraw
vout_directx debug: directx-device:
vout_directx debug: DirectXEnumCallback: Primary Display Driver, display
vout_directx debug: DirectXEnumCallback: ATI MOBILITY RADEON 9600 PRO TURBO, \\.\DISPLAY1
vout_directx debug: selecting ATI MOBILITY RADEON 9600 PRO TURBO, \\.\DISPLAY1
vout_directx debug: DirectXEnumCallback: ATI MOBILITY RADEON 9600 PRO TURBO, \\.\DISPLAY2
vout_directx debug: screen dimensions (0x0,1600x1200)
vout_directx debug: DirectDraw Capabilities: overlay=1 yuvoverlay=1 can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1
vout_directx debug: End DirectXInitDDraw
vout_directx debug: DirectXCreateDisplay
vout_directx debug: DirectXCreateClipper
vout_directx debug: disabling screen saver
main debug: using video output module "vout_directx"
vout_directx debug: NewPictureVec overlay:yes chroma:YV12
vout_directx debug: YUV overlay created successfully
vout_directx debug: End NewPictureVec (succeeded)
main debug: got 1 direct buffer(s)
main debug: picture in 720x576 (0,0,720x576), chroma I420, ar 16:9, sar 64:45
main debug: picture user 720x576 (0,0,720x576), chroma I420, ar 16:9, sar 64:45
main debug: picture out 720x576 (0,0,720x576), chroma I420, ar 16:9, sar 64:45
main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
main debug: waiting for thread completion
main debug: thread 4876 (video output) created at priority 1 (video_output/video_output.c:421)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
ffmpeg debug: concealing 0 DC, 0 AC, 0 MV errors
(h264@0123F8F0)
main debug: control type=0
main debug: control: stopping input
main debug: closing input
mp4 debug: freeing all memory
main debug: removing module "mp4"
main debug: removing module "access_file"
main debug: removing module "packetizer_h264"
main debug: killing decoder fourcc `avc1', 0 PES in FIFO
main debug: removing an input
ffmpeg debug: ffmpeg codec (h264) stopped
main debug: removing module "ffmpeg"
main debug: thread times: real 0m2.323340s, kernel 0m0.010014s, user 0m0.650936s
main debug: thread 4684 joined (input/decoder.c:191)
main debug: killing decoder fourcc `h264', 3 PES in FIFO
mux_ts debug: removing input pid=68
mux_ts debug: new PCR PID is 8191
main warning: no more input stream for this mux
main debug: destroying sout
main debug: destroying chain... (name=duplicate)
stream_out_duplicate debug: closing a duplication
main debug: destroying chain... (name=display)
main debug: removing module "stream_out_display"
main debug: destroying chain done
main debug: destroying chain... (name=std)
main debug: removing module "mux_ts"
main debug: thread times: real 0m2.363398s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 4124 joined (udp.c:316)
access_output_udp debug: udp access output closed
main debug: removing module "access_output_udp"
main debug: removing module "stream_out_standard"
main debug: destroying chain done
main debug: removing module "stream_out_duplicate"
main debug: destroying chain done
main debug: thread times: real 0m2.403456s, kernel 0m0.060086s, user 0m0.010014s
main debug: thread 4436 joined (input/input.c:402)
main debug: garbage collector destroying 1 vout
vout_directx debug: DirectXCloseSurface
vout_directx debug: DirectXCloseDisplay
vout_directx debug: DirectXCloseDisplay clipper
vout_directx debug: DirectXCloseDisplay display
vout_directx debug: DirectXCloseDDraw
vout_directx debug: CloseVideo
vout_directx debug: DirectXEventThread terminating
vout_directx debug: DirectXCloseWindow
vout_directx debug: WinProc WM_DESTROY
main debug: thread times: real 0m2.553672s, kernel 0m0.010014s, user 0m0.000000s
main debug: thread 4828 joined (directx.c:494)
main debug: removing module "vout_directx"
main debug: thread times: real 0m2.423484s, kernel 0m0.010014s, user 0m0.010014s
main debug: thread 4876 joined (video_output/video_output.c:461)

h2g2bob
Blank Cone
Blank Cone
Posts: 46
Joined: 02 Oct 2005 13:09
Location: Exeter, UK

The answer is...

Postby h2g2bob » 22 Mar 2006 14:42

No,

See
http://www.videolan.org/streaming/features.html
for the what-streams-as-what list

ellcon123
New Cone
New Cone
Posts: 3
Joined: 16 Mar 2006 02:44

Does vlc stream mp4?

Postby ellcon123 » 22 Mar 2006 22:17

h2gsbob,

I realise it won't stream raw mp4 but shouldn't it work as muxed as ts? I've read many posts stating that they are streaming mp4 video as such so I believe it should work.

Since my original post I've experimented a bit and found that I can stream if I change the x264 profile down to baseline but it still seems variable.

SukAntoine

same for me

Postby SukAntoine » 12 May 2006 21:45

When I set the output stream chain : #display{}
my x264 movies look very jerky. (the same when I try to output towards an mpeg ts). But they look nice otherwise. And streaming is ok for other formats, and some h264 videos (the bad ones are coded with X264).

tracert
New Cone
New Cone
Posts: 9
Joined: 03 Apr 2006 13:53
Contact:

Postby tracert » 02 May 2007 23:03

Hello I have been upgrade VLC 0.8.6 to VLC 0.8.6b, and
I have problem now.
I am use Fedora Core 6, and install and update my vlc using livna.

Now I have bug. I receive TV using DVB card from 40E satellite. There are a lot of MPEG4 TV channels.
And now if I start server VLC side, and client already listening it's multicast group everything is OK.
But if I start VLC client side after server side I CAN'T view pictures only sound,
client side message box tel: "packetizer_h264 warning: waiting for
SPS/PPS", some minutes waiting don't help.

Server side working OK, and do not show me any errors.

my start script is:

#!/bin/bash

/usr/bin/vlc -vvvvv --miface-addr 10.2.0.7 --intf=dummy --color --ttl=1 --ts-es-id-pid --programs=21 \
dvb: --dvb-adapter=3 --dvb-frequency=10981000 --dvb-srate=44951000 --dvb-voltage=13 \
--sout-ts-use-key-frames --sout-standard-access=udp --sout-standard-mux=ts --sout-udp-caching=4000 --sout \
'#duplicate{ dst=std{url=239.192.0.17,sap,name="Test1",group="TV-HDTV"},select="program=21"}' vlc:quit


Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 1 guest