#4825 closed enhancement (invalid)
implement an equivalent for mplayer -dumpstream
Reported by: | Carl Eugen Hoyos | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | ffmpeg |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Users often report that remuxing network (or other) streams fails because of timestamp discontinuities or similar issues while mplayer -dumpstream works fine.
Ideally, FFmpeg would have an equivalent function.
Change History (6)
comment:1 by , 9 years ago
follow-up: 3 comment:2 by , 9 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
I thought that mplayer -dumpstream
has additional possibilities (skip audio or video which works when using it for dvb capture but this is unrelated to the dump logic) but this either never works or only for specific streams (real-netword?), so aviocat
indeed works as expected (although it cannot output to a pipe afaict), is there documentation somewhere? I couldn't find it in the doc directory...
Otoh, I wonder how to read a stream that takes an option? I will open a new ticket if I find a usecase.
I don't think -f data
does anything similar, it reports data files have exactly one stream
here.
follow-up: 4 comment:3 by , 9 years ago
Replying to cehoyos:
Otoh, I wonder how to read a stream that takes an option?
There is a syntax to include protocol options in the protocol scheme name, something like proto,opt,value,,://
, I never remember exactly.
I don't think
-f data
does anything similar, it reportsdata files have exactly one stream
here.
“Complete command line and console output missing.” :-Þ
follow-up: 5 comment:4 by , 9 years ago
Replying to Cigaes:
Replying to cehoyos:
Otoh, I wonder how to read a stream that takes an option?
There is a syntax to include protocol options in the protocol scheme name, something like
proto,opt,value,,://
, I never remember exactly.
Is it documented?
I don't think
-f data
does anything similar, it reportsdata files have exactly one stream
here.
“Complete command line and console output missing.” :-Þ
$ ffmpeg -i rtmp://82.208.148.204:1935/live/tvriasi -map 0 -codec copy -f data out ffmpeg version N-74842-gfb04666 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.7 (SUSE Linux) configuration: --enable-gpl libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 [flv @ 0x379a420] Stream discovered after head already parsed Input #0, flv, from 'rtmp://82.208.148.204:1935/live/tvriasi': Metadata: Server : NGINX RTMP (github.com/arut/nginx-rtmp-module) displayWidth : 720 displayHeight : 576 fps : 0 profile : level : Duration: 00:00:00.00, start: 1185.173000, bitrate: N/A Stream #0:0: Video: h264 (Main), yuv420p(tv, smpte170m/smpte170m/bt709), 720x576 [SAR 12:11 DAR 15:11], 2048 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp [data @ 0x37b8080] data files have exactly one stream Output #0, data, to 'out': Metadata: Server : NGINX RTMP (github.com/arut/nginx-rtmp-module) displayWidth : 720 displayHeight : 576 fps : 0 profile : level : encoder : Lavf56.40.101 Stream #0:0: Video: h264, yuv420p, 720x576 [SAR 12:11 DAR 15:11], q=2-31, 2048 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc Stream #0:1: Audio: aac, 48000 Hz, stereo Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
comment:5 by , 9 years ago
Replying to cehoyos:
Is it documented?
I do not remember, I suspect not.
$ ffmpeg -i rtmp://82.208.148.204:1935/live/tvriasi -map 0 -codec copy -f data out
In order to bypass demuxing, data format must be selected for input too:
ffmpeg -f data -i rtmp://82.208.148.204:1935/live/tvriasi \ -map 0 -codec copy -f data out
I tested it with this server and it works.
I suspect
aviocat
(we should build and install useful tools by default) andffmpeg -f data
can both do the trick. Do you have a precise use case?