Recherche avancée

Médias (10)

Mot : - Tags -/wav

Autres articles (73)

Sur d’autres sites (12891)

  • Using ffmpeg and ffserver to create a 2x1 live stream fails with unconnected output error

    31 janvier 2021, par weevilknievel

    I want to combine 2 RTSP streams (CCTV cameras) into a horizontal 2x1 strip and convert to webm for use in a HTML5 webpage.

    



    I am able to convert the streams into an mpeg or avi file easily, but as soon as I try to post it to ffserver ffm feed, I hit a wall.

    



    Here is my working ffmpeg command which writes out to a file :

    



    ffmpeg -rtsp_transport tcp -thread_queue_size 12 -i "rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=1&stream=1.sdp" -i "rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=2&stream=1.sdp" -filter_complex "[0:v][1:v] hstack=inputs=2 [v]" -map "[v]" -r 30 output.mpg


    



    It seems the ffmpeg process is outputting two streams and one of them is MPEG ? In the above command I had to put a frame rate "-r 30" into the command otherwise I got an error which said that MPEG 1/2 did not support a framerate of 5/1 ??

    



    As soon as I try and stream to ffserver, I get an error :

    



    ffmpeg -rtsp_transport tcp -thread_queue_size 12 -i "rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=1&stream=1.sdp" -i "rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=2&stream=1.sdp" -filter_complex "[0:v][1:v] hstack=inputs=2 [v]" -map "[v]" -r 30 http://localhost:8090/feed5.ffm


    



    The error I get is "Filter hstack has an unconnected output" :

    



    ffmpeg version N-86111-ga441aa90e8-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.1 (Debian 5.4.1-8) 20170304
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
  libavutil      55. 63.100 / 55. 63.100
  libavcodec     57. 96.101 / 57. 96.101
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 89.101 /  6. 89.101
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
Input #0, rtsp, from 'rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=1&stream=1.sdp':
  Duration: N/A, start: 0.166667, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 352x288, 6 fps, 6 tbr, 90k tbn, 180k tbc
Input #1, rtsp, from 'rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=2&stream=1.sdp':
  Duration: N/A, start: 0.166667, bitrate: N/A
    Stream #1:0: Video: h264 (High), yuv420p(progressive), 352x288, 6 fps, 6 tbr, 90k tbn, 180k tbc
Filter hstack has an unconnected output


    



    My ffserver conf is very basic :

    



    HTTPPort 8090&#xA;HTTPBindAddress 0.0.0.0&#xA;MaxHTTPConnections 2000&#xA;MaxClients 1000&#xA;MaxBandwidth 100000&#xA;CustomLog -&#xA;&#xA;<feed>&#xA;File /mnt/ramdisk/feed5.ffm&#xA;Truncate&#xA;FileMaxSize 5M&#xA;ACL allow 127.0.0.1&#xA;</feed>&#xA;&#xA;<stream>&#xA;     Format webm&#xA;     Feed feed5.ffm&#xA;     VideoCodec libvpx&#xA;     VideoSize 640x360&#xA;     NoAudio&#xA;   AVOptionVideo quality realtime&#xA;   StartSendOnKey&#xA;   VideoBitRate 140&#xA;</stream>&#xA;&#xA;<stream>&#xA;Format status&#xA;ACL allow localhost&#xA;ACL allow 192.168.0.0 192.168.255.255&#xA;</stream>&#xA;<redirect>&#xA;URL http://www.ffmpeg.org/&#xA;</redirect>&#xA;

    &#xA;&#xA;

    Edit :

    &#xA;&#xA;

    Here is the debug output from the ffmpeg command above :

    &#xA;&#xA;

    ffmpeg -v debug -rtsp_transport tcp -thread_queue_size 12 -i "rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp" -i "rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp" -filter_complex "[0:v][1:v] hstack=inputs=2 [v]" -map "[v]" -r 30 http://localhost:8090/feed5.ffm&#xA;ffmpeg version N-86111-ga441aa90e8-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers&#xA;  built with gcc 5.4.1 (Debian 5.4.1-8) 20170304&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg&#xA;  libavutil      55. 63.100 / 55. 63.100&#xA;  libavcodec     57. 96.101 / 57. 96.101&#xA;  libavformat    57. 72.101 / 57. 72.101&#xA;  libavdevice    57.  7.100 / 57.  7.100&#xA;  libavfilter     6. 89.101 /  6. 89.101&#xA;  libswscale      4.  7.101 /  4.  7.101&#xA;  libswresample   2.  8.100 /  2.  8.100&#xA;  libpostproc    54.  6.100 / 54.  6.100&#xA;Splitting the commandline.&#xA;Reading option &#x27;-v&#x27; ... matched as option &#x27;v&#x27; (set logging level) with argument &#x27;debug&#x27;.&#xA;Reading option &#x27;-rtsp_transport&#x27; ... matched as AVOption &#x27;rtsp_transport&#x27; with argument &#x27;tcp&#x27;.&#xA;Reading option &#x27;-thread_queue_size&#x27; ... matched as option &#x27;thread_queue_size&#x27; (set the maximum number of queued packets from the demuxer) with argument &#x27;12&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp&#x27;.&#xA;Reading option &#x27;-filter_complex&#x27; ... matched as option &#x27;filter_complex&#x27; (create a complex filtergraph) with argument &#x27;[0:v][1:v] hstack=inputs=2 [v]&#x27;.&#xA;Reading option &#x27;-map&#x27; ... matched as option &#x27;map&#x27; (set input stream mapping) with argument &#x27;[v]&#x27;.&#xA;Reading option &#x27;-r&#x27; ... matched as option &#x27;r&#x27; (set frame rate (Hz value, fraction or abbreviation)) with argument &#x27;30&#x27;.&#xA;Reading option &#x27;http://localhost:8090/feed5.ffm&#x27; ... matched as output url.&#xA;Finished splitting the commandline.&#xA;Parsing a group of options: global .&#xA;Applying option v (set logging level) with argument debug.&#xA;Applying option filter_complex (create a complex filtergraph) with argument [0:v][1:v] hstack=inputs=2 [v].&#xA;Successfully parsed a group of options.&#xA;Parsing a group of options: input url rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp.&#xA;Applying option thread_queue_size (set the maximum number of queued packets from the demuxer) with argument 12.&#xA;Successfully parsed a group of options.&#xA;Opening an input file: rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp.&#xA;[tcp @ 0x58fb5e0] No default whitelist set&#xA;[rtsp @ 0x58f9700] SDP:&#xA;v=0&#xA;o=- 38990265062388 38990265062388 IN IP4 192.168.1.132&#xA;a=range:npt=0-&#xA;m=video 0 RTP/AVP 96&#xA;c=IN IP4 0.0.0.0&#xA;a=rtpmap:96 H264/90000&#xA;a=framerate:0S&#xA;a=fmtp:96 profile-level-id=640014; packetization-mode=1; sprop-parameter-sets=Z2QAFK2EAQwgCGEAQwgCGEAQwgCEK1CwSyA=,aO48sA==&#xA;a=control:trackID=3&#xA;&#xA;Failed to parse interval end specification &#x27;&#x27;&#xA;[rtsp @ 0x58f9700] video codec set to: h264&#xA;[rtsp @ 0x58f9700] RTP Profile IDC: 64 Profile IOP: 0 Level: 14&#xA;[rtsp @ 0x58f9700] RTP Packetization Mode: 1&#xA;[rtsp @ 0x58f9700] Extradata set to 0x58fb940 (size: 38)&#xA;[rtsp @ 0x58f9700] setting jitter buffer size to 0&#xA;[rtsp @ 0x58f9700] hello state=0&#xA;[h264 @ 0x58fca00] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] unknown SEI type 229&#xA;[h264 @ 0x58fca00] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 6, nal_ref_idc: 0&#xA;[h264 @ 0x58fca00] nal_unit_type: 5, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] unknown SEI type 229&#xA;[h264 @ 0x58fca00] Reinit context to 352x288, pix_fmt: yuv420p&#xA;[h264 @ 0x58fca00] nal_unit_type: 1, nal_ref_idc: 3&#xA;    Last message repeated 5 times&#xA;[h264 @ 0x58fca00] unknown SEI type 229&#xA;    Last message repeated 1 times&#xA;[rtsp @ 0x58f9700] All info found&#xA;[rtsp @ 0x58f9700] Setting avg frame rate based on r frame rate&#xA;Input #0, rtsp, from &#x27;rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp&#x27;:&#xA;  Duration: N/A, start: 0.166667, bitrate: N/A&#xA;    Stream #0:0, 28, 1/90000: Video: h264 (High), 1 reference frame, yuv420p(progressive, left), 352x288, 0/1, 6 fps, 6 tbr, 90k tbn, 180k tbc&#xA;Successfully opened the file.&#xA;Parsing a group of options: input url rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp.&#xA;Successfully parsed a group of options.&#xA;Opening an input file: rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp.&#xA;[tcp @ 0x59f4280] No default whitelist set&#xA;[rtsp @ 0x59f7620] SDP:&#xA;v=0&#xA;o=- 38990265062388 38990265062388 IN IP4 192.168.1.132&#xA;a=range:npt=0-&#xA;m=video 0 RTP/AVP 96&#xA;c=IN IP4 0.0.0.0&#xA;a=rtpmap:96 H264/90000&#xA;a=framerate:0S&#xA;a=fmtp:96 profile-level-id=640014; packetization-mode=1; sprop-parameter-sets=Z2QAFK2EAQwgCGEAQwgCGEAQwgCEK1CwSyA=,aO48sA==&#xA;a=control:trackID=3&#xA;&#xA;Failed to parse interval end specification &#x27;&#x27;&#xA;[rtsp @ 0x59f7620] video codec set to: h264&#xA;[rtsp @ 0x59f7620] RTP Profile IDC: 64 Profile IOP: 0 Level: 14&#xA;[rtsp @ 0x59f7620] RTP Packetization Mode: 1&#xA;[rtsp @ 0x59f7620] Extradata set to 0x59f3670 (size: 38)&#xA;[rtp @ 0x59f62a0] No default whitelist set&#xA;[udp @ 0x58fb6a0] No default whitelist set&#xA;[udp @ 0x58fb6a0] end receive buffer size reported is 131072&#xA;[udp @ 0x591b940] No default whitelist set&#xA;[udp @ 0x591b940] end receive buffer size reported is 131072&#xA;[rtsp @ 0x59f7620] setting jitter buffer size to 500&#xA;[rtsp @ 0x59f7620] hello state=0&#xA;[h264 @ 0x59e4b20] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] unknown SEI type 229&#xA;[h264 @ 0x59e4b20] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 6, nal_ref_idc: 0&#xA;[h264 @ 0x59e4b20] nal_unit_type: 5, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] unknown SEI type 229&#xA;[h264 @ 0x59e4b20] Reinit context to 352x288, pix_fmt: yuv420p&#xA;[h264 @ 0x59e4b20] nal_unit_type: 1, nal_ref_idc: 3&#xA;    Last message repeated 5 times&#xA;[h264 @ 0x59e4b20] unknown SEI type 229&#xA;    Last message repeated 1 times&#xA;[rtsp @ 0x59f7620] All info found&#xA;[rtsp @ 0x59f7620] Setting avg frame rate based on r frame rate&#xA;Input #1, rtsp, from &#x27;rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp&#x27;:&#xA;  Duration: N/A, start: 0.166667, bitrate: N/A&#xA;    Stream #1:0, 28, 1/90000: Video: h264 (High), 1 reference frame, yuv420p(progressive, left), 352x288, 0/1, 6 fps, 6 tbr, 90k tbn, 180k tbc&#xA;Successfully opened the file.&#xA;detected 2 logical cores&#xA;[Parsed_hstack_0 @ 0x59f7cc0] Setting &#x27;inputs&#x27; to value &#x27;2&#x27;&#xA;Parsing a group of options: output url http://localhost:8090/feed5.ffm.&#xA;Applying option map (set input stream mapping) with argument [v].&#xA;Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 30.&#xA;Successfully parsed a group of options.&#xA;Opening an output file: http://localhost:8090/feed5.ffm.&#xA;[http @ 0x59aa700] Setting default whitelist &#x27;http,https,tls,rtp,tcp,udp,crypto,httpproxy&#x27;&#xA;[http @ 0x59aa700] request: GET /feed5.ffm HTTP/1.1&#xA;User-Agent: Lavf/57.72.101&#xA;Accept: */*&#xA;Range: bytes=0-&#xA;Connection: close&#xA;Host: localhost:8090&#xA;Icy-MetaData: 1&#xA;&#xA;&#xA;[ffm @ 0x5917d00] Format ffm probed with size=2048 and score=101&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;video_size&#x27; to value &#x27;640x360&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;b&#x27; to value &#x27;140000&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;time_base&#x27; to value &#x27;1/5&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;bt&#x27; to value &#x27;35000&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;rc_eq&#x27; to value &#x27;tex^qComp&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;maxrate&#x27; to value &#x27;280000&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;bufsize&#x27; to value &#x27;280000&#x27;&#xA;[AVIOContext @ 0x5915b80] Statistics: 4096 bytes read, 0 seeks&#xA;[http @ 0x5915f00] Setting default whitelist &#x27;http,https,tls,rtp,tcp,udp,crypto,httpproxy&#x27;&#xA;[http @ 0x5915f00] request: POST /feed5.ffm HTTP/1.1&#xA;Transfer-Encoding: chunked&#xA;User-Agent: Lavf/57.72.101&#xA;Accept: */*&#xA;Connection: close&#xA;Host: localhost:8090&#xA;Icy-MetaData: 1&#xA;&#xA;&#xA;Successfully opened the file.&#xA;Filter hstack has an unconnected output&#xA;[AVIOContext @ 0x59ab080] Statistics: 0 seeks, 0 writeouts&#xA;

    &#xA;&#xA;

    I am stumped - any clues ?

    &#xA;&#xA;

    Thanks in advance.

    &#xA;

  • Adding some kind of subtitle to an mp4 with ffmpeg

    23 juin 2017, par Steven Van Ingelgem

    I have a subtitle (it certainly looks like it), but I don’t know how to add it into an MP4 I’m creating.
    First a hexdump of the subtitle :

    00000000  00 00 00 18 66 74 79 70  69 73 6f 36 00 00 00 00  |....ftypiso6....|
    00000010  69 73 6f 36 64 61 73 68  00 00 00 28 66 72 65 65  |iso6dash...(free|
    00000020  55 53 50 20 62 79 20 43  6f 64 65 53 68 6f 70 11  |USP by CodeShop.|
    00000030  11 11 11 11 11 11 11 11  11 11 11 11 11 11 11 11  |................|
    00000040  00 00 02 1d 6d 6f 6f 76  00 00 00 6c 6d 76 68 64  |....moov...lmvhd|
    00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 01  |................|
    00000060  00 00 00 00 00 01 00 00  01 00 00 00 00 00 00 00  |................|
    00000070  00 00 00 00 00 01 00 00  00 00 00 00 00 00 00 00  |................|
    *
    00000090  00 00 00 00 40 00 00 00  00 00 00 00 00 00 00 00  |....@...........|
    000000a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    000000b0  00 00 00 02 00 00 01 81  74 72 61 6b 00 00 00 5c  |........trak...\|
    000000c0  74 6b 68 64 00 00 00 07  00 00 00 00 00 00 00 00  |tkhd............|
    000000d0  00 00 00 01 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 01 00 00  |................|
    *
    00000100  00 00 00 00 00 00 00 00  00 00 00 00 40 00 00 00  |............@...|
    00000110  00 00 00 00 00 00 00 00  00 00 01 1d 6d 64 69 61  |............mdia|
    00000120  00 00 00 20 6d 64 68 64  00 00 00 00 00 00 00 00  |... mdhd........|
    00000130  00 00 00 00 00 00 03 e8  00 00 00 00 39 84 00 00  |............9...|
    00000140  00 00 00 35 68 64 6c 72  00 00 00 00 00 00 00 00  |...5hdlr........|
    00000150  73 75 62 74 00 00 00 00  00 00 00 00 00 00 00 00  |subt............|
    00000160  55 53 50 20 53 75 62 74  69 74 6c 65 20 48 61 6e  |USP Subtitle Han|
    00000170  64 6c 65 72 00 00 00 00  c0 6d 69 6e 66 00 00 00  |dler.....minf...|
    00000180  0c 73 74 68 64 00 00 00  00 00 00 00 24 64 69 6e  |.sthd.......$din|
    00000190  66 00 00 00 1c 64 72 65  66 00 00 00 00 00 00 00  |f....dref.......|
    000001a0  01 00 00 00 0c 75 72 6c  20 00 00 00 01 00 00 00  |.....url .......|
    000001b0  88 73 74 62 6c 00 00 00  3c 73 74 73 64 00 00 00  |.stbl.../www.|
    000001e0  77 33 2e 6f 72 67 2f 6e  73 2f 74 74 6d 6c 00 00  |w3.org/ns/ttml..|
    000001f0  00 00 00 00 10 73 74 74  73 00 00 00 00 00 00 00  |.....stts.......|
    00000200  00 00 00 00 10 73 74 73  63 00 00 00 00 00 00 00  |.....stsc.......|
    00000210  00 00 00 00 14 73 74 73  7a 00 00 00 00 00 00 00  |.....stsz.......|
    00000220  00 00 00 00 00 00 00 00  10 73 74 63 6f 00 00 00  |.........stco...|
    00000230  00 00 00 00 00 00 00 00  28 6d 76 65 78 00 00 00  |........(mvex...|
    00000240  20 74 72 65 78 00 00 00  00 00 00 00 01 00 00 00  | trex...........|
    00000250  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00000260  18 73 74 79 70 69 73 6f  36 00 00 00 00 69 73 6f  |.stypiso6....iso|
    00000270  36 6d 73 64 68 00 00 00  28 66 72 65 65 55 53 50  |6msdh...(freeUSP|
    00000280  20 62 79 20 43 6f 64 65  53 68 6f 70 11 11 11 11  | by CodeShop....|
    00000290  11 11 11 11 11 11 11 11  11 11 11 11 11 00 00 00  |................|
    000002a0  2c 73 69 64 78 00 00 00  00 00 00 00 01 00 00 03  |,sidx...........|
    000002b0  e8 00 00 00 00 00 00 00  00 00 00 00 01 00 00 0f  |................|
    000002c0  09 00 00 ea 60 90 00 00  00 00 00 00 68 6d 6f 6f  |....`.......hmoo|
    000002d0  66 00 00 00 10 6d 66 68  64 00 00 00 00 00 00 00  |f....mfhd.......|
    000002e0  01 00 00 00 50 74 72 61  66 00 00 00 14 74 66 68  |....Ptraf....tfh|
    000002f0  64 00 02 00 02 00 00 00  01 00 00 00 01 00 00 00  |d...............|
    00000300  14 74 66 64 74 01 00 00  00 00 00 00 00 00 00 00  |.tfdt...........|
    00000310  00 00 00 00 20 74 72 75  6e 00 00 07 01 00 00 00  |.... trun.......|
    00000320  01 00 00 00 70 00 00 ea  60 00 00 0e 99 02 80 00  |....p...`.......|
    00000330  40 00 00 0e a1 6d 64 61  74 3c 3f 78 6d 6c 20 76  |@....mdat&lt;?xml v|
    00000340  65 72 73 69 6f 6e 3d 22  31 2e 30 22 20 65 6e 63  |ersion="1.0" enc|
    00000350  6f 64 69 6e 67 3d 22 75  74 66 2d 38 22 3f 3e 3c  |oding="utf-8"?>&lt;|
    00000360  74 74 20 78 6d 6c 6e 73  3d 22 68 74 74 70 3a 2f  |tt xmlns="http:/|
    00000370  2f 77 77 77 2e 77 33 2e  6f 72 67 2f 6e 73 2f 74  |/www.w3.org/ns/t|
    00000380  74 6d 6c 22 20 78 6d 6c  6e 73 3a 73 6d 70 74 65  |tml" xmlns:smpte|
    00000390  3d 22 68 74 74 70 3a 2f  2f 77 77 77 2e 73 6d 70  |="http://www.smp|
    000003a0  74 65 2d 72 61 2e 6f 72  67 2f 73 63 68 65 6d 61  |te-ra.org/schema|
    000003b0  73 2f 32 30 35 32 2d 31  2f 32 30 31 30 2f 73 6d  |s/2052-1/2010/sm|

    I honestly have never seen anything like this before...

    So the command I’m running now is this :

    ffmpeg -y -i ’audionld#24000.mp4’ -i ’audionld#48000.mp4’ -i
    ’textnld.mp4’ -i ’video.mp4’ -map 0:a -map 1:a -map 2:d -map 3:v
    -metadata:s:a:0 language=nld -metadata:s:a:1 language=nld -acodec copy -bsf:a aac_adtstoasc -vcodec copy -c:d copy -movflags faststart "test.mp4" 2>&1

    Which results in this output :

    ffmpeg version 3.2.5-1~bpo8+1 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 4.9.2 (Debian 4.9.2-10)
     configuration: --prefix=/usr --extra-version='1~bpo8+1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --disable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
     libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'audionld#24000.mp4':
     Metadata:
       major_brand     : iso6
       minor_version   : 0
       compatible_brands: iso6dash
     Duration: 00:03:06.07, start: 0.000000, bitrate: 64 kb/s
       Stream #0:0(nld): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 62 kb/s (default)
       Metadata:
         handler_name    : USP Sound Handler
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'audionld#48000.mp4':
     Metadata:
       major_brand     : iso6
       minor_version   : 0
       compatible_brands: iso6dash
     Duration: 00:03:06.07, start: 0.000000, bitrate: 95 kb/s
       Stream #1:0(nld): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 93 kb/s (default)
       Metadata:
         handler_name    : USP Sound Handler
    Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'textnld.mp4':
     Metadata:
       major_brand     : iso6
       minor_version   : 0
       compatible_brands: iso6dash
     Duration: 00:03:05.76, bitrate: 0 kb/s
       Stream #2:0(nld): Data: none (stpp / 0x70707473), 0 kb/s (default)
       Metadata:
         handler_name    : USP Subtitle Handler
    Input #3, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
     Metadata:
       major_brand     : iso6
       minor_version   : 0
       compatible_brands: iso6dash
     Duration: 00:03:06.08, start: 0.000000, bitrate: 152 kb/s
       Stream #3:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 416x234 [SAR 1:1 DAR 16:9], 144 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)
       Metadata:
         handler_name    : USP Video Handler
         encoder         : Elemental H.264
    [mp4 @ 0x7f15299c4520] Could not find tag for codec none in stream #2, codec not currently supported in container
    Could not write header for output file #0 (incorrect codec parameters ?): Invalid argumentStream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #1:0 -> #0:1 (copy)
     Stream #2:0 -> #0:2 (copy)
     Stream #3:0 -> #0:3 (copy)
       Last message repeated 1 times

    This gives the error :
    Could not find tag for codec none in stream #2, codec not currently supported in container
    Could not write header for output file #0 (incorrect codec parameters ?) : Invalid argument

    So I tried playing with the map like this :

    -map 2:s
    ==> Gives me :
    Stream map ’2:s’ matches no streams.
    To ignore this, add a trailing ’ ?’ to the map.

    -map 2:s ?
    ==> Gives me no error, but the subtitle stream isn’t added into the final file.

    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #1:0 -> #0:1 (copy)
     Stream #3:0 -> #0:2 (copy)

    Maybe I first have to convert the subtitle into srt or such, but for that I don’t find on google what type of file this is.

    Any help would be greatly appreciated !

    Thanks

    ---EDIT---

    Hereby the code that I am using to convert this in PHP :

     private function convert_TTML_subtitle_file($orig) {
       if ( $orig == '' || !file_exists($orig) ) {
         return false;
       }

       $f = file_get_contents($orig);
       $pos = stripos($f, '<tt xmlns="http://www.w3.org/ns/ttml" if="if" false="false" return="return" while="while">body->div->p as $p ) {
             $txt .= "{$counter}\r\n";
             $counter++;
             $txt .= $p['begin'] . ' --> ' . $p['end'] . "\r\n";
             $txt .= $p->span . "\r\n\r\n";
           }
         }
         $cur += $curSize;
       }

       $fname = tempnam(getcwd(), 'sub');
       file_put_contents($fname, $txt);
       return $fname;
     }
    </tt>
  • Can ffmpeg copy parts from an rmvb file without re-encoding ?

    24 juin 2017, par Eng. M.Hamdy

    I want to fast copy parts from an rmvb file without re-encoding. This command works fine with mp4 files but not with rmbv (I dropped start time and duration here) :

    ffmpeg -i input -c copy output

    when I use it with rmvb like this :

    ffmpeg -i 1.rmvb -c copy 1.mp4

    I get this error :

    [mp4 @ 00bb8980] Could not find tag for codec rv40 in stream #0, codec
    not curre ntly supported in container Could not write header for
    output file #0 (incorrect codec parameters ?) : Invali d argument
    Stream mapping : Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1
    (copy)

    I also tried this :

    ffmpeg -i 1.rmvb -c copy 2.rmvb

    and got this error :

    [NULL @ 04748980] Unable to find a suitable output format for ’2.rmvb’
    2.rmvb : Invalid argument

    I tried this command :

    ffmpeg -i 1.rmvb -c:v copy -c:a aac -strict experimental -b:a 128k 1.mp4

    and got this error :

    [mp4 @ 046e0020] Could not find tag for codec rv40 in stream #0, codec
    not curre ntly supported in container Could not write header for
    output file #0 (incorrect codec parameters ?) : Invali d argument Error
    initializing output stream 0:1 — [aac @ 046e1bc0] Qavg : nan
    Conversion failed !

    I read this topic :
    but the solution does not work for me.. After many trials, this is the command that worked (and took too long time) :

    ffmpeg -i 1.rmvb -c:v libx264 -b:a 32k output.mp4

    But I do not want to re-encode the file. Any solution ?

    Edit :
    I tried :

    ffmpeg -i 1.rmvb -c copy 1.mkv

    ffmpeg version N-86447-gfeb13ae Copyright (c) 2000-2017 the FFmpeg
    developers built with gcc 7.1.0 (GCC) configuration : —enable-gpl
    —enable-version3 —enable-cuda —enable-cuvid —e nable-d3d11va —enable-dxva2 —enable-libmfx —enable-nvenc —enable-avisynth — enable-bzlib —enable-fontconfig —enable-frei0r —enable-gnutls
    —enable-iconv
    —enable-libass —enable-libbluray —enable-libbs2b —enable-libcaca —enable-li bfreetype —enable-libgme —enable-libgsm —enable-libilbc —enable-libmodplug -
    -enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enabl e-libopenh264 —enable-libopenjpeg —enable-libopus —enable-librtmp —enable-li bsnappy —enable-libsoxr —enable-libspeex —enable-libtheora —enable-libtwolam e —enable-libvidstab —enable-libvo-amrwbenc —enable-libvorbis —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx264 —enable-libx265 —enable
    -libxavs —enable-libxvid —enable-libzimg —enable-lzma —enable-zlib libavutil 55. 63.100 / 55. 63.100 libavcodec 57. 98.100 /
    57. 98.100 libavformat 57. 73.100 / 57. 73.100 libavdevice 57. 7.100 / 57. 7.100 libavfilter 6. 92.100 / 6. 92.100 libswscale 4. 7.101 / 4. 7.101 libswresample 2. 8.100 /
    2. 8.100 libpostproc 54. 6.100 / 54. 6.100 [rm @ 033a7520] Invalid stream index 2 for index at pos 206099254 Input #0, rm, from
    ’1.rmvb’ : Metadata :
    title : ArabSeed.CoM
    author : ArabSeed.CoM
    copyright : ArabSeed.CoM
    comment :
    ASMRuleBook : #($Bandwidth >= 0),Stream0Bandwidth = 64082, Stream1Bandwi dth = 285918 ;
    Audiences : Easy RealMedia Tool’s Audience ;
    audioMode : music
    Creation Date : 4/22/2010 4:31:14
    Description : This File is Created by Easy RealMedia Tools@ !
    Email : rick@redcheek.net
    Generated By : Easy RealMedia Tools V1.8x
    HomeWeb : http://redcheek.net
    Keywords : ArabSeed.CoM
    Modification Date : 4/22/2010 4:31:14
    videoMode : normal Duration : 01:16:35.69, start : 0.000000, bitrate : 358 kb/s
    Stream #0:0 : Audio : cook (cook / 0x6B6F6F63), 44100 Hz, stereo, fltp, 64 kb/ s
    Stream #0:1 : Video : rv40 (RV40 / 0x30345652), yuv420p, 720x408, 280 kb/s, 25 fps, 25 tbr, 1k tbn, 1k tbc Output #0, matroska, to
    ’1.mkv’ : Metadata :
    title : ArabSeed.CoM
    author : ArabSeed.CoM
    copyright : ArabSeed.CoM
    comment :
    ASMRuleBook : #($Bandwidth >= 0),Stream0Bandwidth = 64082, Stream1Bandwi dth = 285918 ;
    Audiences : Easy RealMedia Tool’s Audience ;
    audioMode : music
    Creation Date : 4/22/2010 4:31:14
    Description : This File is Created by Easy RealMedia Tools@ !
    Email : rick@redcheek.net
    Generated By : Easy RealMedia Tools V1.8x
    HomeWeb : http://redcheek.net
    Keywords : ArabSeed.CoM
    Modification Date : 4/22/2010 4:31:14
    videoMode : normal
    encoder : Lavf57.73.100
    Stream #0:0 : Video : rv40 (RV40 / 0x30345652), yuv420p, 720x408, q=2-31, 280 kb/s, 25 fps, 25 tbr, 1k tbn, 1k tbc
    Stream #0:1 : Audio : cook ([255][255][255][255] / 0xFFFFFFFF), 44100 Hz, ster eo, fltp, 64 kb/s Stream mapping : Stream #0:1 -> #0:0
    (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help
    [matroska @ 05228980] The Matroska muxer does not yet support muxing
    cook av_interleaved_write_frame() : Not yet implemented in FFmpeg,
    patches welcome Error writing trailer of 1.mkv : Not yet implemented in
    FFmpeg, patches welcome frame= 21 fps=0.0 q=-1.0 Lsize= 0kB
    time=00:00:01.48 bitrate= 0.0kbits /s speed= 148x video:2kB
    audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing ove
    rhead : unknown Conversion failed !

    I also tried :

    ffmpeg -i 1.rmvb -c copy 1.avi

    ffmpeg version N-86447-gfeb13ae Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 7.1.0 (GCC)
     configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --e
    nable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --
    enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv
    --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-li
    bfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug -
    -enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enabl
    e-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-li
    bsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolam
    e --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
    --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable
    -libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
     libavutil      55. 63.100 / 55. 63.100
     libavcodec     57. 98.100 / 57. 98.100
     libavformat    57. 73.100 / 57. 73.100
     libavdevice    57.  7.100 / 57.  7.100
     libavfilter     6. 92.100 /  6. 92.100
     libswscale      4.  7.101 /  4.  7.101
     libswresample   2.  8.100 /  2.  8.100
     libpostproc    54.  6.100 / 54.  6.100
    [rm @ 00077520] Invalid stream index 2 for index at pos 206099254
    Input #0, rm, from '1.rmvb':
     Metadata:
       title           : ArabSeed.CoM
       author          : ArabSeed.CoM
       copyright       : ArabSeed.CoM
       comment         :
       ASMRuleBook     : #($Bandwidth >= 0),Stream0Bandwidth = 64082, Stream1Bandwi
    dth = 285918;
       Audiences       : Easy RealMedia Tool's Audience;
       audioMode       : music
       Creation Date   : 4/22/2010 4:31:14
       Description     : This File is Created by Easy RealMedia Tools@!
       Email           : rick@redcheek.net
       Generated By    : Easy RealMedia Tools V1.8x
       HomeWeb         : http://redcheek.net
       Keywords        : ArabSeed.CoM
       Modification Date: 4/22/2010 4:31:14
       videoMode       : normal
     Duration: 01:16:35.69, start: 0.000000, bitrate: 358 kb/s
       Stream #0:0: Audio: cook (cook / 0x6B6F6F63), 44100 Hz, stereo, fltp, 64 kb/
    s
       Stream #0:1: Video: rv40 (RV40 / 0x30345652), yuv420p, 720x408, 280 kb/s, 25
    fps, 25 tbr, 1k tbn, 1k tbc
    Could not write header for output file #0 (incorrect codec parameters ?): Operat
    ion not permitted
    Stream mapping:
     Stream #0:1 -> #0:0 (copy)
     Stream #0:0 -> #0:1 (copy)
       Last message repeated 1 times