#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 , 11 years ago
follow-up: 3 comment:2 by , 11 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 , 11 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 datadoes anything similar, it reportsdata files have exactly one streamhere.
“Complete command line and console output missing.” :-Þ
follow-up: 5 comment:4 by , 11 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 datadoes anything similar, it reportsdata files have exactly one streamhere.
“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 , 11 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 datacan both do the trick. Do you have a precise use case?